我尝试使用以下权限让用户登录到我的应用:
NSArray* 权限 = [[NSArray alloc] initWithObjects:@"email", @"read_friendlists", @"user_friends", nil];
登录后我没有获得“read_friendlists”权限
[FBRequestConnection startWithGraphPath:@"/me/permissions"...];
要求。
我想这就是我无法获得完整好友列表的原因。
我尝试通过以下方法获取列表:
[FBRequestConnection startWithGraphPath:@"me/friends"
parameters:nil
HTTPMethod:@"GET"
completionHandler:^(
FBRequestConnection *connection,
id result,
NSError *error
) {
NSLog(@"FriendList: %@", result);
/* handle the result */
}];
和
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>* friendIns in friends) {
NSLog(@"I have a friend named %@ with id %@", friendIns.name, friendIns.id);
}
}];
这些方法为我提供了也使用我的应用程序的 friend ,而不是整个 friend 列表。 我的方法有什么问题? 如何从用户那里获取完整的好友列表?
最佳答案
read_friendlists
不是用来获取 friend 的,而只是用来获取你创建的列表(没有任何 friend 在里面)。它还需要 Facebook 的批准才能使用,但这绝对不是您想要的。
user_friends
用于访问授权您的应用程序的 friend ,使用 /me/friends
。这将是合适的方式。
无法再获得所有好友,除非您想标记好友 (taggable_friends) 或邀请好友加入 Facebook Canvas 的游戏 (invitable_friends)。
关于ios - 如何列出所有使用 Graph API 3.x 版本的 friend ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27489023/