2016-11-15 11 views
2

Gmail、Facebook、TwitterでFirebase Authを実装していますが、Twitterを使用するたびに電子メールを受け取ることができませんでした。私は解決策を見つけましたが、今は別にリクエストしてユーザーの電子メールアドレスを取得していますが、このメールをFirebaseにどのように追加できますか?上記Firebaseログインアンドロイドのツイッターでログインしてメールを追加する方法

protected void handleTwitterSession(TwitterSession session) { 
     Log.d(TAG, "handleTwitterSession:" + session); 

    AuthCredential credential = TwitterAuthProvider.getCredential(
      session.getAuthToken().token, 
      session.getAuthToken().secret); 

    mAuth.signInWithCredential(credential) 
      .addOnCompleteListener(context, new OnCompleteListener<AuthResult>() { 
       @Override 
       public void onComplete(@NonNull Task<AuthResult> task) { 
        Log.e(TAG, "signInWithCredential:onComplete:" + task.isSuccessful()); 

        Log.e(TAG, "user:" + task.getResult().getUser().getUid() + " : " + task.getResult().getUser().getDisplayName() + " : " 
          + task.getResult().getUser().getEmail() + " : "+ task.getResult().getUser().getPhotoUrl()); 

        // If sign in fails, display a message to the user. If sign in succeeds 
        // the auth state listener will be notified and logic to handle the 
        // signed in user can be handled in the listener. 
        if (!task.isSuccessful()) { 
         Log.e(TAG, "signInWithCredential", task.getException()); 
        } 
       } 
      }); 
} 

私が今使っている方法であり、電子メールを追加する方法はありませんし、私のfirebaseダッシュボードの上に、それはあなたが現在のユーザーの電子メールを更新することができ、電子メール

empty value for mail

答えて

2

ために空の値を示していますuser.updateEmail()

FirebaseUser user = FirebaseAuth.getInstance().getCurrentUser(); 

user.updateEmail("[email protected]") 
    .addOnCompleteListener(new OnCompleteListener<Void>() { 
     @Override 
     public void onComplete(@NonNull Task<Void> task) { 
      if (task.isSuccessful()) { 
       Log.d(TAG, "User email address updated."); 
      } 
     } 
    }); 

Hereを呼び出すことによってアドレスがfirebaseからの公式文書である

+0

大丈夫、私は助けてくれてありがとう。 10K向け、コンゴ – TapanHP

+0

ハハおかげさまで:) –

関連する問題