Facebook 图片 URL 已过期

Facebook Image URL gets expired

我正在使用 facebook-graph API 提取 Facebook 帖子,现在的问题是图像 几天后过期

对于单个图像,我有以下 URL

旧图像 URL 已过期

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

新图像工作URL是

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

我对这个问题很沮丧,有什么解决办法吗?

关于这个问题,我从其他社区了解到

“您不应存储 Facebook CDN URLs 以供长期使用——它们会随着时间的推移而改变。

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

(您可能想尝试其他解决方法,例如从 CDN link 中提取实际图像源 URL,但我建议不要这样做——因为格式可能会在任何时候。)"

你不能长时间存储facebook图片url,为了安全起见,它会过期,所以将图片存储在你的服务器中是一个更好的解决方案。

http://prntscr.com/h2fe45 这是保持不变的部分,这就是每次 link 更改时您需要获取的全部内容。我在 2013 年保存了图像,我仍然可以访问 them.Its 差不多 2018 年。

你应该确定存储原始图像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表示过期,如5FE056E5(十六进制) -> 1608537829(十进制,UTC),如果你解读这个时间戳,你会发现时间大约在一个月后,也许我们可以猜测过期是获得 CDN URL 后大约一个月?另一个类似的案例,可以参考: