Facebook图片网址已过期

时间:2015-05-27 09:06:56

标签: facebook facebook-graph-api facebook-graph-api-v2.0

我使用facebook-graph API提取Facebook帖子,现在问题是Image 过期几天后。

我有一个图片的以下网址

过期的旧图片网址

  

https://scontent-a.xx.fbcdn.net/hphotos-xfp1/v/l/t1.0-9/p180x540/14377_340369866155028_6836158858133154924_n.jpg?oh=7ed0d8818ad54fac851b036d24f5e674&oe=55579EE3

新图片工作网址

  

https://scontent-sin1-1.xx.fbcdn.net/hphotos-xfa1/v/l/t1.0-9/14377_340369866155028_6836158858133154924_n.jpg?oh=2f7ad72fa36fc026ad2bdcc1b0284146&oe=55C87432

我对这个问题很沮丧,可能是什么解决方案呢?

4 个答案:

答案 0 :(得分:39)

我从其他社区了解到这个问题是

“您不应长时间存储Facebook CDN网址 - 它们可能会随着时间的推移而改变。

请求实际图像并将其复制到服务器 - 或定期请求当前的CDN URL。

(您可能想尝试其他解决方法,例如从CDN链接中提取实际的图像源URL,但我建议不要这样做 - 因为它的格式也可能随时改变。)“

答案 1 :(得分:9)

您无法长时间存储Facebook图片网址,但出于安全目的而过期,因此在您的服务器中存储图片将是更好的解决方案。

答案 2 :(得分:0)

您应该确定要存储原始图像URL,并使用302重定向解析器来获取CDN URL,一个示例是https://scontent-ort2-1.xx.fbcdn.net/v/t45.1600-4/120202220_23846099766190042_1642096590788171162_n.jpg?_nc_cat=108&ccb=2&_nc_sid=2aac32&_nc_ohc=CE0J2Ao5cYkAX_JJ0Me&_nc_ht=scontent-ort2-1.xx&oh=f48cbb1bec21e685e0cbaaf6782a61a1&oe=5FE056E5,我们可以猜测oe=5FE056E5表示到期,如{{ 1}}(十六进制)-> 1608537829(十进制,以UTC为单位),如果您解释此时间戳,您会发现时间大约是一个月后,也许我们可以猜到到期是在获得CDN URL后的一个月?对于另一个类似的情况,您可以参考:https://stackoverflow.com/a/27596727/4721007

答案 3 :(得分:-1)

http://prntscr.com/h2fe45这里的部分保持不变,每次更改链接时都需要获取它。我在2013年保存了图像,我仍然可以访问它们。它差不多是2018年。