当使用Facebook Graph API发布到墙上时,如何共享亚马逊认证的URL?
我正在尝试使用Facebook Graph API创建一个Facebook墙贴。有效载荷为:当使用Facebook Graph API发布到墙上时,如何共享亚马逊认证的URL?,facebook,facebook-graph-api,amazon-web-services,amazon-s3,Facebook,Facebook Graph Api,Amazon Web Services,Amazon S3,我正在尝试使用Facebook Graph API创建一个Facebook墙贴。有效载荷为: { :message => 'I just uploaded image', :picture => 'http://s3.amazonaws.com/picyou-andrey-development/images/GejoFV/GejoFV.png?AWSAccessKeyId=AKIAI6ANFCV7RKOBGGBA&Signature=U0Bd2bMQ3Pai%2BAbl
{ :message => 'I just uploaded image',
:picture => 'http://s3.amazonaws.com/picyou-andrey-development/images/GejoFV/GejoFV.png?AWSAccessKeyId=AKIAI6ANFCV7RKOBGGBA&Signature=U0Bd2bMQ3Pai%2BAblVOimSOVcbzk%3D&Expires=1308771841',
:link => 'http://google.com',
:name => 'Test Post' }
帖子创建正确,但图片中的问题根本不显示
当我使用公共AmazonS3URL时,图片显示正确
有没有机会将动态URL用作Facebook的“图片”参数
提前谢谢
更新:
在Facebook开发者论坛上发现一个人有完全相同的问题:
可能是url的签名部分包含一些在url中具有特殊意义的字符-
%2B(+)
和%3D(=)
我在一些视频播放器中遇到了这些url的问题,并通过确保url没有这些字符来解决。您可以通过在循环中生成url并在每次到期时间上添加第二个url来确保签名更改。重复此操作,直到签名“有效”
伪代码:
loop
expiry = expiry + 1 second
create url with expiry
until url is valid
根据我的经验,url只需要一两次迭代就可以生效。谢谢你的提示,杰夫,但不幸的是事实并非如此。我试着把照片贴上去,结果成功了。我还比较了响应标题,Amazon正确地返回了内容类型:image/png。