2010-06-30 114 views
3

我正在使用ASIHTTPRequest在Facebook图形API上工作。从iPhone应用程序发布Facebook上的'feed'图片

这是最近我已经去张贴图片上的饲料。所以,如果我有一个

ASIFormDataRequest *request = [ASIFormDataRequest requestWithURL:url]; 

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上。

回答

1

我发现在facebook此文档:http://developers.facebook.com/docs/reference/api/post

根据这个文件,我们不能张贴图片使用API​​驻留我们的机器上。相反,我们必须上传图片,然后提供发布到Feed的链接。

但是,如果您登录到facebook.com,则允许将图像上传到墙上。我相信这个功能并没有在图表api中提供。

4

只要使用这个小片段到磁盘上上传的图像作为原始数据

ASIFormDataRequest *request = [ASIFormDataRequest requestWithURL:url]; 
[request setData:UIImageJPEGRepresentation(img.image, 0.1) withFileName:filename andContentType:@"image/jpeg" forKey:@"photo"]; 
+0

太棒了,对我来说是完美的解决方案。 – youshunei 2012-01-09 15:41:02

+0

@youshunei,什么对你有用?您是否设法直接从设备上共享图像,而无需首先将其上传到服务器? – 2012-01-11 12:48:15

+0

@YogevShelly,这是错误的,它是上传到Facebook相册的简单方法,无法发布链接,描述,只需一次点击提交。您仍然首先将照片上传到相册,然后发布包含完整信息的Feed。 – youshunei 2012-01-12 14:19:51

0

这可能是值得考虑看看ShareKit - http://www.getsharekit.com/

他们的演示应用发布在Facebook上的照片墙成功。我相信他们会在他们的代码中包装上传 - 然后发布过程。

HTH, Oded

相关问题