gpt4 book ai didi

Facebook 应用程序登录 : How to control expiration date of an image URL I got?

转载 作者:行者123 更新时间:2023-11-30 05:14:49 25 4
gpt4 key购买 nike

我正在开发一个使用 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 持久化吗?

最佳答案

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

但是你可以请求任何用户的个人资料图片(只要你有他们的全局/应用范围的用户 ID),只需引用

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 请求更大的版本。这将为您提供 200 像素 x 200 像素的个人资料图片(如果用户没有上传方形图片,则接近该尺寸。)

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

https://graph.facebook.com/72256131540/picture?access_token=<ACCESS_TOKEN>

更新:

如果您通过应用范围的用户 ID 请求个人资料图片,这应该仍然可以正常工作而不会出现问题。如果您通过旧的全局用户 ID 或页面范围的用户 ID 请求它,那么您现在必须包含一个访问 token - https://developers.facebook.com/docs/graph-api/reference/user/picture#requirements有详细信息。

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

关于Facebook 应用程序登录 : How to control expiration date of an image URL I got?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34580136/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com