如何使用iOS SDK在FB中获取用户的所有朋友
Posted
技术标签:
【中文标题】如何使用iOS SDK在FB中获取用户的所有朋友【英文标题】:How to get all the friends of the user in FB using iOS SDK 【发布时间】:2014-08-25 18:05:41 【问题描述】:FaceBook 从 2.0 版本开始推出新的 API,并要求用户升级到新的 SDK。 在我的 ios 应用程序(不是游戏)中,用户使用 Facebook 登录。在应用程序中,我可以选择显示用户的所有 FB 朋友(未使用应用程序的朋友)。
我尝试了以下代码,它返回正在使用该应用程序的朋友:
[FBRequestConnection startWithGraphpath:@"/me/friends"
parameters:nil
HTTPMethod:@"GET"
completionHandler:^(
FBRequestConnection *connection,
id result,
NSError *error
)
/* handle the result */
NSLog(@"%@", result);
];
下面的代码在我的应用程序中不起作用,因为我的应用程序不是游戏。根据 FB,以下代码仅适用于游戏。
FBRequest *request = [FBRequest requestWithGraphPath:@"me/invitable_friends"
parameters:@@"fields":@"name,installed,first_name"
HTTPMethod:@"GET"];
[request startWithCompletionHandler:^(FBRequestConnection *connection,
id result,
NSError *error)
NSLog(@"%@", result);
];
还有其他方法可以获取用户的朋友吗?
【问题讨论】:
不,没有办法。 invitable_friends 仅用于游戏且仅用于邀请用户,而 taggable_friends 仅用于标记用户。 【参考方案1】:根据document,使用新的 Facebook Graph API 2.0,无法获取所有朋友。
好友列表现在只返回也使用您的应用的好友:列表 通过 /me/friends 端点返回的朋友现在仅限于 已授权您的应用的朋友列表
【讨论】:
作为 iOS SDK 一部分提供的 FBFriendPickerViewController 能够显示登录用户的所有朋友。我不知道 FB 是怎么允许的,并阻止“我/朋友”返回所有朋友列表。以上是关于如何使用iOS SDK在FB中获取用户的所有朋友的主要内容,如果未能解决你的问题,请参考以下文章
为啥iOS上的FB SDK要求朋友列表的权限,而应用程序不要求它
我如何在 iOS sdk 的 facebook 上获取好友生日和用户生日
如何在不刷新页面的情况下使用 JS SDK 检测从 fb 注销