Facebook获取朋友列表

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

我正在使用Facebook SDK v3.18

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

我已经尝试了这么多:

login:

 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; }; } 

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

请给我一些这个灯。

提前致谢!

从Facebook的SDK页面看来,/我/朋友只会返回已经login的朋友并获得相同应用的许可(即,您和您的朋友需要允许您的应用通过login使用Facebook)。

你下面试过了吗?

 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; }]; }]; 

编辑:

请检查这个post。

FacebookgraphicsApi v2.0 + – /我/朋友返回空,或只有朋友谁也使用我的应用程序