如何在iPhone中使用Graph Api在朋友墙上发布

时间:2011-06-06 12:32:53

标签: iphone facebook

我正在实施一个Facebook应用程序,我已经使用Graph Api并已成功登录Facebook并在UITableView中获取了id的朋友列表,现在我有一个字符串,我应该如何在朋友的墙上发布,假设我点击在UITableView的任何朋友中,都应该发帖子,plz帮帮我

编辑:代码

NSString *urlString = [NSString stringWithFormat:@"graph.facebook.com/%@/feed",key];
NSURL *url = [NSURL URLWithString:urlString];
ASIFormDataRequest *newRequest = [ASIFormDataRequest requestWithURL:url];

[newRequest setPostValue:@"I'm inviting you to see download the OGC app" forKey:@"message"];
[newRequest setPostValue:fbGraph forKey:@"access_token"];
[newRequest setDidFinishSelector:@selector(postToWallFinished:)];
[newRequest setDelegate:self];
[newRequest startAsynchronous]; 

我正在实现这个功能时点击tableview,其中key是点击的朋友姓名的id号和其他功能

NSString *responseString = [request responseString];
NSMutableDictionary *responseJSON = [responseString JSONValue];
NSString *postId = [responseJSON objectForKey:@"id"];
NSLog(@"Post id is: %@", postId); 

但是我的帖子ID为nil plz帮助我

1 个答案:

答案 0 :(得分:1)

您使用的是Facebook iOS SDK?

吗?

假设你是,请使用requestWithGraphPath例如.-

[_facebook requestWithGraphPath:@"uid/feed"
                                andParams:[NSMutableDictionary dictionaryWithObject:@"Post on wall" forKey:@"message"]
                                andHTTPMethod:@"POST"
                                andDelegate:self];

其中uid自然是用户的用户ID。

您需要确保在登录Facebook时拥有相关权限并处理代理回拨以测试是否成功。

如果您没有使用SDK,您可以直接使用Graph API执行类似的操作,可能使用您自己的NSURLConnection或第三方库(如ASIHTTPRequest)。 SDK使用头脑非常好而且直截了当。