我正在使用Feed对话框,而我正在尝试使用的图片未显示。对话框提供了正确的描述和标题,但没有图片。
这是我的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上的图片有什么关系吗?
答案 0 :(得分:1)
可以使用 https ,在数组中使用 http 图片网址进行测试
FB.ui(
{
method: 'feed',
name: message,
description: "...",
caption: "...",
link: "http://our_domain.com",
picture: "http://picture_stored_on_aws"
},
(response) ->
window.close()
)
答案 1 :(得分:1)
正如您所发现的那样,您在S3中收到的链接已过期,因为该文件不适用于公众,仅适用于您自己的帐户。您必须公开您的图片才能在Facebook Feed对话框中使用它。
登录AWS控制台,转到S3,找到并单击要使用的文件,单击右上角的“属性”按钮。您将在页面底部看到一个窗口。单击“权限”选项卡,确保“每个人”都有“打开/下载”权限。当您切换回“详细信息”选项卡时,您将看到一个公开的链接。使用此图像链接,图片也应显示在您的Facebook Feed对话框中。
答案 2 :(得分:1)
我在使用带有S3Boto后端的Django-storage时遇到了完全相同的问题。如果我删除了所有GET参数,那么解决了原因,如果原始生成的S3链接是:
https://[your account].s3.amazonaws.com/yourpic.jpg?Signature=[...]&Expires=[...]&AWSAccessKeyId=[...]
你需要解析它:
https://[your account].s3.amazonaws.com/yourpic.jpg
这对我有用,我希望它可以帮助别人。