Facebook不会在墙上的帖子上呈现链接图像

时间:2013-01-13 19:07:45

标签: facebook image facebook-wall

需要一种方法让Facebook在墙上的帖子中呈现图像。有时,您需要做的就是将链接复制并粘贴到图像,如下所示:Working rendered image in Facebook wall post

但是,对于我需要链接的图片,这些图片在S3上,我得到了这个:Image link not being rendered in Facebook wall post

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

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

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

2 个答案:

答案 0 :(得分: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中的网址。在enom.com中,这意味着将主机“静态”映射到地址“static.mydomain.com.s3-website-us-east-1.amazonaws.com”作为{{1 }} 记录。

  4. Source它可以帮助您从S3帐户托管静态网站。使用该自定义域URL路径中的图像。这将有效。

答案 1 :(得分:1)

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

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