Firebase在android中使用twitter登录,如何添加电子邮件
我已经用Gmail、Facebook和Twitter实现了Firebase Auth,一开始我在使用Twitter时无法收到电子邮件,返回的值总是Firebase在android中使用twitter登录,如何添加电子邮件,android,twitter,firebase,firebase-authentication,Android,Twitter,Firebase,Firebase Authentication,我已经用Gmail、Facebook和Twitter实现了Firebase Auth,一开始我在使用Twitter时无法收到电子邮件,返回的值总是null,但经过一些挖掘,我找到了解决方案,现在我通过单独请求获得了用户的电子邮件地址,但现在我如何将此电子邮件添加到Firebase protected void handleTwitterSession(TwitterSession session) { Log.d(TAG, "handleTwitterSession:" + s
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());
}
}
});
}
受保护的无效handleTwitterSession(TwitterSession会话){
Log.d(标签“handleTwitterSession:+会话”);
AuthCredential credential=TwitterAuthProvider.getCredential(
session.getAuthToken().token,
session.getAuthToken().secret);
mAuth.SIGNWITH凭证(凭证)
.addOnCompleteListener(上下文,新的OnCompleteListener您可以通过调用user.updateEmail()
FirebaseUser user=FirebaseAuth.getInstance().getCurrentUser();
user.updateMail(“user@example.com")
.addOnCompleteListener(新的OnCompleteListener(){
@凌驾
未完成的公共void(@NonNull任务){
if(task.issusccessful()){
Log.d(标记“用户电子邮件地址已更新”);
}
}
});
是firebase的官方文件吗
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.");
}
}
});