Facebook获取好友列表

时间:2014-09-21 16:14:26

标签: ios objective-c iphone facebook facebook-graph-api

我知道这里有很多问题,但我找不到合适的答案。

我正在使用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 个答案:

答案 0 :(得分:2)

Facebook SDK page,看起来/我/朋友只会返回已登录并获得相同应用权限的朋友(即您和您的朋友需要允许您的应用通过Facebook使用Facebook登录)。

答案 1 :(得分: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