2016-08-17 7 views
0

私は自分のアプリケーションでログインするためにiOSアプリケーションにfacebook統合を統合しています。 私たちが電話番号でFacebookにログインすると、iOSのfacebook APIから電子メールIDを取得することは可能ですか? 現在、私は次のコードを使用しています。iosで電話番号でログインすると、facebookからemaiil idを取得する方法は?

FBSDKLoginManager *login = [[FBSDKLoginManager alloc] init]; 
[login logInWithReadPermissions:@[@"email"] handler:^(FBSDKLoginManagerLoginResult *result, NSError *error) { 
    if (error) { 
     // Process error 
    } else if (result.isCancelled) { 
     // Handle cancellations 
    } else { 
     // If you ask for multiple permissions at once, you 
     // should check if specific permissions missing 

     if ([result.grantedPermissions containsObject:@"email"]) { 
      if ([FBSDKAccessToken currentAccessToken]) { 
       [[[FBSDKGraphRequest alloc] initWithGraphPath:@"me" parameters:nil] 
       startWithCompletionHandler:^(FBSDKGraphRequestConnection *connection, id result, NSError *error) { 
        if (!error) { 
         NSLog(@"fetched user:%@", result); 
        } 
       }]; 
      } 
     } 
    } 
}]; 
+0

NSLog(@ "fetched user:%@"、結果)を出力できますか? –

+0

@ Anbu.Karthik私たちは電子メールIDでログインしていますが、私は電子メールIDを取得していますが、電話番号でログインするとどうなりますか? –

+2

あなたのFacebookアカウントがMobile番号で作成されていて、email_idを追加していない場合は、email_idを取得できません。あなたのFacebookアカウントにはemail_idが追加されています。あなたはそれを得ることができます。他の賢明な電子メールのフィールドは、毎回空白です... –

答えて

0

ユーザーが電子メールでサインアップした場合は、電子メールアドレスを取得します。ユーザーが電話番号でサインアップした場合、電子メールフィールドが空になることがあります。 Facebookの開発者のリファレンスを見てください。

https://developers.facebook.com/docs/facebook-login/permissions#reference-email

注意、あなたはあなたがメールアドレスを取得することが保証されていない電子メールの許可を要求しても。たとえば、誰かが電子メールアドレスではなく電話番号でFacebookにサインアップした場合、電子メールフィールドは空白になることがあります。

関連する問題