GoogleSignIn.requestPermissions возвращает недействительный аккаунт - PullRequest
0 голосов
/ 27 июня 2019

Я использую GoogleSignIn для доступа к API Google Фото и управления OAuth.

При условии получения действительного аккаунта с помощью startActivityForResult, Когда я вызываю GoogleSignIn.requestPermissions, Тогда предыдущий действующий аккаунт становится недействительным (account.object больше не содержит электронную почту). Возвращенная учетная запись имеет разрешенные разрешения.

Я получаю предоставленный аккаунт с помощью GoogleSignIn.getLastSignedInAccount.

GoogleSignIn.requestPermissions(
                    MainActivity.this,
                    RC_AUTHORIZE_PHOTOS,
                    GoogleSignIn.getLastSignedInAccount(MainActivity.this),
                    new Scope("https://www.googleapis.com/auth/photoslibrary.readonly"));

тогда

GoogleSignInAccount account = GoogleSignIn.getLastSignedInAccount(getApplicationContext());

возвращает аккаунт с account.getAccount == null

1 Ответ

0 голосов
/ 11 июля 2019

В качестве обходного пути я вызываю requestPermissions при вызове входа. В результате getLastSignedInAccount всегда корректен.

GoogleSignInOptions gso = new GoogleSignInOptions.Builder(GoogleSignInOptions.DEFAULT_SIGN_IN)
            .requestScopes(new Scope(Scopes.EMAIL), SCOPE_PHOTOS_READ)
            .build();
GoogleSignInClient mGoogleSignInClient = GoogleSignIn.getClient(activity, gso);
Intent signInIntent = mGoogleSignInClient.getSignInIntent();
activity.startActivityForResult(signInIntent, MainActivity.RC_SIGN_IN);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...