iOS开发:如何在朋友的新闻Feed中显示Facebook墙贴?

时间:2011-01-23 23:14:05

标签: iphone ipad ios facebook

我正在将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',据我所知,这是我唯一需要的权限。

非常感谢你的智慧!

1 个答案:

答案 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