【问题标题】:Messenger bot pictures cached缓存的 Messenger 机器人图片
【发布时间】:2018-01-25 09:53:30
【问题描述】:

我正在使用 express static 来托管我的机器人在卡片中使用的图片。当我更新图片时,没有任何变化。

在浏览器中进行一些检查后,Facebook 似乎缓存了我的图片。

这是 Facebook 获取的网址:

https://external-ams3-1.xx.fbcdn.net/safe_image.php?d=AQBuS02rfKAdYlVs&url=my_url&_nc_hash=AQA-wiEHYNeC11mJ

这是旧版的图片。虽然如果我去上面提到的my_url,我会得到更新的正确图片。

如何强制 Facebook 在缓存中重新加载此资源?

更新: 我用Facebook Sharing Debugger 抓取了我的网址,它显示了正确的图片,但在 Messenger 中我仍然看到旧版本。

【问题讨论】:

    标签: facebook facebook-graph-api caching facebook-messenger facebook-messenger-bot


    【解决方案1】:

    我也无法使用 Messenger 进行抓取。不过,似乎可行的是用无用的查询参数“破坏”缓存。例如,如果我想显示图像 -

    http://www.fnordware.com/superpng/pnggrad8rgb.png

    在 messenger 但我希望能够修改图像,我只是使用

    http://www.fnordware.com/superpng/pnggrad8rgb.png?cachebuster=0002

    当 cachebuster 的值发生变化时,Messenger 将找不到缓存的项目,并会重新获取您的图像。当然,您可以随意命名查询参数。如果您想每次都获取,您可以使用随机数作为 cachebuster 值,或者您可以在每次构建时增加值,或者在修改图像时手动增加值。

    希望它对某人有所帮助。

    【讨论】:

      【解决方案2】:

      我猜这是类似的场景 How to clear Facebook's image cache

      您以前的名片不会改变,但它应该在新发布的名片上改变。

      【讨论】:

      • 我试过这个工具,但不管什么原因它都不起作用。最后我重命名了我的新照片...
      猜你喜欢
      • 2023-03-07
      • 2017-01-06
      • 1970-01-01
      • 2017-01-28
      • 1970-01-01
      • 2016-08-20
      • 1970-01-01
      • 2016-06-26
      • 1970-01-01
      相关资源
      最近更新 更多