Я интегрирую Google Drive в свое приложение с Google Drive API, и мне нужно было использовать Google Sign In API для доступа к учетной записи.Я получил свой userTokenID из Google API Console (я использую веб-клиент OAuth 2.0), используя руководство от Google .Вот мой GSO для единого:
GoogleSignInOptions gso = new GoogleSignInOptions.Builder(GoogleSignInOptions.DEFAULT_SIGN_IN)
.requestEmail()
.requestIdToken(getString(R.string.google_id_client))
.requestScopes(Drive.SCOPE_APPFOLDER)
.requestScopes(Drive.SCOPE_FILE)
.build();
До входа в систему
Проблема заключается в том, что при регистрации нового аккаунта на выбранном, как видно на картинкениже:
Добавление новой выбранной учетной записи
и регистрация заканчивается, экран остается серым, как показано ниже:
Экран остается серым послевойдите в систему
и onActivityResult () никогда не вызывается по какой-либо причине.После нажатия на экране наложения все возвращается к началу, и я улавливаю код ошибки Google 8: ВНУТРЕННЯЯ ОШИБКА в этой части кода:
private void handleSignInResult(Task<GoogleSignInAccount> completedTask) {
try {
// Signed in successfully, show authenticated UI.
if (completedTask.getResult(ApiException.class) != null) {
mPresenter.firstPreparations();
selectedItems = new ArrayList<>();
changeVisibility(true);
}
} catch (ApiException e) {
// The ApiException status code indicates the detailed failure reason.
// Please refer to the GoogleSignInStatusCodes class reference for more information.
Log.e(TAG, e.getStatusCode()+"");
changeVisibility(false);
}
}
Вход в систему работает только тогда, когда учетная запись зарегистрирована нателефон.
То, что я пробовал:
- Создание новых идентификаторов tokenID в случае, если я их сгенерировал неправильно, но без использования
- Не используя tokenID, но сценарийтакое же