Facebook iOS SDK - 在Graph API v2.4中获取好友列表

Muh*_*ais 6 facebook objective-c facebook-graph-api ios

我使用下面的代码来获取使用app的Facebook好友

// Issue a Facebook Graph API request to get your user's friend list
    FBSDKGraphRequest *request = [[FBSDKGraphRequest alloc]
                                  initWithGraphPath:@"/{friendlist-id}"
                                  parameters:nil
                                  HTTPMethod:@"GET"];
    [request startWithCompletionHandler:^(FBSDKGraphRequestConnection *connection,
                                          id result,
                                          NSError *error) {
        // Handle the result
    }];
Run Code Online (Sandbox Code Playgroud)

但我得到了以下回复.

{
    data =     (
    );
    summary =     {
        "total_count" = 279;
    };
}
Run Code Online (Sandbox Code Playgroud)

我如何获得fbID,就像我们使用FBRequest获取最后一个api版本一样.

注意我使用的是最新的FB SDK.

谢谢.

Cha*_*rmi 8

根据新的API版本,它不可能得到朋友的FriendList或EmailId,但是如果你想要show FriendList使用Facebook的TaggableFriend功能.这个Taggable API需要来自Facebook的批准,这个API返回id,朋友的名字,个人资料图片URL.但是我不是FacebookId它的ID for wall.This唯一的方式来获取朋友.但如果你使用我/朋友它返回朋友和朋友的总数app用户的列表.由于您没有应用程序用户,因此只显示总朋友数.要实现此功能,您需要使用管理员帐户(创建Facebook ID的帐户)登录,您必须实现分页概念.

使用此Code Spinnet:"/ me /taggable_friends?fields = id,name,picture.type (large).


Kir*_*odi 4

您必须在登录时添加权限user_friends

需要具有权限的用户访问令牌user_friends才能查看该人的任何好友列表。

您只能找到安装相同应用程序的朋友,

API v2.0 及更高版本中仅返回安装此应用程序的好友。摘要中的total_count代表好友总数,包括尚未安装该应用的好友。

FBSDKGraphRequest *request = [[FBSDKGraphRequest alloc]
                              initWithGraphPath:@"me/friends"
                              parameters:nil
                              HTTPMethod:@"GET"];
[request startWithCompletionHandler:^(FBSDKGraphRequestConnection *connection,
                                      id result,
                                      NSError *error) {
    // Handle the result
}];
Run Code Online (Sandbox Code Playgroud)