通过Parse.com iOS获取Facebook好友

时间:2016-02-17 12:20:32

标签: ios facebook parse-platform

以下是我的代码,以获取登录用户的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

请帮助

1 个答案:

答案 0 :(得分:1)

user_friends Facebook权限仅返回已批准该应用user_friends权限的用户的朋友。

  

为了让一个人出现在一个人的朋友列表中,两者都是   人们必须决定与您的应用分享他们的朋友列表   并且在登录期间未禁用该权限。这两个朋友也必须   在登录过程中被要求提供user_friends。 1

因此,除非你的一些Facebook好友已经批准了同一个应用程序的许可,否则你将获得一个空朋友的名单。