iOS上的Facebook连接 – 图片不会显示墙贴

我已经使用Facebook提供的演示项目设置了Facebook与我的应用程序连接。 一切都很好,除了最后一步之外…

  • 首先,我login并获得权限。

  • 接下来,我上传一张图片。 这很好,我可以在我的Facebook相册中看到我应该能够看到的图片。

  • 当这张照片上传时,我得到它的URL(由FBRequest委托人返回)。 把这个URL复制到一个网页浏览器中直接把我带到这个图像,所以我知道这个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]; } } 

任何想法我失踪或做错了?

修正了下面的代码(经过很多失败的尝试)。 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]; 

不能评论,但要得到这个工作,我不得不改变@“/我/照片”@约翰的答案上面的“我/照片”。 虽然很有帮助,但不知道为什么它被拒绝投票。