使用cordova 登录Google 将不起作用。Android 中的错误 10 和 IOS 中的错误请求

Ton*_*bet 3 javascript authentication macos google-api cordova

我有一个使用cordova 构建的Android/IOS 应用程序。

由于我现在正在使用 ssl 运行服务器,因此无法使用 inappBrowser 打开来自 google 的请求。所以我必须使用本机登录和这个插件。(这是我找到的最可靠的)

在阅读了许多帖子(thisthis..)之后,我相信问题出在我(试图)生成我的密钥文件的方式中

keytool -exportcert -keystore ~/.android/debug.keystore -list -v -alias myAppName
Run Code Online (Sandbox Code Playgroud)

(密码为空)它提示

error de herramienta de claves: java.lang.Exception: El alias <myAppName> no existe (doesn't exist)
java.lang.Exception: El alias <myAppName> no existe
    at sun.security.tools.keytool.Main.doPrintEntry(Main.java:1738)
    at sun.security.tools.keytool.Main.doCommands(Main.java:1064)
    at sun.security.tools.keytool.Main.run(Main.java:343)
    at sun.security.tools.keytool.Main.main(Main.java:336)
Run Code Online (Sandbox Code Playgroud)

这是否意味着它不起作用?

关于错误:

window.plugins.googleplus.login(
    {
      'scopes': 'profile email', 
      'webClientId': 'xxxxxxxxx.apps.googleusercontent.com', 
      'offline': true, 
    },
    function (obj) {
      alert(JSON.stringify(obj)); /
    },
    function (msg) {
      alert('error: ' + msg); // <--- It alerts 'error: 10'
    }
);
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明

任何提示都会非常受欢迎

-编辑(现在解决了)-

刚刚在IOS(模拟器)中测试,结果更糟: 在此处输入图片说明

-编辑 2-

我尝试以两种方式安装它(结果相同)

  • cordova plugin add cordova-plugin-googleplus --save --variable REVERSED_CLIENT_ID=myreversedclientid
  • cordova plugin add https://github.com/EddyVerbruggen/cordova-plugin-googleplus --save --variable REVERSED_CLIENT_ID=myreversedclientid

(并且多次,在“设置” .key 之前和之后)

-编辑 3-

顺便说一句,这个错误是什么意思?(也找不到)

aim*_*mme 7

对我来说,当 keytool 生成的 SHA1(我曾经将应用程序添加到 google)与构建 apk 的 sha 1 不匹配时,发生了错误 10。我修复的方法是将 google 项目的 SHA1 编辑为构建 apk SHA1。

1 - 首先,构建 apk

cordova build android --device --verbose --stacktrace --debug
Run Code Online (Sandbox Code Playgroud)

2 - 查看您的 apk 的路径。它将在 projectfolder/platforms/outputs/apk/android-debug.apk

3 - 获取 apk 的 SHA1

keytool -list -printcert -jarfile <path to your apk>
Run Code Online (Sandbox Code Playgroud)

它将输出包括 SHA1 在内的详细信息。复制它并替换谷歌项目应用程序中的 SHA1。

4 - 转到 firebase 控制台打开应用程序编辑 SHA1。复制构建 apk 的 SHA1 以替换我们在创建应用程序时最初粘贴的先前 SHA1。