如何使用FacebookSDK v3.21获取Facebook登录用户的朋友列表

时间:2014-12-12 04:18:43

标签: iphone facebook facebook-graph-api ios7 facebook-invite

我尝试使用以下代码获取朋友列表,但我得到的是那些使用app的朋友,我需要获取朋友的完整列表。代码如下。

  [FBRequestConnection startWithGraphPath:@"/me/friends"
                             parameters:nil
                             HTTPMethod:@"GET"
                      completionHandler:^(
                                          FBRequestConnection *connection,
                                          id result,
                                          NSError *error
                                          ) {
                          NSLog(@"My Friend listed : is %@",result);
                          /* handle the result */
                      }];

4 个答案:

答案 0 :(得分:1)

Facebook API调用现在只返回使用该应用的朋友。因此,您无法获取整个朋友列表,只能获取同时使用该应用的朋友。

点击此链接了解更多信息

https://developers.facebook.com/docs/graph-api/reference/v2.0/user/friends

答案 1 :(得分:1)

使用Facebook SDK 3.0,您可以这样做:

FBRequest* friendsRequest = [FBRequest requestForMyFriends];
[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);
    }
}];

答案 2 :(得分:0)

当你得到时,/me/friends会返回正在使用该应用的朋友。

来自Facebook文档参考

  1. https://developers.facebook.com/docs/games/invitable-friends/v2.0
  2. https://developers.facebook.com/docs/games/requests/v2.0
  3. 使用@"/me/invitable_friends"代替@"/me/friends"

      

    已更新

    April 30th'2014 开始,应用只能获取同时使用该应用的朋友列表,而您现在必须获得user_friends权限。对于那些从未登录过您的应用的用户, April 30th'2014 将获得app_scoped_id而不是真正的脸谱ID。

答案 3 :(得分:0)

https://developers.facebook.com/docs/apps/faq#invite_to_app

请求对话框和invitable_friends是不可能的,因为您正在谈论iOS应用程序(不是画布上的游戏)。因此,根据文档,这是最佳选择:https://developers.facebook.com/docs/ios/share/#message-dialog