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配置或签名问题导致的。以下是常见原因和解决方案:
主要原因
- SHA-1指纹不匹配:Google Cloud Console中配置的SHA-1与APK签名不一致。
- 包名未正确配置:Google Cloud Console中的包名与UniApp项目的包名不一致。
- 未启用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: - 进入 Google Cloud Console。
- 选择你的项目 → API和服务 → 凭据。
- 找到你的OAuth 2.0客户端ID,点击编辑,添加SHA-1指纹。
 
2. 验证包名一致性
- 检查UniApp项目的 manifest.json中的appid(包名),确保与Google Cloud Console中配置的包名完全一致。
3. 启用Google Sign-In API
- 在Google Cloud Console中:
- 进入 API和服务 → 库。
- 搜索并启用 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账户测试。
 
        
       
                     
                   
                    

