我正在使用ASIHTTPRequest来处理Facebook图形API。
这是我在Feed上发布图片的最近内容。所以,如果我有一个
ASIFormDataRequest *request = [ASIFormDataRequest requestWithURL:url];
网址为https://graph.facebook.com/me/feed
现在发布图片我会做以下事情:
[request setPostValue:@"My Message" forKey:@"message"];
[request setPostValue:@"somepic.png" forKey:@"picture"];
[request setPostValue:@"Some Name" forKey:@"name"];
[request setPostValue:@"Some description" forKey:@"description];
[request startAsynchronous];
如果您尝试这个,那么除了张贴的图片之外,一切正常。虽然在Feed上显示了图片的空白占位符。
答案 0 :(得分:4)
只需使用此小代码段将您的磁盘上的图像上传为原始数据
ASIFormDataRequest *request = [ASIFormDataRequest requestWithURL:url];
[request setData:UIImageJPEGRepresentation(img.image, 0.1) withFileName:filename andContentType:@"image/jpeg" forKey:@"photo"];
答案 1 :(得分:1)
我在facebook上发现了这个文档:http://developers.facebook.com/docs/reference/api/post
根据此文档,我们无法使用api发布驻留在我们机器上的图像。相反,我们必须上传图片,然后提供发布到Feed的链接。
但是,如果您登录facebook.com,则允许将图像上传到墙上。我相信图api中没有提供此功能。
答案 2 :(得分:0)
值得一看的是ShareKit - http://www.getsharekit.com/
他们的演示应用程序成功地在Facebook墙上发布了一张照片。我相信他们将上传然后发布过程包装在他们的代码中。
HTH, 乌迪德