来自facebook API的图片提供错误"错误的URL日期参数"

com*_*dex 8 php facebook facebook-graph-api

我有数千张来自facebook的图像存储在我的数据库中.但是最近我注意到存储在数据库中的图像返回了这个错误:"错误的URL日期参数"

似乎我们不应该长时间存储Facebook图像URL,因为它们可能会过期.

我的问题是:如果我拥有的唯一信息是旧图像网址,如何从facebook API获取更新的图片网址?也许我可以从旧的URL中提取特定的数据ID,然后查询facebook API以获取新的URL?

以下是旧(过期)网址的示例:

https://scontent.xx.fbcdn.net/v/t1.0-9/15380747_1075074945947776_5898791779893134744_n.jpg?oh=7d445f227aa1922bebce375eae991a05&oe=597D1B48
Run Code Online (Sandbox Code Playgroud)

Chr*_*uge 1

Ben 已经对您的问题发表了评论,并可能围绕此主题重复:Facebook 图片 URL 已过期

我也偶然发现了这一点,并决定将图像下载到我们的服务器以避免这种情况。无论如何,还有一个替代选择。

如果您拥有 PPCA(公共页面内容访问)权限,您可以尝试掌握照片的节点 ID 并通过 facebooks graph api 获取最新版本。

https://scontent.xx.fbcdn.net/v/t1.0-9/15380747_1075074945947776_5898791779893134744_n.jpg?oh=7d445f227aa1922bebce375eae991a05&oe=597D1B48
                                                ^^^^^^^^^^^^^^^^
Run Code Online (Sandbox Code Playgroud)

这将导致以下图形查询:

https://graph.facebook.com/v6.0/1075074945947776?fields=picture

刚刚测试过。就我而言,它为我提供了最新的有效 URL。