我的代码如下。
请注意:我要求用户登录才能将照片上传到用户的 Google 云端硬盘。
import 'dart:developer';
import 'package:google_sign_in/google_sign_in.dart';
GoogleSignIn _googleSignIn = GoogleSignIn(
scopes: <String>[
'https://www.googleapis.com/auth/drive.file',
],
);
class AuthManager {
static Future<GoogleSignInAccount?> signIn() async {
try {
final account = await _googleSignIn.signIn();
log('account: ${account?.toString()}', name: 'AuthManager');
return account;
} catch (error) {
log('signIn error:', name: 'AuthManager');
log(error.toString(), name: 'AuthManager');
return null;
}
}
static Future<void> signOut() async {
try {
_googleSignIn.disconnect();
} catch (error) {
print(error);
}
}
static Future<bool> isSignedIn() async {
return _googleSignIn.isSignedIn();
}
}
记录的错误是
[AuthManager]登录错误:
[AuthManager] PlatformException(sign_in_failed,com.google.android.gms.common.api.ApiException:10:,null,null)
我知道错误号 10 是“开发人员错误”,因为配置错误。
但是什么!!!?!?
实现类似的事情,您需要生成密钥库。请按照this指南获取详细答案。我建议您遵循 Android Studio 密钥生成步骤。