2016-01-05 124 views
0

我正在使用pod'Facebook-iOS-SDK'爲facebook登錄在我的應用程序。我需要用戶的ID,姓名和電子郵件地址。這是我用來獲取數據的代碼。ios Facebook登錄,電子郵件不返回一些Facebook帳戶

- (IBAction)btnFacebookPressed:(id)sender { 
    FBSDKLoginManager *login = [[FBSDKLoginManager alloc] init]; 
    login.loginBehavior = FBSDKLoginBehaviorBrowser; 
    [login logInWithReadPermissions:@[@"email"] handler:^(FBSDKLoginManagerLoginResult *result, NSError *error) 
    { 
     if (error) 
     { 
      // Process error 
     } 
     else if (result.isCancelled) 
     { 
      // Handle cancellations 
     } 
     else 
     { 
      if ([result.grantedPermissions containsObject:@"email"]) 
      { 
       NSLog(@"result is:%@",result); 
       [self fetchUserInfo]; 
       [login logOut]; // Only If you don't want to save the session for current app 
      } 
     } 
    }]; 
} 
-(void)fetchUserInfo 
{ 
    if ([[FBSDKAccessToken currentAccessToken]hasGranted:@"email"]) 
    { 
     NSLog(@"Token is available : %@",[[FBSDKAccessToken currentAccessToken]tokenString]); 

     [[[FBSDKGraphRequest alloc] initWithGraphPath:@"me" parameters:@{@"fields": @"id, name, link, first_name, last_name, picture.type(large), email"}] 
     startWithCompletionHandler:^(FBSDKGraphRequestConnection *connection, id result, NSError *error) { 
      if (!error) 
      { 
       NSLog(@"resultis:%@",result); 

      } 
      else 
      { 
       NSLog(@"Error %@",error); 
      } 
     }]; 
    }else{ 
     [self btnFacebookPressed:nil]; 
    } 
} 

我不能讓電子郵件我的大部分朋友的Facebook登入的。 在此先感謝。

回答

0

如果你得到了一些帳戶的電子郵件,但不是所有的人,也有2個原因:

  • 你的朋友否認了電子郵件的權限
  • 他們的電子郵件地址不確認或他們已經使用他們的手機登錄 - 我相信這是可能的,而不是電子郵件
+0

感謝@luschn,它是一個經過驗證的電子郵件地址,我用電子郵件地址登錄。 –

+0

所以它是關於您的帳戶?我雖然它是爲一些用戶工作,但對於一些它不是? – luschn

相關問題