2012-04-23 98 views
24

我有一个Facebook应用程序,代表我的用户创建了多个留言板。 Facebook帖子中的图片被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

原始缓存的网址,现在更新了新的形象。 http://vcweb2.s3.amazonaws.com/assets/web/images/icon_square.png

这可能吗?谢谢!

+0

如果你想清除缓存通过编程方式在这里,我写的答案,是工作的罚款... http://stackoverflow.com/questions/7329105/how-to-clear-share-link-caching/12177868#12177868 – Dheeraj 2012-08-29 12:35:04

回答

41

“强制”Facebook为特定网址清除其缓存的方式是使用Debugger tool

我尝试使用调试器与图像的网址,它显示新的图像,而不是旧的,但尝试缓存的链接时,您张贴的旧图像仍然出现。

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

+8

[Facebook也说](https://developers.facebook.com/docs/technical-guides/opengraph/defining-an-object/#update),你可以在graph.facebook.com上贴“刮” = true“,它将重新获取内容。 – stereoscott 2013-01-07 17:26:12

+0

在我的情况下,我不得不选择“调试”,然后“获取新的刮擦信息”。 – 2015-09-24 14:33:06

+0

@stereoscott说的作品。去做! – RyJ 2015-10-08 17:20:20

1

根据我的经验,脸书不会动态更新旧的保存图像,但例如粉丝页面的数据会显示当前的统计信息。我做了很多促销活动,并看到较旧版本的邮件和帖子已发出,而较新的页面图片存在。然而,现在和六个月前的粉丝页面信息是相同的。

0

例子:

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

这是你必须使用的代码。 1201226471就是你用你的Facebook URL替换的东西。你必须在每一页上完成,这是非常乏味的。

+0

将无法​​与CDN一起使用,并会中断浏览器缓存。 – kixorz 2013-09-11 06:22:10

+1

我有类似的问题 - 图像没有在fb缓存中更新,虽然我在服务器上更新它。使用调试器工具对我没有帮助。只有当我添加到图像url'?v = 2'并重新调整 - 然后它最终更新。 – 2016-06-16 01:21:15

+0

对我来说很有魅力,谢谢! – SergioFilhow 2016-09-30 09:45:40