获取用户的Facebook朋友列表

时间:2014-10-16 01:36:31

标签: ios facebook facebook-graph-api

能够创建登录Facebook的小型iOS应用程序。我希望这个应用程序能够获得用户的朋友列表。

虽然我浏览了互联网一段时间并尝试了各种方法但我没有成功获得我想要的东西。

在viewDidLoad方法中,我使用此代码开头:

loginView = [[FBLoginView alloc] initWithReadPermissions:@[@"user_friends"]];

然后我以这种方式实现loginViewFetchedUserInfo:user:方法:

- (void)loginViewFetchedUserInfo:(FBLoginView *)loginView
                            user:(id<FBGraphUser>)user
{
    [FBRequestConnection startWithGraphPath:@"/me/friends"
                                 parameters:nil
                                 HTTPMethod:@"GET"
                          completionHandler:^(
                                              FBRequestConnection *connection,
                                              id result,
                                              NSError *error
                                              ) {
                              NSLog(@“Result: %@",result);
                          }];
}

当我执行应用程序时,我得到了这个结果:

Result: {
    data =     (
    );
    summary =     {
        "total_count" = 267;
    }; }

但我真正想要的是一个有他们名字的朋友名单......等等...... 我尝试过的所有事情都没有用。虽然我认为解决方案必须简单。

我也在上面的方法中使用了这样的代码......但没有运气:

NSArray* friends = [result objectForKey:@"data"];

还有一点,这里https://developers.facebook.com/docs/graph-api/reference/v2.1/user/friends可以读到:

  

这只会返回任何使用过的朋友(通过Facebook登录)   提出请求的应用程序。

但我得到的结果(267)与此陈述不符。它(267)是用户在Facebook上的朋友数量,这实际上是我感兴趣的。

我希望有人能说些什么来让我走上正轨并让事情变得更加清晰。

1 个答案:

答案 0 :(得分:0)

自Facebook的2.x SDK升级以来,他们加强了对&#34; Open Graph API中信息的访问。&#34;
Permissions That Do Not Require Review

  

App朋友。此可选权限授予您的应用能够阅读同时使用您的应用的朋友列表。

您可以自动访问已经使用您的应用的任何朋友(根据其Facebook ID) 如果您想要访问所有用户的朋友列表,则必须请求Extended Permissions。这意味着要经历Facebook的App Review流程,这可能非常具有挑战性(并且很烦人) 坦率地说,我甚至不确定是否可以使用新的Open Graph API来获取用户的整个朋友列表。