facebook:用我的专辑中的图片发布到我的墙上

时间:2012-02-17 13:26:32

标签: android iphone facebook api

当我将帖子上传到我的墙上时,我不仅要看到一条消息,还要看一张照片。 如果我将(以及其他参数)一个字符串与“picture”参数的图像的URL放在一起,它就可以工作。但是以防图像位于某个侧面部分服务器中,而不是我的脸谱相册中。

当我尝试使用我的专辑中的图像网址时,我只是得到了“Auth例外”而没有回复的解释(它只是'nil');我使用最后一个Hackbook示例,并在其基础上发出如下请求:

    NSMutableDictionary *params = [NSMutableDictionary dictionaryWithObjectsAndKeys:
                               @"Some message", @"message",
                               @"http://a1.sphotos.ak.fbcdn.net/hphotos-ak-snc6/62347_158935964133931_100000525850093_395542_6306928_n.jpg", @"link",
                               @"http://a1.sphotos.ak.fbcdn.net/hphotos-ak-snc6/62347_158935964133931_100000525850093_395542_6306928_n.jpg", @"picture",
                               nil];
    [[delegate facebook] requestWithGraphPath:@"me/feed"
                            andParams:params
                            andHttpMethod:@"POST"
                            andDelegate:self];

引用可以在单独的浏览器中打开(不包含任何cookie),但是随之而来的我会崩溃 如果要将引用更改为smth。喜欢

  

https://www.google.com/intl/en_com/images/srpr/logo3w.png

一切正常。

任何想法都会非常感激。

2 个答案:

答案 0 :(得分:1)

我有类似的问题。我得出结论,问题是你想要链接的图像尺寸,因为只有当它是一个小图像时我才能工作。

然而,如何链接包含照片的Facebook页面?

http://www.facebook.com/photo.php?fbid=MY_PHOTO_ID

答案 1 :(得分:1)

好的,既然我已经失去了很多时间去了解发生了什么,我想分享我发现的东西,因为我不喜欢任何人我和facebook api一样有这么愚蠢的时间。

我发现,实际上有一个异常的描述(我没有看到正确的地方),它的文字是:

  

错误!错误域= facebookErrDomain代码= 10000"操作无法完成。 (facebookErrDomain错误10000。)" UserInfo = 0x4e3b8f0 {error = {type = mutable dict,count = 3,   entries =>       2:{contents =" type"} = {contents =" OAuthException"}       3:{contents =" message"} = {contents ="(#100)流媒体中不允许使用FBCDN图片http://a5.sphotos.ak.fbcdn.net/hphotos-ak-snc7/431663_370671769627015_100000525850093_1341387_699903787_n.jpg" }       6:{contents =" code"} = 100   }   }

使用上面例外的粗体部分,您可以找到很多开发人员'抱怨这个问题。

这里摘录自 developers.facebook.com

  

我们不再允许流故事包含fbcdn.net域上托管的图像。与这些URL相关联的图像并不总是针对流故事进行优化,偶尔会导致错误,从而导致糟糕的用户体验。确保您的信息流附件不会使用此域参考图像。你应该在本地托管图像

所以,伙计们,如果您非常需要在帖子中显示图片 - 开始准备第三方服务器为您存储图像。让我知道,如果我错了 - 你会让我更快乐:)