3

facebook 共享缓存的超时时间是多少。我编辑了所有页面,必须反映更改。

如果超时是无限的,我必须通过 curl 等调试所有页面。

谢谢。

4

2 回答 2

2

您可以使用Debugger手动“清除” facebook 缓存。

只需去那里,输入您更改的 url 并单击“调试”,这将导致 facebook bot 从您的服务器请求数据,即使它已经被获取和缓存,并且新数据将替换旧数据。


编辑

毫无疑问,800k 的页面很多。

根据Like Button 文档

Facebook 每 24 小时抓取一次您的页面,以确保属性是最新的。当 Open Graph 页面的管理员单击 Like 按钮以及将 URL 输入 Facebook URL Linter 时,该页面也会被抓取。Facebook 会观察您 URL 上的缓存标头 - 它会按优先顺序查看“过期”和“缓存控制”。但是,即使您指定更长的时间,Facebook 也会每 24 小时抓取一次您的页面。

(URL Linter 是调试器)

但根据我的经验,情况并非总是如此,我没有找到任何模式,但我遇到了几个月前的数据,并且在我手动使用调试器提取新数据之前,缓存并不清晰。

如果您仍想手动刷新 fb 拥有的数据,您可以编写一个脚本,将 url 发布到 Debugger 页面中的相同表单操作,我认为他们没有使用 csrf 保护。通过这种方式,您可以为所有页​​面自动执行此操作,这可能需要一段时间,但不会太严重。

于 2012-04-11T12:14:09.320 回答
0

window.open('https://www.facebook.com/sharer/sharer.php?u='+encodeURIComponent(url_to_share))用来制作共享弹出窗口,无论我做什么,缓存的共享都不会清除,直到我执行以下操作:

  • 将您尝试共享的 URL 放入 Facebook URL Linter。
  • 向下滚动到“共享预览”
  • 单击“在共享对话框中查看”
  • 从该页面复制 URL
  • 将该URL放入您的 window.open( [将 URL 放在这里] ) 弹出窗口中,瞧!
于 2014-06-18T13:31:39.807 回答