【问题标题】:Facebook won't render link image on wall postFacebook 不会在墙贴上呈现链接图片
【发布时间】:2012-12-27 17:47:40
【问题描述】:

Facebook 需要一种在墙贴中呈现图像的方法。有时,您只需复制并粘贴图片的链接即可,例如:

但是,我需要链接到 S3 上的图像,我得到了这个:

您可以点击here 来验证第二个链接实际上是一个有效的图片地址(您应该会看到一个令人毛骨悚然的手绘笑脸)。

我只使用网站上的普通 Facebook GUI 进行了此测试,但我将在我的应用程序中使用此问题的答案,该应用程序通过 Open Graph API 与 Facebook 集成。 (以防有人认为这个问题与编程无关)。

有人知道我需要做什么才能在帖子中渲染第二张图片吗?

【问题讨论】:

    标签: facebook image facebook-wall


    【解决方案1】:

    关键是图像大小。不要问我神奇的数字是什么,但较大的图像有效,而较小的则无效。可能是它必须大于 facebook 使用的预览大小。

    在我的测试中,我关闭了静态网站配置。

    【讨论】:

      【解决方案2】:

      我的猜测是只有 静态链接会为 facebook 上的帖子生成缩略图。您尝试使用的链接不是静态链接。

      这是 Facebook 在尝试生成缩略图时得到的结果。

      <Error>
      <SCRIPT/>
      <Code>AccessDenied</Code>
      <Message>Access Denied</Message>
      <RequestId>D577337ADC9FA36A</RequestId>
      <HostId>
      DN9BnBduVLgHbf2lONA+e/fXQIOuT7W3WOFUPdthdpP2MZQhSLlolTvyJ0t9eZXn
      </HostId>
      </Error>
      

      解决方案:

      事实证明,要使其正常工作,您不能将任意子域映射到任意存储桶。完全限定子域名必须与 S3 存储桶名称相同。

      1. 假设您的站点名称是 static.mydomain.com。那你需要 创建一个具有相同名称的 S3 存储桶,命名为 static.mydomain.com。

      2. 将存储桶配置为 S3 静态网站后,它将具有 分配给它的 URL,类似于 http://static.mydomain.com.s3-website-us-east-1.amazonaws.com。

      3. 转到您的域名托管服务商并将您的子域映射到步骤 2 中的 URL。在 enom.com 中,这意味着将主机“静态”映射到地址“static.mydomain.com.s3-website-us-east-1.amazonaws.com”作为CNAME 记录。

      Source,它将帮助您从您的 S3 帐户托管一个静态站点。使用来自该自定义域 URL 路径的图像。这会起作用的。

      【讨论】:

      • 您的很多说明以及源代码中的说明似乎都是关于将某个域名映射到 Amazon S3 存储桶。我不需要这样做——我不在乎 url 最终的样子。鉴于我不在乎图片网址是什么,我需要做什么?是否会将我的存储桶配置为 Amazon 托管静态网站,并使用基于其端点的 url,使我的 url 成为“静态”?
      • 更新——我将我的 S3 存储桶配置为托管静态网站并获得了与以前相同的结果——即使使用基于 dotellapptest.s3-website-us-east-1 的新链接也是如此。 amazonaws.com
      猜你喜欢
      • 1970-01-01
      • 2012-12-27
      • 1970-01-01
      • 1970-01-01
      • 2011-07-22
      • 2011-05-04
      • 2021-09-18
      • 1970-01-01
      相关资源
      最近更新 更多