我使用facebook-graph API提取Facebook帖子,现在问题是Image 过期几天后。
我有一个图片的以下网址
过期的旧图片网址
新图片工作网址
我对这个问题很沮丧,可能是什么解决方案呢?
答案 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年。