如何使用图形 API 3.x 版本列出所有朋友



我尝试使用以下权限将用户登录到我的应用程序:

NSArray* permissions = [[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);
    }
}];

这些方法为我提供了朋友,他们也使用我的应用程序,而不是整个朋友列表。我的方法有什么问题?如何从用户那里获取完整的好友列表?

read_friendlists不是

为了获得朋友,而只是为了获取您创建的列表(其中没有任何朋友)。它还需要Facebook的批准才能使用它,但这绝对不是你想要的。

user_friends 用于访问授权您的应用程序的朋友,/me/friends .这将是适当的方式。

没有办法再让所有朋友都得到,除非你想标记朋友(taggable_friends)或邀请朋友参加Facebook Canvas上的游戏(invitable_friends)。

相关内容

  • 没有找到相关文章

最新更新