首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Facebook App Login:如何控制我得到的图片URL的过期日期?

Facebook App Login:如何控制我得到的图片URL的过期日期?
EN

Stack Overflow用户
提问于 2016-01-04 02:37:32
回答 1查看 35.2K关注 0票数 22

我正在开发一个应用程序,它使用facebook登录。登录后,用户必须设置额外的信息和个人资料图片,该图片是从该登录的facebook帐户提供的。现在,整个帐户详细信息,包括该个人资料图片的URL,都保存在我的数据库中。

令我惊讶的是,头像突然停止工作。在浏览器中打开它的URL,我会看到这样一条消息:"URL签名过期“

https://scontent.xx.fbcdn.net/hphotos-xpa1/v/t1.0-9/p720x720/10846350_10204966809307370_2779189783437306470_n.jpg?oh=245bbada6c23f280a1e531e724be85ed&oe=56894D69

下载这些照片并将它们保存到我自己的服务器上对我来说并不是一个真正的选择。我能做些什么来使这个URL持久吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-01-04 23:00:08

是的,Facebook的CDN URL可能会过期-您不应该存储它们以供长期使用。

但是您可以请求任何用户的头像(只要您有他们的全局/应用程序范围的用户id),只需参考

代码语言:javascript
运行
复制
https://graph.facebook.com/4/picture // Mark Zuckerberg’s profile pic

-该URL会重定向到镜像的当前CDN URL。

这个图像相当小,50px x 50px -你可以使用https://graph.facebook.com/4/picture?type=large来请求一个更大的版本。这将为您提供200px x 200px的个人资料图像(如果用户没有上传正方形图像,则接近该大小)。

请注意,某些图片需要访问令牌才能检索。例如,除非您像这样添加访问令牌,否则https://graph.facebook.com/72256131540/picture将返回问号的通用图像:

代码语言:javascript
运行
复制
https://graph.facebook.com/72256131540/picture?access_token=<ACCESS_TOKEN>

更新:

如果你是通过应用程序范围的用户ID请求个人资料图片,这应该仍然没有问题。如果你是通过旧的全局用户id或页面范围的用户ID请求它,那么你现在必须包括一个访问令牌- https://developers.facebook.com/docs/graph-api/reference/user/picture#requirements有详细信息。

(应用程序或页面访问令牌不应该在公共客户端代码中公开,因此在使用这些令牌时,应该只在服务器端发出请求。)

票数 54
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34580136

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档