【问题标题】:How to get Facebook to thumbnail an image from URL in post如何让 Facebook 从帖子中的 URL 缩略图
【发布时间】:2014-11-19 20:34:35
【问题描述】:

我正在建立一个图片库网站。它主要是私人的,但我希望用户能够通过特殊 URL 直接使用 Facebook 帖子中的某些图像。

这些 URL 看起来很简单:http://example.com/some/path/image.jpg 尽管它们实际上是由脚本按需生成的。

但是当我将该 URL(图片的 URL,而不是带有图片的页面)粘贴到 Facebook 时,它只会显示域名;它不会对图像进行缩略图。

关于开放图形元标记有很多问题 - 但这是与页面有关的,这个问题是关于带有直接图像 URL 的帖子的情况。例如,我注意到它适用于来自 imgur 的图像。

提供图片的方式有什么问题,或者图片本身的质量有什么我可以更改以使 facebook 正常工作吗?还是 facebook 知道以不同的方式对待某些图片网站?

谢谢。

【问题讨论】:

    标签: php facebook image


    【解决方案1】:

    我认为 Facebook 使用某种 OpenGraph“浏览器”来抓取图像。因此,您需要根据 User-Agent 为它提供元信息,即

    facebookexternalhit/1.1 (+https://www.facebook.com/externalhit_uatext.php)
    

    对于 Facebook。

    因此,当用户浏览器点击您的 URL 时,您提供图像,当它是 facebook 时,您提供开放图元数据。

    【讨论】:

    • 哦,对了。所以基本上我需要创建另一个 URL 来提供引用图像 url 的元数据?所以我不能用单个 URL 对等图像来做到这一点?
    • 您可以使用单个 URL 来完成,甚至可以使用 RESTful。您只需要您的网络服务器检查用户代理并对元数据执行 302。
    • 302 需要第二个 URL!但是,是的,我可以从用户 POV 中看到其他 url 不存在。我会尝试一下。可能会返回引用带有查询参数的图像的元数据(即大部分空白的 HTML 文档)...
    • 是的,你是对的,因为 facebook 图片抓取工具有不同的用户代理,所以你根本不需要第二个 url。另请参阅 stackoverflow.com/q/9061814/623519> 谢谢! (请注意,它并不总是 https - 对于 fb 用户代理,可以是 http。)
    • 是的,302 需要第二个 URL,抱歉!但是您可以针对同一个 URL 使用不同的内容(格式)进行响应
    【解决方案2】:

    我能想到的唯一一件事就是您在该页面上的图标。

    访问http://www.w3.org/2005/10/howto-favicon 了解有关 html 中的网站图标的信息。

    【讨论】:

      猜你喜欢
      • 2011-08-05
      • 2013-10-21
      • 1970-01-01
      • 2016-06-20
      • 2020-10-18
      • 2013-07-17
      • 2017-07-25
      • 2011-03-15
      • 1970-01-01
      相关资源
      最近更新 更多