iOS上的Facebook Connect - 图片不显示墙贴

Jor*_*ith 6 iphone facebook objective-c ios

我使用Facebook提供的演示项目设置Facebook连接我的应用程序.一切都很好,除了最后一小步......

  • 首先,我登录并获得权限.

  • 接下来,我上传一张图片.这很好用,我可以看到我的Facebook相册中的图片就像我应该能够的那样.

  • 上传此图片后,我会获取它的URL(由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];
    }
}
Run Code Online (Sandbox Code Playgroud)

我缺少什么或做错了什么想法?

Jor*_*ith 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];
Run Code Online (Sandbox Code Playgroud)

  • @ user523234我不明白你的问题对不起 - 将照片发布到相册也会显示在你的墙上,因此也会显示新闻.我从来没有试图将照片发布到某人的墙上,这不是问题所在. (2认同)