5

Facebook 需要一种在墙贴中呈现图像的方法。有时,您需要做的就是复制并粘贴到图像的链接,如下所示:Facebook 墙贴中的工作渲染图像

但是,对于我需要链接到的图像,这些图像在 S3 上,我得到了这个:图片链接未在 Facebook 墙贴中呈现

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

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

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

4

2 回答 2

1

我的猜测是只有静态链接会为 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 静态网站后,将为其分配一个类似于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 路径的图像。那可行。

于 2013-01-13T19:12:42.777 回答
1

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

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

于 2013-01-13T23:02:45.253 回答