我尝试使用以下代码获取朋友列表,但我得到的是那些使用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 */
}];
答案 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文档参考
使用@"/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