2016-02-17 87 views
0

下面是我的代碼獲得Facebook的朋友登錄的用戶。獲取與Parse.com iOS版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]; 
       } 
      }]; 

     } 
    }]; 

林沒有得到任何結果和IM不知道爲什麼我遵循的步驟在這裏https://parse.com/questions/how-can-i-find-parse-users-that-are-facebook-friends-with-the-current-user

請幫忙

+0

您是否有任何朋友已經是同一個應用程序的用戶,並且已授予'user_friends'權限? – CBroe

+0

@CBroe嗨非我的Facebook的朋友正在使用的應用程序,解釋了爲什麼大聲笑。但是,如果代碼工作包括這個'initWithGraphPath:@「/ me/friends」' – Joey121

+0

我想它應該(儘管我對Android應用程序沒有什麼經驗)。我建議你通過應用程序儀表板創建一些測試用戶,讓他們成爲朋友,然後使用其中一個測試你的應用程序。 – CBroe

回答

1

user_friends Facebook權限只返回已批准應用程序的user_friends權限的用戶的朋友。

爲了讓一個人在一個人的好友列表中顯示,這兩個 人必須決定與你的應用程序 分享他們的好友列表和登錄過程中沒有禁用該權限。在登錄過程中,兩個朋友必須 都被要求提供user_friends。 1

因此,除非您的某些Facebook朋友已經批准了該應用的權限,否則您將收到一個空的朋友列表。