Код:
Код: Выделить всё
uploadToGoogleDrive() async {
try {
final GoogleSignIn googleSignIn = GoogleSignIn(
clientId: clientId, scopes: [ga.DriveApi.driveFileScope]);
final GoogleSignInAccount? googleUser = await googleSignIn.signIn();
if (googleUser != null) {
final auth.AuthClient? client =
await googleSignIn.authenticatedClient();
final dir = await getApplicationDocumentsDirectory();
fa.File file = fa.File("${dir.path}/db_backup.isar");
await isar.copyToFile("${dir.path}/db_backup.isar");
ga.File fileToUpload = ga.File();
DateTime now = DateTime.now();
fileToUpload.name =
"${now.toIso8601String()}_${p.basename(file.absolute.path)}";
final drive = ga.DriveApi(client!);
ga.File x = await drive.files.create(fileToUpload,
uploadMedia: ga.Media(file.openRead(), file.lengthSync()));
if (x.id != null) {
print(x.id!); // this refers to the id of the file created in Google Drive
setState(() {
fileId = x.id!; //we save it in a variable called fileId
});
}
if (file.existsSync()) {
file.deleteSync();
}
} else {
if (context.mounted) {
ScaffoldMessenger.of(context)
.showSnackBar(const SnackBar(content: Text("Failed to sign in")));
}
}
} catch (e) {
if (context.mounted) {
ScaffoldMessenger.of(context)
.showSnackBar(SnackBar(content: Text(e.toString())));
}
}
}
Проблема:
При использовании clientId я получаю следующую ошибку:Код: Выделить всё
ERROR: PlatformException(sign_in_failed, com.google.android.gms.common.api.ApiException: 10: , null, null)
Зависимости:
Код: Выделить всё
dependencies:
googleapis: ^13.2.0
googleapis_auth: ^1.6.0
google_sign_in: ^6.2.1
extension_google_sign_in_as_googleapis_auth: ^2.0.12
Что я пробовал:
- Проверил правильность идентификатора клиента.
- Подтверждено, что ключ SHA-1 правильно добавлен в проект Google Cloud. Без SHA-1 знак Google не всплывает.
- Убедился, что экран согласия OAuth2 настроен правильно.
Вопрос:
Что может быть причиной этой проблемы при использовании clientId? Как я могу устранить ошибку PlatformException и успешно использовать clientId для входа в Google в моем приложении Flutter?Спасибо за помощь!
Подробнее здесь: https://stackoverflow.com/questions/788 ... ndroid-app
Мобильная версия