我使用Facebook提供的演示项目设置Facebook连接我的应用程序。一切都很好,除了最后一小步......
首先,我登录并获得权限。
接下来,我上传了一张图片。这很好用,我可以在我的Facebook相册中看到我应该能够的图片。
上传这张照片时,我会得到它的网址(由FBRequest代表返回)。将此URL粘贴到Web浏览器中会直接将我带到图像中,因此我知道此URL正确无误。
以下是问题所在:
这是我在最后一部分使用的代码:
- (void)request:(FBRequest *)request didLoad:(id)result {
NSString* picUrl = [result objectForKey:@"src_big"]; //this definitely returns the right URL
if (picUrl)
{
NSString *message = @"Test status";
NSMutableDictionary *params = [NSMutableDictionary dictionaryWithObjectsAndKeys:
message, @"message", picUrl, @"picture", @"Look at my photo", @"name", nil];
[facebook requestWithMethodName:@"facebook.Stream.publish" andParams:params
andHttpMethod:@"POST" andDelegate:self];
}
}
任何想法我缺少或做错了什么?
答案 0 :(得分:20)
使用以下代码修复(在尝试失败很多次之后)。 Facebook不喜欢我尝试它的方式,你只需一步就可以完成所有这些:
NSData *imageData = UIImagePNGRepresentation(image);
NSMutableDictionary *params = [NSMutableDictionary dictionaryWithObjectsAndKeys:
@"Test message", @"message", imageData, @"source", nil];
[facebook requestWithGraphPath:@"/me/photos" andParams:params andHttpMethod:@"POST" andDelegate:self];
答案 1 :(得分:1)
无法发表评论但为了让这项工作得以实现,我必须将@“/ me / photos”更改为@“me / photos”,这是乔丹在上面的回答。但是非常有帮助,不知道为什么会被投票。