2015-09-30 3 views
0
var request = FBSDKGraphRequest(graphPath:"/me/friends", parameters: nil); 

request.startWithCompletionHandler { (connection : FBSDKGraphRequestConnection!, result : AnyObject!, error : NSError!) -> Void in 
    if error == nil { 
     println("Friends are : \(result)") 
    } else { 
     println("Error Getting Friends \(error)"); 
    } 

----------------------------------- Мой журнал --- ----------------------
Не удается получить friendList

Friends are : { 
    data =  (
    ); 
    summary =  { 
     "total_count" = 714; 
    }; 
} 

Как я принести в facebook друзей пользователя, которые используют это приложение. Пожалуйста помоги. Любая помощь будет доступна. thankx заранее.

+0

Опубликован ли ваш знакомый? – Rumin

+0

да, мой список друзей является общедоступным. – Smit

ответ

1

Вы не можете напрямую получить всех друзей от facebook, потому что они не позволят это. Но вы можете сделать следующее: однако вы не сможете получить идентификатор facebook для этих друзей, вы можете получить только имена и профиль pic

Примечание: вам нужно получить разрешение на использование facebook для использования taggable_friends.

Вы должны проверить, как показано ниже для вашего разрешения предоставляются успешно или нет, то вы можете проверить список друзей.

if (FBSession.activeSession.state == FBSessionStateOpen 
      || FBSession.activeSession.state == FBSessionStateOpenTokenExtended) 
     { 
      [self loadFacebookFriends]; 
     } 
     else 
     { 
      [FBSession openActiveSessionWithReadPermissions:@[@"public_profile,email,user_friends"] allowLoginUI:YES completionHandler: 
      ^(FBSession *session, FBSessionState state, NSError *error) 
      { 
       if (!error) 
       { 
        if (state == FBSessionStateOpen) 
        { 
         [FBSession setActiveSession:session]; 

         [self loadFacebookFriends]; 

        } 
        else 
        { 
         NSLog(@"Status :%ld",(unsigned long)state); 
        } 
       } 
       else 
       { 
        // Could not connect 
       } 
      }]; 
     } 
-(void)loadFacebookFriends 
{ 
    // SEND REQUEST FOR FRIEND LISTs 
    FBRequest* friendsRequest = [FBRequest requestForGraphPath:@"/me/friends"]; 
    [friendsRequest startWithCompletionHandler: ^(FBRequestConnection *connection,NSDictionary* result,NSError *error) 
    { 
     [appDelegate activityHide]; 

     if (error) 
     { 
      return ; 
     } 

     NSArray* friends = [result objectForKey:@"data"]; 
     NSLog(@"Found: %lu friends", (unsigned long)friends.count); 
    }]; 
} 

** Примечание: Если вы используете IOS 9 вам необходимо предоставить следующие разрешения для вашего приложения в info.plist. Вы также можете обратиться по этой ссылке https://developers.facebook.com/docs/ios/ios9 **

Добавить ниже транспорта Securtiy в вашем info.plist

<key>NSAppTransportSecurity</key> 
<dict> 
    <key>NSExceptionDomains</key> 
    <dict> 
     <key>graph.facebook.com</key> 
     <dict> 
      <key>NSIncludesSubdomains</key> 
      <true/> 
      <key>NSExceptionRequiresForwardSecrecy</key> 
      <false/> 
      <key>NSExceptionAllowsInsecureHTTPLoads</key> 
      <true/> 
     </dict> 
     <key>facebook.com</key> 
     <dict> 
      <key>NSIncludesSubdomains</key> 
      <true/> 
      <key>NSExceptionRequiresForwardSecrecy</key> 
      <false/> 
      <key>NSExceptionAllowsInsecureHTTPLoads</key> 
      <true/> 
     </dict> 
     <key>fbcdn.net</key> 
     <dict> 
      <key>NSIncludesSubdomains</key> 
      <true/> 
      <key>NSExceptionRequiresForwardSecrecy</key> 
      <false/> 
     </dict> 
     <key>akamaihd.net</key> 
     <dict> 
      <key>NSIncludesSubdomains</key> 
      <true/> 
      <key>NSExceptionRequiresForwardSecrecy</key> 
      <false/> 
     </dict> 
    </dict> 
</dict> 
<key>LSApplicationQueriesSchemes</key> 
<array> 
    <string>fbapi</string> 
    <string>fbapi20130214</string> 
    <string>fbapi20130410</string> 
    <string>fbapi20130702</string> 
    <string>fbapi20131010</string> 
    <string>fbapi20131219</string> 
    <string>fbapi20140410</string> 
    <string>fbapi20140116</string> 
    <string>fbapi20150313</string> 
    <string>fbapi20150629</string> 
    <string>fbauth</string> 
    <string>fbauth2</string> 
    <string>fb-messenger-api20140430</string> 
    <string>fb-messenger-platform-20150128</string> 
    <string>fb-messenger-platform-20150218</string> 
    <string>fb-messenger-platform-20150305</string> 
</array> 
+0

Я только то, что друзья, которые используют приложение, но не могут получить список друзей. – Smit

+0

@SmitThakkar, пожалуйста, проверьте мой отредактированный ответ. Это может быть полезно для вас. –

+0

круто надеюсь, что я пытаюсь понять, но так как в объективном c это будет сложно. В любом случае thankx за вашу помощь. – Smit

0

Последний FB SDK не будет предоставлять доступ к выборкам facebook друзьям, не используя приложение. Вы получите список только тех друзей, которые используют ваше приложение.

0

Другое дело, что я не взял разрешение хорошо Thankx вам помочь.

Смежные вопросы