我正在将Facebook整合到我的iPhone应用程序中,并且我有代码在登录后将帖子发布到用户的墙上,但我注意到帖子没有显示在用户的新闻源中由用户的朋友。相反,它只显示在用户的墙上。这是我的代码......
- (void)publishStream
{
NSMutableDictionary* params = [NSMutableDictionary dictionaryWithObjectsAndKeys:
@"Post a message on your wall", @"user_message_prompt",
@"Hello, World!", @"message",
nil];
[facebook dialog:@"feed"
andParams:params
andDelegate:self];
}
我怎样才能将它显示在新闻Feed中?我应该提一下,我设置的唯一权限是'publish_stream',据我所知,这是我唯一需要的权限。
非常感谢你的智慧!
答案 0 :(得分:4)
你需要发布给你的朋友提要,简单的方法是调整你的代码,使用适当的图表方法与你想发布到Facebook ID的人(我假设你已经存储了这个来自之前的电话图表api in person.facebookID)
[facebook requestWithGraphPath:[NSString stringWithFormat:@"%@/feed/",person.facebookID] andParams:params andHttpMethod:@"POST" andDelegate:self
http://developers.facebook.com/docs/reference/api/post
要获取用户列表,请使用图表路径me / friends
[facebook requestWithGraphPath:@"me/friends" andDelegate:self];
这将返回用户朋友姓名及其Facebook ID的JSON列表,从FBRequest返回相应的委托方法,它可能值得将这组结果包装成一组人物对象或存储返回的NSDictionary,以便您可以检索个别朋友,它取决于你如何处理返回的朋友列表(你可能想使用UITableView显示用户朋友或根据用户的其他输入过滤)
使用此方法意味着您不必在iOS sdk中使用Facebook对话框,这意味着用户可以使用您的应用在一天内发布的消息数量有上限
如果您想使用对话框,则需要在params词典中包含“target_id”,并将其设置为您要发布到的Facebook ID