Flutter Google Sign In 7.1.1版本出现GetCredentialResponse错误(无可用凭证)的解决方法求助
Flutter Google Sign In 7.1.1版本出现GetCredentialResponse错误(无可用凭证)的解决方法求助
大家好,我现在在Flutter项目里用google_sign_in 7.1.1版本实现Google登录(注意没有集成Firebase),遇到了一个卡了好久的问题,想请教下有没有同学碰到过或者知道解决思路?
我已经完成的准备工作:
- 在Google Cloud控制台配置了OAuth同意屏幕
- 创建了两个OAuth 2.0客户端ID:一个是关联了正确SHA-1的Android客户端,另一个是Web客户端
- 反复核对了SHA-1指纹和应用包名,确认完全正确,都核对快十次了😮💨
我的登录实现代码如下:
void signInWithGoogleHandler() async { String serverClientId = '216401477173-5s8qhqnhdc83jd9mp8n18av0ir2ht70f.apps.googleusercontent.com'; if (!termsAccepted) { showTermsNotAcceptedDialog(); return; } try { await GoogleSignIn.instance.initialize(serverClientId: serverClientId); final GoogleSignInAccount account = await GoogleSignIn .instance.authenticate(); print('User logged in: ${account.displayName}'); } catch (e, stack) { print('Error: $e\n$stack'); } }
运行时会抛出如下错误:
I/CredManProvService(21480): GetCredentialResponse error returned from framework I/flutter (21480): Error: GoogleSignInException(code GoogleSignInExceptionCode.unknownError, No credential available: No credentials available, null) I/flutter (21480): #0 GoogleSignInAndroid._authenticate (package:google_sign_in_android/google_sign_in_android.dart:184:9) I/flutter (21480): <asynchronous suspension> I/flutter (21480): #1 GoogleSignInAndroid.authenticate (package:google_sign_in_android/google_sign_in_android.dart:73:57) I/flutter (21480): <asynchronous suspension> I/flutter (21480): #2 GoogleSignIn.authenticate (package:google_sign_in/google_sign_in.dart:480:44) I/flutter (21480): <asynchronous suspension> I/flutter (21480): #3 _HomePageState.signInWithGoogleHandler (package:generic_talk/pages/home_page.dart:156:43) I/flutter (21480): <asynchronous suspension>
补充说明:如果我把google_sign_in库降级到6.x版本,不用修改任何代码就能正常完成登录,但我希望能在7.1.1版本上解决这个问题,避免后续的版本兼容风险。
有没有同学知道这个错误的可能原因或者解决方向?麻烦指点一下,非常感谢!
内容来源于stack exchange
相关产品推荐
相关产品推荐

