PlatformException(sign_in_failed, com.google.android.gms.common.api.ApiException: 10: , null, null) 尝试在 flutter 中使用 googleSignIn 时

ita*_*bin 7 android google-api firebase google-signin flutter

我已经阅读了我能找到的所有 Stackoverflow 问题和 github 问题,但没有任何效果。

\n

我正在尝试使用 GoogleSignIn 登录并验证日历范围。

\n

我有 -

\n
    \n
  • 使用 Android Studio 中的 gradle 任务来获取我的 SHA-1 和 SHA256 指纹。
  • \n
  • 将 SHA-1 添加到 Google 云控制台中的 OAuth2 凭据中。
  • \n
  • 将 SHA-1 和 SHA256 密钥添加到我的 Firebase 控制台
  • \n
  • 执行此操作后替换了 google-services.json 文件。
  • \n
  • 添加classpath 'com.google.gms:google-services:4.3.10'到我的项目的 build.gradle 文件中,\n以及apply plugin: 'com.google.gms.google-services' 我的应用程序的 build.gradle 文件中。
  • \n
  • 追赶flutter clean这一切。
  • \n
\n

我在手机和模拟器上在调试和发布模式下检查了它。

\n

有人知道我错过了什么吗?

\n

这是我的代码:

\n

这是在 initState() 中:

\n
    _signIn.onCurrentUserChanged.listen((user) async {\n      if(user != null) {\n        d.log('${user.id}, ${user.email}, ${user.photoUrl}');\n        final authUser = (await _signIn.authenticatedClient());\n        if(authUser == null) {\n          d.log('no user');\n        } else {\n          _calendar = CalendarApi(authUser);\n        }\n      }\n    });\n
Run Code Online (Sandbox Code Playgroud)\n

这是当我按下登录按钮时:

\n
  void _onPress() {\n    if(_calendar == null) {\n      _signIn.signIn();\n    } else {\n      ...\n      });\n    }\n  }\n
Run Code Online (Sandbox Code Playgroud)\n

这是我的flutter doctor -v

\n
[\xe2\x88\x9a] Flutter (Channel stable, 2.10.3, on Microsoft Windows [Version 10.0.19041.572], locale en-IL)\n    \xe2\x80\xa2 Flutter version 2.10.3 at D:\\flutter\\flutter\n    \xe2\x80\xa2 Upstream repository https://github.com/flutter/flutter.git\n    \xe2\x80\xa2 Framework revision 7e9793dee1 (11 days ago), 2022-03-02 11:23:12 -0600\n    \xe2\x80\xa2 Engine revision bd539267b4\n    \xe2\x80\xa2 Dart version 2.16.1\n    \xe2\x80\xa2 DevTools version 2.9.2\n\n[\xe2\x88\x9a] Android toolchain - develop for Android devices (Android SDK version 32.1.0-rc1)\n    \xe2\x80\xa2 Android SDK at C:\\Users\\Itay Rabin\\AppData\\Local\\Android\\sdk\n    \xe2\x80\xa2 Platform android-32, build-tools 32.1.0-rc1\n    \xe2\x80\xa2 Java binary at: C:\\Program Files\\Android\\Android Studio\\jre\\bin\\java\n    \xe2\x80\xa2 Java version OpenJDK Runtime Environment (build 11.0.11+9-b60-7590822)\n    \xe2\x80\xa2 All Android licenses accepted.\n\n[\xe2\x88\x9a] Chrome - develop for the web\n    \xe2\x80\xa2 Chrome at C:\\Program Files (x86)\\Google\\Chrome\\Application\\chrome.exe\n\n[X] Visual Studio - develop for Windows\n    X Visual Studio not installed; this is necessary for Windows development.\n      Download at https://visualstudio.microsoft.com/downloads/.\n      Please install the "Desktop development with C++" workload, including all of its default components\n\n[\xe2\x88\x9a] Android Studio (version 2021.1)\n    \xe2\x80\xa2 Android Studio at C:\\Program Files\\Android\\Android Studio\n    \xe2\x80\xa2 Flutter plugin can be installed from:\n       https://plugins.jetbrains.com/plugin/9212-flutter\n    \xe2\x80\xa2 Dart plugin can be installed from:\n       https://plugins.jetbrains.com/plugin/6351-dart\n    \xe2\x80\xa2 Java version OpenJDK Runtime Environment (build 11.0.11+9-b60-7590822)\n\n[\xe2\x88\x9a] IntelliJ IDEA Community Edition (version 2020.3)\n    \xe2\x80\xa2 IntelliJ at C:\\Program Files\\JetBrains\\IntelliJ IDEA Community Edition 2020.3.2\n    \xe2\x80\xa2 Flutter plugin can be installed from:\n       https://plugins.jetbrains.com/plugin/9212-flutter\n    \xe2\x80\xa2 Dart plugin can be installed from:\n       https://plugins.jetbrains.com/plugin/6351-dart\n\n[\xe2\x88\x9a] Connected device (3 available)\n    \xe2\x80\xa2 AOSP on IA Emulator (mobile) \xe2\x80\xa2 emulator-5554 \xe2\x80\xa2 android-x86    \xe2\x80\xa2 Android 9 (API 28) (emulator)\n    \xe2\x80\xa2 Windows (desktop)            \xe2\x80\xa2 windows       \xe2\x80\xa2 windows-x64    \xe2\x80\xa2 Microsoft Windows [Version 10.0.19041.572]\n    \xe2\x80\xa2 Chrome (web)                 \xe2\x80\xa2 chrome        \xe2\x80\xa2 web-javascript \xe2\x80\xa2 Google Chrome 99.0.4844.51\n\n[\xe2\x88\x9a] HTTP Host Availability\n    \xe2\x80\xa2 All required HTTP hosts are available\n\n! Doctor found issues in 1 category.\n\n
Run Code Online (Sandbox Code Playgroud)\n

这是我得到的错误:

\n
E/flutter ( 4782): [ERROR:flutter/lib/ui/ui_dart_state.cc(209)] Unhandled Exception: PlatformException(sign_in_failed, com.google.android.gms.common.api.ApiException: 10: , null, null)\nE/flutter ( 4782): #0      StandardMethodCodec.decodeEnvelope (package:flutter/src/services/message_codecs.dart:607:7)\nE/flutter ( 4782): #1      MethodChannel._invokeMethod (package:flutter/src/services/platform_channel.dart:177:18)\nE/flutter ( 4782): <asynchronous suspension>\nE/flutter ( 4782): #2      MethodChannel.invokeMapMethod (package:flutter/src/services/platform_channel.dart:377:43)\nE/flutter ( 4782): <asynchronous suspension>\nE/flutter ( 4782): #3      GoogleSignIn._callMethod (package:google_sign_in/google_sign_in.dart:248:30)\nE/flutter ( 4782): <asynchronous suspension>\nE/flutter ( 4782): #4      GoogleSignIn.signIn.isCanceled (package:google_sign_in/google_sign_in.dart:378:5)\nE/flutter ( 4782): <asynchronous suspension>\nE/flutter ( 4782): \n
Run Code Online (Sandbox Code Playgroud)\n

Yau*_*nka 13

我还想添加其他有用的信息:

如果您在使用Google 登录从Google Play Console下载的应用时遇到问题:PlatformException(sign_in_failed, z1.b: 10: , null, null)

您需要将 SHA-1 从 Google Play 控制台添加到 Firebase

在此输入图像描述


ita*_*bin 2

因此,经过 2 天的尝试,我发现并遵循了本教程,并让它发挥作用