通过 Facebook iOS SDK 检索 Facebook 好友列表

Posted

技术标签:

【中文标题】通过 Facebook iOS SDK 检索 Facebook 好友列表【英文标题】:Retrieving Facebook friends list through Facebook iOS SDK 【发布时间】:2014-07-09 12:51:11 【问题描述】:

我正在尝试使用代码检索用户的 Facebook 好友列表

[FBRequestConnection startWithGraphpath:@"/me/friends"
                             parameters:nil HTTPMethod:@"GET"
                      completionHandler:^(
                                          FBRequestConnection *connection,
                                          id 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);
 
 ];

但每当我使用该代码时,它只会返回 Found: 0 个朋友。我将它放在 Viewcontroller 中,以便在用户通过 Facebook 登录后执行。我已经请求了 user_friends 权限,并且我有一个在应用程序上注册的朋友。如果它有任何区别,该应用程序也使用 Quickblox SDK,所以如果有任何方法可以做到这一点,那就太好了!

【问题讨论】:

请通过此链接developers.facebook.com/docs/ios 并使用最新的 Facebook sdk Facebook Graph Api v2.0 me/friends returns empty, or only friends who also use my app的可能重复 我已经安装了最新的 Facebook SDK 【参考方案1】:

使用此代码

FBRequest *friendsRequest = [FBRequest requestForMyFriends];
[friendsRequest startWithCompletionHandler:^(FBRequestConnection *connection,NSDictionary *result ,NSError *error)

    NSLog(@"Friend data :%@",result);
    NSArray *friends = [result objectForKey:@"data"];

    NSLog(@"friends :%@",friends);

    for (NSDictionary<FBGraphUser>* friend in friends) 

        NSLog(@"I have a friend named %@ with id %@",friend.name,friend.id);

         
];

【讨论】:

当我使用这个时,我得到了朋友数据:(null)和朋友:(null) @user3820460,您的任何朋友都应该使用您创建的 Facebook 应用程序,我认为不会获取您所有的朋友列表,哪些朋友使用应用程序,仅检索该列表 我让我的一个朋友通过模拟器登录应用,他有一个帐户,但显然没有安装在他的手机上或任何东西上,他只是通过模拟器登录。 @user3820460,然后你会得到好友列表数组包含一个成员,检查所有权限user_friends等... 我应该只需要 user_friends 的权限吧?我已经有了。【参考方案2】:

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

这是设计使然,已在此处讨论了数十次。

【讨论】:

我请求了 user_friends 的权限,并且我有一个在应用程序上注册的朋友,所以他应该按照那个答案出现吧? 抱歉,我刚开始在 *** 上提问。我编辑了它。

以上是关于通过 Facebook iOS SDK 检索 Facebook 好友列表的主要内容,如果未能解决你的问题,请参考以下文章

Facebook iOS SDK:检索用户的电话号码和国家

Facebook SDK iOS - 用户照片不会在发布版本中检索,但在调试版本中可以完美运行。 [关闭]

使用 Facebook IOS SDK 3.1 和 Graph API 发布带有标题的图片

Facebook iOS SDK - 分享用户照片

iOS Facebook SDK 权限未经审查

iOS Facebook SDK:性别被本地化