以下是我的代码,以获取登录用户的Facebook好友。
FBSDKGraphRequest *request = [[FBSDKGraphRequest alloc] initWithGraphPath:@"/me/friends" parameters:@{@"fields": @"email, name, first_name, last_name, user_friends, id"}];
[request startWithCompletionHandler:^(FBSDKGraphRequestConnection *connection, id result, NSError *error)
{
if (!error)
{
NSArray *friendObjects = [result objectForKey:@"data"];
NSMutableArray *friendIds = [NSMutableArray arrayWithCapacity:friendObjects.count];
// Create a list of friends' Facebook IDs
for (NSDictionary *friendObject in friendObjects) {
[friendIds addObject:[friendObject objectForKey:@"id"]];
}
// Construct a PFUser query that will find friends whose facebook ids
// are contained in the current user's friend list.
PFQuery *friendQuery = [PFUser query];
[friendQuery whereKey:@"fbId" containedIn:friendIds];
[friendQuery findObjectsInBackgroundWithBlock:^(NSArray *objects, NSError *error) {
if (error) {
} else {
self.friendUsers = objects; // self.friendUsers in array
[self.tableView reloadData];
}
}];
}
}];
我没有得到任何结果,我不知道为什么我按照这里的步骤https://parse.com/questions/how-can-i-find-parse-users-that-are-facebook-friends-with-the-current-user
请帮助
答案 0 :(得分:1)
user_friends Facebook权限仅返回已批准该应用user_friends
权限的用户的朋友。
为了让一个人出现在一个人的朋友列表中,两者都是 人们必须决定与您的应用分享他们的朋友列表 并且在登录期间未禁用该权限。这两个朋友也必须 在登录过程中被要求提供user_friends。 1
因此,除非你的一些Facebook好友已经批准了同一个应用程序的许可,否则你将获得一个空朋友的名单。