2014-09-21 150 views
-1

我知道这里有很多问题,但我找不到合适的答案。Facebook获取朋友列表

我使用Facebook SDK v3.18

我只是想获得用户的好友列表和他们的照片。

我到目前为止已经试过这样:

登录:

FBLoginView *loginView = 
    [[FBLoginView alloc] initWithReadPermissions: 
    @[@"public_profile", @"email", @"user_friends"]]; 
    // Align the button in the center horizontally 
    loginView.frame = CGRectOffset(loginView.frame, (self.view.center.x - (loginView.frame.size.width/2)), (self.view.center.y - (loginView.frame.size.height/2))); 
    [self.view addSubview:loginView]; 

获取用户的朋友列表和他们的照片:

[FBRequestConnection startWithGraphPath:@"/me/friends?fields=name,picture" 
          parameters:nil 
          HTTPMethod:@"GET" 
         completionHandler:^(
              FBRequestConnection *connection, 
              id result, 
              NSError *error 
             ) { 
          /* handle the result */ 
         }]; 

但是我的回答是:

{ 
    data =  (
    ); 
    summary =  { 
     "total_count" = 1216; 
    }; 
} 

而非为我的朋友的名字或图片显示如下:/

请为我放一些灯。

提前致谢!

回答

2

Facebook SDK page,它看起来像/我的/朋友将只返回你的朋友已经登录,并获准在相同的应用程序(即你和你的朋友需要有允许您的应用程序使用Facebook通过登录)。

+0

什么?我登录并批准了我的应用:/ – gran33 2014-09-21 16:43:45

+0

我明白,但您的朋友也需要这样做。你只会让你的朋友做了同样的事情 - 批准了应用程序。您是否有其他FB测试帐户可用于批准该应用程序? – 2014-09-21 16:45:07

+0

我认为这是另一回事。我想说的是,使用FacebookSDK时,你只能够获取实际授予相同App ID许可的登录用户的朋友(或使用Facebook登录)。如果您创建了一个新的Facebook帐户,与它成为好友,并使用它们登录并因此给您的应用程序所需的权限,您可以使用/我/朋友获取一个或另一个。 – 2014-09-21 18:50:52

0

您是否在下面尝试过?

FBRequest* friendsRequest = [FBRequest requestWithGraphPath:@"me/friends?fields=name" parameters:nil HTTPMethod:@"GET"]; 
    [friendsRequest startWithCompletionHandler: ^(FBRequestConnection *connection, 
                NSDictionary* result, 
                NSError *error) { 
     NSArray* friends = [result objectForKey:@"data"]; 
     NSLog(@"Found: %i friends", friends.count); 
     for (NSDictionary<FBGraphUser>* friend in friends) { 
      NSLog(@"I have a friend named %@ with id %@", friend.name, friend.id); 

     } 
     NSArray *friendIDs = [friends collect:^id(NSDictionary<FBGraphUser>* friend) { 
      return friend.id; 
     }]; 

}]; 

编辑:

请查看这篇文章。

Facebook Graph Api v2.0+ - /me/friends returns empty, or only friends who also use my app

+0

您的代码结果为:“找到:0个朋友” – gran33 2014-09-21 16:23:56

+0

已编辑。我的错。请再试一次。 – bllakjakk 2014-09-21 16:27:07

+0

相同:“找到:0位朋友” – gran33 2014-09-21 16:43:16