当使用Facebook Graph API发布到墙上时,如何共享亚马逊认证的URL?

当使用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

我正在尝试使用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%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。