我/来自不同领域的图片

Gre*_*WI2 5 facebook-graph-api facebook-c#-sdk

我试图在Facebook的网站上找到他们的文档,但到目前为止没有运气.我相信其他人之前必须遇到这种情况.

我使用Amazon S3存储图像.我提前不知道如果我将我的桶命名为带有子域名的域名,我可以用这种方式链接,所以在我移动所有图片之前,我必须链接到mybucket.s3.amazonaws.com域.当我从那里包含一张带有帖子到墙上的图片时,图片不会显示出来.如果我将图片更改为服务器本身的图片,则会显示图片.看来图片的域名必须与我的应用匹配?我看着bugzilla并没有看到这提到.Facebook的论坛说要在这里发布问题.

我正在使用CodePlex的C#Facebook SDK.

我的代码看起来像(删除了错误处理和身份验证检查):

        var client = new FacebookClient(FACEBOOK_APP_ID, FACEBOOK_SECRET);
        client.AccessToken = facebook.AccessToken;
        var parameters = new Dictionary<string, object>();
    parameters.Add("name", name);
        parameters.Add("caption", title);
        parameters.Add("message", message);
        parameters.Add("link", link);
        parameters.Add("source", link);
        parameters.Add("picture", imageUrl);
        client.Post("me/feed", parameters);
Run Code Online (Sandbox Code Playgroud)

我验证了imageUrl确实有一个正确的图片,域名只是不匹配.亚马逊s3上的图片具有公共读取权限.我可以从浏览器中查看它,所以我不认为这是一个权限问题.我尝试了几个不同的图片同样的问题.到目前为止,只有当图片出现在服务器本身时才有效.

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

bka*_*aid 0

我会将其记录为错误。如果确实如此(我有点怀疑),您可以在自己的域上为每个重定向到 Amazon url 的图像创建 301 重定向。