2014-11-02 50 views
2

我正在製作一個利用用戶的Facebook好友列表的應用程序。我在我的分析後端名爲fbFriendsList的數組類型列。環顧四周,到目前爲止,我有這樣的:如何檢索Facebook好友列表並將其保存爲解析?

//my permission array 
NSArray *permissionsArray = @[ @"user_about_me",@"email", @"user_friends"]; 
//My fb request for friends after verifying that user is logging in the first time  
[FBRequestConnection startForMyFriendsWithCompletionHandler:^(FBRequestConnection *connection, id result, NSError *error) { 
         if (!error) { 

          NSArray *friendObjects = [result objectForKey:@"data"]; 
          //fbFriendIds is a Mutable array i have declared 
          fbFriendIds = [NSMutableArray arrayWithCapacity:friendObjects.count]; 
          // Create a list of friends' Facebook IDs 
          for (NSDictionary *friendObject in friendObjects) { 
           [fbFriendIds addObject:[friendObject objectForKey:@"id"]]; 
          } 

         } 
        }]; 

通過這樣做,我沒有收到列表中的任何朋友。所以我試過這一個:

FBRequest* friendsRequest = [FBRequest requestForMyFriends]; 
       [friendsRequest startWithCompletionHandler: ^(FBRequestConnection *connection, 
                   NSDictionary* result, 
                   NSError *error) { 
        friends = [result objectForKey:@"data"]; 
        NSLog(@"Found: %i friends", friends.count); 
        for (NSDictionary<FBGraphUser>* friend in friends) { 
         NSLog(@"I have a friend named %@ with id %@", friend.name, friend.id); 
        } 
       }]; 

但我仍然沒有得到朋友。後來在一個函數,我數組保存到PFUser這樣

user[@"fbFriendsList"] = friends; 


[user saveInBackground]; 

但這返回Found: 0。爲什麼這些方法不能檢索朋友列表?我怎麼做,並將其保存到我的後端解析?

回答

3

自2014年4月,你只能得到誰授權你的應用程序太的用戶,看看更新日誌:https://developers.facebook.com/docs/apps/changelog

誰沒有授權應用的用戶有沒有可能知道,如果你存儲數據,所以如果你考慮隱私,這是有道理的。

現在所有朋友的唯一方法是使用invitable_friends邀請用戶加入您的應用,taggable_friends用於標記用戶。但在你的情況下,沒有辦法讓他們全部。

+0

但我有另一個應用程序代碼。它是像幾個月前建造的,並且使用相同的方法仍然正常工作。 – NSNoob 2014-11-02 14:41:27

+1

閱讀更新日誌。舊版應用(2014年4月底之前創建)仍然可以使用v1.0,該版本會將所有朋友返回到2015年4月。 – luschn 2014-11-02 14:48:55

+0

好的,您能否解釋此部分「邀請與請求具有相同的行爲,並將收件人指向以下某個 您在Facebook上的應用程序Canvas。 您的iOS或Android上的本機應用程序(如果已安裝) Apple App Store或Google Play(如果未安裝)。我可以使用這些東西在iOS應用上添加朋友嗎?即使我沒有使用fb canvas – NSNoob 2014-11-02 15:15:30

相關問題