Facebook graph api 我/饲料与图片从不同的领域

Facebook graph api 我/饲料与图片从不同的领域,facebook-graph-api,facebook-c#-sdk,Facebook Graph Api,Facebook C# Sdk,我试图在facebook的网站上找到他们的文档,但到目前为止还没有找到。我肯定其他人以前也遇到过这种情况 我使用AmazonS3存储图像。我事先不知道,如果我将我的bucket命名为我的域名和subdomain,我可以通过这种方式链接,所以在我移动所有图片之前,我必须链接到mybucket.s3.amazonaws.com域。当我在墙上贴一张照片时,照片不会显示出来。如果我在服务器上将图片更改为一张图片,图片就会显示出来。看起来图片的域名必须和我的应用程序匹配?我看了看bugzilla,没有看到

我试图在facebook的网站上找到他们的文档,但到目前为止还没有找到。我肯定其他人以前也遇到过这种情况

我使用AmazonS3存储图像。我事先不知道,如果我将我的bucket命名为我的域名和subdomain,我可以通过这种方式链接,所以在我移动所有图片之前,我必须链接到mybucket.s3.amazonaws.com域。当我在墙上贴一张照片时,照片不会显示出来。如果我在服务器上将图片更改为一张图片,图片就会显示出来。看起来图片的域名必须和我的应用程序匹配?我看了看bugzilla,没有看到有人提到这一点。Facebook的论坛说在这里发布问题

我正在使用CodePlex的C#Facebook SDK

我的代码如下(删除了错误处理和身份验证检查):

var client=newfacebook客户端(FACEBOOK\u APP\u ID,FACEBOOK\u SECRET);
client.AccessToken=facebook.AccessToken;
var参数=新字典();
参数。添加(“名称”,名称);
参数。添加(“标题”,标题);
参数。添加(“消息”,消息);
参数。添加(“链接”,链接);
参数。添加(“源”,链接);
参数。添加(“图片”,imageUrl);
client.Post(“me/feed”,参数);
我验证了imageUrl确实有一个正确的图片,域名就是不匹配。AmazonS3上的图片具有公共读取权限。我可以从浏览器查看它,所以我认为这不是权限问题。我试过几张不同的图片,都有同样的问题。到目前为止,它唯一有效的时间是当图片在服务器上时


所以,我的问题是,这是我的问题,还是facebook阻止了与应用程序上指定的域名不匹配的图像?

我会的。如果真是这样,我有点怀疑,你可以在你自己的域名上为每个重定向到Amazon url的图片创建一个301重定向

您可以从该url上传图片,然后在帖子中添加其对象id

参考:

通过URL将照片上传到Graph API

今年早些时候,我们发布了对直接上传照片的支持 通过图形API。这需要以MIME编码的方式发送照片 表单字段。我们现在通过 简单地通过提供一个URL来上传照片 形象。这简化了许多用例的照片管理:

  • 在Amazon S3或类似网站上托管图像的应用程序开发人员
    该服务可以将S3URL直接传递到Facebook,而无需
    将该文件下载到他们的应用程序服务器,仅用于上传
    再次访问Facebook。这提高了性能并降低了成本
    开发者
  • 在平台上编写的应用程序对 多部分文件上载可以更轻松地创建新照片
要通过URL上传照片,只需向 相册ID/照片,url字段设置为所选照片的url 希望上传。您需要“发布”流权限才能执行此操作 活动您还可以包括一个可选的消息参数来设置 照片的标题


我也面临同样的问题。根据我的观察,当图片url有多个子域时,facebook似乎不喜欢它

我为同一张图片尝试了以下两种URL变体

mybucket.s3.amazonaws.com抛出错误

s3.amazonaws.com/mybucket-工作正常

:picture => 'http://mybucket.s3.amazonaws.com/footprints/15/coverimgs/medium.jpg'
OAuthException: (#100) picture URL is not properly formatted

:picture => 'http://s3.amazonaws.com/mybucket/footprints/15/coverimgs/medium.jpg'
{"id"=>"587472956_10150280873767957"}

现在,我必须弄清楚如何在将图像传递到FB graph API时更改图像的URL结构。

这样它才能将图像添加到用户相册中?那不是我想要的。这仅适用于用户对图片发表评论时。它应该显示缩略图、他们的评论、图片描述和图片链接。不是真的将其添加到他们的相册中。你应该能够使用相同的方法上载到你的页面或应用程序。对于页面上传,您需要为页面生成一个访问令牌,app.REViSE也需要生成一个访问令牌-用户必须是照片的所有者。如果可能的话,你需要以用户的身份将照片上传到墙上的照片。如果我成功的话,我会尝试获取一个工作样本并发回。我不想上传任何图片。它只通过提供图片URL,就可以在我的服务器上处理未上传的图片。它没有将图片添加到我的相册中(我是用户),我看到了缩略图。通过iOS设备共享时发现了相同的问题
:picture => 'http://mybucket.s3.amazonaws.com/footprints/15/coverimgs/medium.jpg'
OAuthException: (#100) picture URL is not properly formatted

:picture => 'http://s3.amazonaws.com/mybucket/footprints/15/coverimgs/medium.jpg'
{"id"=>"587472956_10150280873767957"}