通过 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 SDK iOS - 用户照片不会在发布版本中检索,但在调试版本中可以完美运行。 [关闭]