Firebase在Android中使用twitter登录,如何添加电子邮件

时间:2016-11-15 05:47:17

标签: android twitter firebase firebase-authentication

我已经使用Gmail,Facebook和Twitter实施了Firebase Auth,一开始我无法收到电子邮件,只要我使用Twitter返回的值始终为null,但经过一些挖掘后我找到了解决方案,现在我我通过单独请求获取用户的电子邮件地址,但我现在如何将此电子邮件添加到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

1 个答案:

答案 0 :(得分:2)

您可以致电user.updateEmail()

更新当前用户的电子邮件地址
FirebaseUser user = FirebaseAuth.getInstance().getCurrentUser();

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

Here是来自firebase的官方文件