Я следовал руководству по преобразованию кода, связанного с аутентификацией, и теперь выглядит так: < /p>
const List scopes = [
'email',
'https://www.googleapis.com/auth/contacts.readonly',
];
final _googleSignIn = GoogleSignIn.instance;
bool _isGoogleSignInInitialized = false;
Future _initializeGoogleSignIn() async {
try {
await _googleSignIn.initialize();
_isGoogleSignInInitialized = true;
} catch (e) {
print('Failed to initialize Google Sign-In: $e');
}
}
/// Always check Google sign in initialization before use
Future _ensureGoogleSignInInitialized() async {
if (!_isGoogleSignInInitialized) {
await _initializeGoogleSignIn();
}
}
Future getGoogleAccount() async {
await _ensureGoogleSignInInitialized();
GoogleSignInAccount? account;
try {
account = await _googleSignIn.authenticate(
scopeHint: scopes,
);
return account;
} on GoogleSignInException catch (e) {
print('Google Sign In error:\n$e');
return null;
} catch (error) {
print('Unexpected Google Sign-In error: $error');
return null;
}
}
< /code>
Когда я вызываю метод аутентификации, окно, которое позволяет мне вводить учетные данные или выбрать ранее регистрированную учетную запись, отображается правильно. Однако в конце операции метод бросает следующее исключение: < /p>
Код: Выделить всё
GoogleSignInException(code GoogleSignInExceptionCode.canceled, [16] Account reauth failed., null)
Что может быть причиной этой проблемы?
Подробнее здесь: https://stackoverflow.com/questions/797 ... -1-0-fails
Мобильная версия