Android: GoogleAuthUtil.getToken – ¿De dónde viene el objeto de cuenta que se supone que viene?

GoogleAuthUtil.getToken requiere que sea su segundo parámetro un objeto de cuenta, pero cuando se conecta con Google SignIn lo que obtiene en el resultado es un GoogleSignInAccount, que no es lo mismo. ¿Hay alguna manera de convertir GoogleSignInAccount en un objeto Account?

private void handleSignInResult(GoogleSignInResult result) { if (result.isSuccess()) { googleSignInAccount = result.getSignInAccount(); } } 

Entonces despúes:

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

Sé que puedo recuperar la dirección de correo electrónico mostrando el accountpicker, y también puedo obtener la dirección de correo electrónico del resultado de inicio de sesión de Google, pero no puedo ver una forma de obtener el objeto de cuenta completo.

Usando la documentación aquí puede ver que la respuesta tiene KEY_ACCOUNT_NAME y KEY_ACCOUNT_TYPE. Por lo tanto, puede crear su propio objeto de cuenta

Código:

  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); } 
FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.