cordova-google-plus 抛出错误代码 10

问题描述

我在 Cordova google-plus 插件中遇到了一个非常流行的问题。问题是,每当我包含此 'webClientId': '******.apps.googleusercontent.com', 时,我都会收到 error: 10,如果没有包含 webClientId,我会收到不提供 tokenID 但我需要 tokenID 的数据所以我将在 Google Developers 控制台中生成client ID 作为值传递给 webClientID

我看到文章SHA1 可能是错误的,所以我查了一下,结果是 app-debug.apk SHA-1 和项目中的Google Developers 控制台 SHA-1 相同。

我已按照 this article 进行实施,但我尚未将该项目包含在 firebase 中。我知道我的客户 ID 有问题,但我无法弄清楚。我试过重新安装插件,但没有用。

注意:如果作为第一个参数传递给 googleplus.login() 的空对象返回的数据没有任何错误

  loginGoogle() {
    console.log('clicked')
  window['plugins'].googleplus.login(
      {
        'webClientId': '*******.apps.googleusercontent.com',},function (obj) {
        console.log('data:',obj);
      },function (msg) {
        console.log('error: ' + msg);
      }
  );

}

解决方法

Google Console 已更改其获取 CLIENT_ID 的过程。我们需要创建一个“OAuth 同意屏幕”,然后创建 credentials,您将在其中获得 CLIENT_ID。现在我的问题的答案是在创建凭据时,作为第一步,将有一个下拉列表,用于选择 application type 并为 Cordova、Ionic 选择 web(我不确定对于 react-native 和 native Android)并完成该过程。

然后您将获得一个 CLIENT_ID 又名 WEB_CLIENT_ID,但如果您在 application type 中选择 Android 并且使用相同的 CLIENT_ID 又名 ANDRIOD_CLIENT_ID。问题在于选择application type。我得到了人们只是提到 WEB_CLIENT_ID 的答案。