1

我正在使用提要对话框,但我尝试使用的图片未显示。该对话框提供了正确的描述和标题,但没有图片。

这是我的javascript:

FB.ui(
  {
    method: 'feed',
    name: message,
    description: "...",
    caption: "...",
    link: "http://our_domain.com", 
    picture: "https://picture_stored_on_aws"
  },
  (response) ->
    window.close()
)

但是,当我使用存储在其他地方的图片时,它会起作用,例如 Facebook 开发网站上的这个示例:“http://fbrell.com/f8.jpg”。

我尝试删除https,但仍然没有图片。还有其他人遇到这个问题吗?它与在aws上引用图片有什么关系吗?

4

3 回答 3

1

它可能是使用https,使用数组中的http图像 URL 进行测试

FB.ui(
  {
    method: 'feed',
    name: message,
    description: "...",
    caption: "...",
    link: "http://our_domain.com", 
    picture: "http://picture_stored_on_aws"
  },
  (response) ->
    window.close()
)
于 2012-10-18T07:12:21.400 回答
1

正如您所发现的,您在 S3 中收到的链接已过期,因为该文件不对公众开放,仅对您自己的帐户开放。您必须公开您的图片才能在 Facebook 供稿对话框中使用它。

登录AWS控制台,进入S3,找到并点击你要使用的文件,点击右上角的“属性”按钮。您将在页面底部看到一个窗口。单击“权限”选项卡,确保“所有人”具有“打开/下载”权限。然后,当您切换回“详细信息”选项卡时,您将看到一个公开的链接。使用此图片链接,图片也应显示在您的 Facebook Feed 对话框中。

于 2012-10-18T08:50:40.080 回答
1

我在使用带有 S3Boto 后端的 Django-storages 时遇到了完全相同的问题。如果对我来说是删除所有 GET 参数,那么如果您最初生成的 S3 链接是:

https://[your account].s3.amazonaws.com/yourpic.jpg?Signature=[...]&Expires=[...]&AWSAccessKeyId=[...]

您需要将其解析为:

https://[your account].s3.amazonaws.com/yourpic.jpg

这对我有用,我希望它可以帮助别人。

于 2012-12-30T09:13:07.787 回答