Facebook 共享对话框不会在第一次加载时显示缩略图

标签 facebook image thumbnails share

我正在使用 Facebook 共享对话框来共享特定的 URL。共享链接包含一张图片,稍后应该成为共享的一部分。奇怪的是它在移动浏览器上工作得很好。但是桌面浏览器不会在第一次尝试时加载图像。只需重新加载共享窗口即可修复丢失的图像。一旦这张图片至少出现一次,它就可以在其他浏览器中继续工作而无需额外的重新加载..

所以我的问题是:有人知道为什么第一次调用这个 url 不显示图像吗?

详情

Link for opening the sharing dialog

这是 Facebook 调试器的输出,它没有错误并且还显示了图像。

Facebook debugger output

更新

似乎可以毫无问题地使用提要对话框。但这是另一种我想阻止的共享方式,因为它需要 App ID。

最佳答案

我也遇到过这个问题,事实证明 Facebook 有一个未记录的“功能”,可能是为了优化而实现的。它不会在第一次共享时加载您的图片。

错误描述可以在这里找到: https://developers.facebook.com/bugs/657696104321030

简而言之,解决方案是两种可能性之一。

  1. 最简单的方法是将 og:image:width 和 og:image:height 作为描述图像像素宽度和高度的 ogtag 的一部分。奇怪的是,这将(显然是故意的)说服 Facebook 立即抓取该网站,包括图像。

    <meta property="og:image"content="http://example.com/image.jpg"/ >

    <meta property="og:image:width"content="450"/>

    <meta property="og:image:height"content="298"/>

  2. 第二种可能的解决方案是通过 API 手动触发抓取。这个我没有测试过,但理论上是可以的。参见 the relevant Stackoverflow discussion关于这个话题。

关于Facebook 共享对话框不会在第一次加载时显示缩略图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17920519/

相关文章:

javascript - 如何使用 Recast.ai 使用 message.addReply 添加来自基于 promise 的 API 调用的结果?

facebook - 如何在 Facebook 上分享动画 gif

image - 每当未成功创建缩略图时,强制 ffmpeg 以错误代码退出

android - 如何以相同的 Intent 从相机获取全尺寸图片和缩略图

android - 即使我从设备上的 Facebook 应用注销,SimpleFacebook isLogin 也会返回 true

python - 使用 python 社交身份验证邀请 Facebook 好友加入网站

image - 获得 2 张图像的 (MSE) 平均误差平方是什么意思?

CSS:只改变一种指定的颜色?

image - 使用 URL 公式的 Crystal Reports 动态图像

asp.net-mvc - 如何使用 .Net 创建 Facebook 风格的缩略图选择器