28

我有一个 Facebook 应用程序,它代表我的用户创建了几个墙帖。墙帖中的图片由 Facebook 的服务器缓存。我已经替换了我服务器上的原始图像,我想清除 Facebook 的图像缓存,以便所有其他墙贴都更新为新图像。

Facebook 缓存了什么: http://platform.ak.fbcdn.net/www/app_full_proxy.php?app=236915563048749&v=1&size=z&cksum=aebffc27f986977797a9903c2b6e08df&src= http%3A%2F%2Fvcweb2.s3.amazonaws.com%2Fassets%2Fweb %2Fimages%2Ficon_square.png

原始缓存 URL,现在更新为新图像。 http://vcweb2.s3.amazonaws.com/assets/web/images/icon_square.png

这可能吗?谢谢!

4

5 回答 5

51

“强制” facebook 清除特定 url 的缓存的方法是使用Debugger 工具

我尝试将调试器与图像的 url 一起使用,它显示的是新图像而不是旧图像,尽管在尝试缓存链接时,您发布的旧图像仍然出现。

我怀疑如果您尝试发布新帖子,将使用新图标而不是旧的缓存版本,但您发布的链接可能不会更改。

于 2012-04-23T22:46:13.940 回答
1

以我的经验,facebook 不会动态更新较旧的保存图像,尽管例如粉丝页面的数据将显示当前统计信息。我做了很多宣传,看到了旧版本的消息和帖子发出,而新的页面图像存在。但是,现在和六个月前的粉丝页面信息相同。

于 2012-12-20T21:54:06.790 回答
1

没有在线调试器的解决方法

?v=randomhash您可以使用旧的缓存失效技巧强制重新获取。您唯一需要注意的是必须将 URL 参数添加到每个og:属性中。

如果您有此 URL: example.com/items/3,则需要执行以下操作:

  • 分享为example.com/items/3?v=g45f6d
  • 将共享图像链接为<meta property="og:image" content="example.com/items/3/image?v=g45f6d" />
  • 更新网址:<meta property="og:url" content="example.com/items/3?v=g45f6d" />

注意:在这个例子g45f6d中是一个随机生成的哈希。

这样一来,它看起来与 facebook 是一个完全不同的页面,因此它会像第一次看到的那样抓取它。

于 2020-02-21T15:22:15.133 回答
0

例子:

http://www.example.com/pic001.jpg?fbrefresh=1201226471

这就是你必须使用的代码。1201226471 是您用您的 Facebook URL 替换的内容。您必须在每一页上都这样做,这非常乏味。

于 2013-06-15T05:22:21.767 回答
0

Facebook 提供了一个名为“共享调试器”的在线工具,可让您使用最新设置抓取链接。

只需在“调试”字段中粘贴您的链接,然后单击“调试”。魔术完成了!

https://developers.facebook.com/tools/debug/sharing/?q=https%3A%2F%2Fwww.iuoe115.ca%2Fprime-minister-trudeau-addresses-iuoe-canadian-conference%2F 1

于 2017-08-30T03:17:51.670 回答