使用Firebase登录后如何获取Twitter用户的用户名。 ANDROID [重复]

问题描述 投票:0回答:1

我正在使用他们的Twitter帐户向Firebase验证用户。但是我不知道如何获得UserName

这是我的代码。我已经尝试了一切...

 @Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        super.onActivityResult(requestCode, resultCode, data);

    if (requestCode == RC_SIGN_IN) {
        IdpResponse response = IdpResponse.fromResultIntent(data);



        //mAuth.getAccessToken()
        //AuthResult rs = FirebaseAuth;
        if (resultCode == RESULT_OK) {
            // Successfully signed in
         user = FirebaseAuth.getInstance().getCurrentUser();

          AuthResult rs = (AuthResult) response.getCredentialForLinking();
          String uno =  rs.getAdditionalUserInfo().getUsername();
          Toast.makeText(getApplicationContext(), uno,Toast.LENGTH_SHORT).show();



         //  Intent i = new Intent(MainActivity.this,Main2Activity_tapeo.class);
           // startActivity(i);

            // ...
        } else {
            Toast.makeText(getApplicationContext(),response.getError().getErrorCode()+" "+ response.getError().getErrorCode(),Toast.LENGTH_LONG).show();
            // Sign in failed. If response is null the user canceled the
            // sign-in flow using the back button. Otherwise check
            // response.getError().getErrorCode() and handle the error.
            // ...
        }
    }
}`
java android firebase twitter firebase-authentication
1个回答
0
投票

无法使用以下代码从FirebaseUser对象获取Twitter帐户的用户名:

Firebaseuser firebaseuser = FirebaseAuth.getInstance().getCurrentUser();
String displayName = firebaseuser.getDisplayName(); //Is not possible

FirebaseUser对象不提供此类信息。但是,您仍然可以使用附加用户信息的getUsername()方法来获取用户名:

如果提供者是GitHub或Twitter,则返回用户名。

要查看代码中的外观,请查看有关如何进行handle the sign-in flow with the Firebase SDK的官方文档,您将在其中找到一个有效的示例。

看,你必须打电话给getPendingAuthResult()

firebaseAuth.getAdditionalUserInfo();

为了能够获得用户名。

© www.soinside.com 2019 - 2024. All rights reserved.