9

GoogleAuthUtil.getToken wymaga, aby jego drugi parametr był obiektem kont, ale po połączeniu się z Google SignIn otrzymasz wynik GoogleSignInAccount - co nie jest tym samym. Czy istnieje sposób na konwersję konta GoogleSignInAccount na obiekt konta?Android: GoogleAuthUtil.getToken - gdzie powinien znajdować się obiekt konta?

private void handleSignInResult(GoogleSignInResult result) { 

     if (result.isSuccess()) { 

      googleSignInAccount = result.getSignInAccount(); 

     } 
    } 

potem:

authToken = GoogleAuthUtil.getToken(context, [need an account here], scope); 

wiem, że mogę dostać adres e-mail z powrotem, wyświetlając accountpicker i mogę również uzyskać adres e-mail z signin google skutkować - ale nie mogę” t zobaczyć sposób na uzyskanie całego obiektu konta.

Odpowiedz

6

Korzystając z dokumentacji here widać, że odpowiedź ma KEY_ACCOUNT_NAME i KEY_ACCOUNT_TYPE. W związku z tym można tworzyć własne Account object

Kod:

if (requestCode == REQUEST_CODE_PICK_ACCOUNT) { 
      // Receiving a result from the AccountPicker 
      if (resultCode == RESULT_OK) { 
       mEmail = data.getStringExtra(AccountManager.KEY_ACCOUNT_NAME); 
       mType = data.getStringExtra(AccountManager.KEY_ACCOUNT_TYPE); 
       // With the account name acquired, go get the auth token 
       Account account = new Account(mEmail, mType); 
       String token = GoogleAuthUtil.getToken(context, account, mScope); 
      } 
Powiązane problemy