uniapp Google登录报错{"errorcode":"1","data":{"statuscode":10,"msg":"10: "}如何解决?

我在使用uniapp集成Google登录时遇到报错:{"errorcode":"1","data":{"statuscode":10,"msg":"10: "}。这个错误码10具体是什么原因导致的?已经确认SHA1证书指纹和Firebase控制台的配置是正确的,OAuth客户端ID也核对过没有问题。有没有人遇到过类似情况?该如何解决?

2 回复

检查Google开发者控制台配置,确保SHA1指纹正确(调试/发布版不同),并确认包名与uniapp中一致。重新下载google-services.json文件替换项目中的文件。


在UniApp中遇到Google登录报错 {"errorcode":"1","data":{"statuscode":10,"msg":"10: "},通常是由于Google OAuth配置或签名问题导致的。以下是常见原因和解决方案:

主要原因

  1. SHA-1指纹不匹配:Google Cloud Console中配置的SHA-1与APK签名不一致。
  2. 包名未正确配置:Google Cloud Console中的包名与UniApp项目的包名不一致。
  3. 未启用Google登录API:在Google Cloud Console中未启用Google Sign-In API。

解决方案

1. 检查并配置SHA-1指纹

  • 获取调试版SHA-1

    keytool -list -v -keystore ~/.android/debug.keystore -alias androiddebugkey -storepass android -keypass android
    

    (Windows路径:%USERPROFILE%\.android\debug.keystore

  • 获取发布版SHA-1(如果使用自有证书):

    keytool -list -v -keystore your-release-key.keystore
    
  • 在Google Cloud Console中添加SHA-1

    1. 进入 Google Cloud Console
    2. 选择你的项目 → API和服务凭据
    3. 找到你的OAuth 2.0客户端ID,点击编辑,添加SHA-1指纹。

2. 验证包名一致性

  • 检查UniApp项目的 manifest.json 中的 appid(包名),确保与Google Cloud Console中配置的包名完全一致。

3. 启用Google Sign-In API

  • 在Google Cloud Console中:
    1. 进入 API和服务
    2. 搜索并启用 Google Sign-In API

4. 更新Google Services配置文件

  • 如果使用 google-services.json,确保文件已正确放置到UniApp项目的 nativeplugins 或相应目录,并重新生成APK。

5. 检查网络和权限

  • 确保设备网络正常,且应用有互联网访问权限。
  • manifest.json 中添加网络权限(通常UniApp默认包含)。

6. 重新生成APK

  • 修改配置后,清理项目并重新编译APK(调试版和发布版需分别测试)。

代码示例(UniApp中调用Google登录)

确保已正确配置UniApp的Google登录插件:

uni.login({
  provider: 'google',
  success: function (res) {
    console.log('Google登录成功:', res);
  },
  fail: function (err) {
    console.log('Google登录失败:', err);
  }
});

其他提示

  • 测试环境:在真机上测试,而非模拟器(模拟器可能缺少Google Play服务)。
  • 客户端ID:确认使用的是Android客户端ID(非Web应用ID)。
  • 文档参考:查阅UniApp官方文档中关于Google登录的配置部分。

完成以上步骤后,重新打包并测试。如果问题仍存在,检查Google Cloud Console中的错误日志或尝试使用其他Google账户测试。

回到顶部