我有几个由Facebook托管的对象,这些对象会发布到用户的活动日志中。图像的URL指向我们的内容交付解决方案,该解决方案重定向到版本化的图像。这意味着URL可以保持不变,但图像可能会更改。
正如您在此图片中看到的那样
当图像发生变化时,Facebook仍然可以正确加载它(请参阅og:image列),但实际帖子中创建的图像(请参阅悬停文本,来自https://fbexternal-a.akamaihd.net/safe_image.php)似乎已缓存。我发现通过添加虚拟参数来更改URL是有效的(如果有必要,我们可以这样做),但如果有办法强制Facebook刷新其缓存图像,那就更好了。这样的电话或方法是否存在?
在类似的问题中,我听说过POST调用
https://graph.facebook.com/?id=[ID]&scrape=true
可以重新调整数据,但是我没有成功调用该调用(如果对象是自托管的,它似乎只会抓取数据,是吗?)。
还有一些关于向URL添加fbrefresh = [ANYTHING]的内容,但听起来这相当于添加一个虚拟参数。
此外,使用调试器似乎也没有做任何事情。我已经尝试过了:
- http://developers.facebook.com/tools/debug/og/object?q=[ID]
- http://developers.facebook.com/tools/debug/og/object?q=[ID]&refresh=[ANYTHING]
- http://developers.facebook.com/tools/debug/og/object?q=[Image URL]
- http://developers.facebook.com/tools/debug/og/object?q=[Image URL]&refresh=[ANYTHING]
另外
- http://graph.facebook.com/?id=[ID]&scrape=true
一切都无济于事。
最后,是否有人知道缓存是否可以正常刷新?或者预计图像会永远存在吗?
答案 0 :(得分:6)
Updating Objects
When an action is published, or a Like button pointing to the object clicked, Facebook will 'scrape' the HTML page of the object and read the meta tags. The object scrape also occurs when:
The object URL is input in the Object Debugger
Every 7 days after the first scrape
When an app triggers a scrape using an API endpoint
This Graph API endpoint is simply a call to:
POST /?id={object-instance-id or object-url}&scrape=true
当您执行此scrape=true
时,Facebook将转到og:url参数并在此站点上刮取所有og参数。因此,请确保此页面(og:url)具有相应的og:image元标记以及新的图像网址。
如果您更新图片,则需要重命名(update og:image url),否则facebook不知道您有新图片。