You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Google SignIn API异常10:认证终阶段handleSignInResult报错解决咨询

解决Google登录Exception Code 10(开发者错误)的方案

兄弟,我之前也踩过这个坑!Code 10本质就是Google后台配置和你的应用不匹配,属于典型的开发者配置失误,别慌,一步步来排查修复:

核心排查步骤

  • 核对SHA-1证书指纹:这是最常见的问题根源
    1. 打开Android Studio的Terminal,输入debug环境的SHA-1获取命令:
      keytool -list -v -keystore ~/.android/debug.keystore -alias androiddebugkey -storepass android -keypass android
      
    2. 复制输出的SHA-1值,登录Google Cloud控制台找到你的项目,进入「API和服务」→「凭据」→「OAuth 2.0客户端ID」,确保这个SHA-1已经绑定到对应包名(你的包名是ru.podgorny.carcall)的客户端ID上。
  • 确认google-services.json文件有效性
    1. 从Google Cloud控制台重新下载google-services.json,下载时务必选对包名和刚才的SHA-1值。
    2. 将文件放到项目的app目录下,同时检查项目根目录的build.gradle是否配置了Google服务插件:
      dependencies {
          classpath 'com.google.gms:google-services:4.3.15' // 版本可使用最新稳定版
      }
      
      以及app模块的build.gradle末尾是否有:
      apply plugin: 'com.google.gms.google-services'
      
  • 检查包名一致性:确保项目的包名ru.podgorny.carcall和Google Cloud控制台里OAuth客户端ID配置的包名完全一致,大小写、字符都不能错。
  • 启用必要的API:登录Google Cloud控制台的「API库」,搜索「Google Sign-In API」,确认它处于启用状态。
  • 清理缓存重新构建:点击Android Studio的「Build」→「Clean Project」,然后「Rebuild Project」,重启AS后再测试。

修复后获取账号信息的正确写法

配置没问题后,你可以在handleSignInResult方法里提取账号信息,补充完整你的代码:

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);
    if (requestCode == RC_SIGN_IN) {
        Task<GoogleSignInAccount> task = GoogleSignIn.getSignedInAccountFromIntent(data);
        handleSignInResult(task);
    }
}

private void handleSignInResult(Task<GoogleSignInAccount> completedTask) {
    try {
        GoogleSignInAccount account = completedTask.getResult(ApiException.class);
        // 提取账号信息
        String userEmail = account.getEmail();
        String userName = account.getDisplayName();
        String userId = account.getId();
        
        // 更新UI展示信息
        tw1.setText("用户邮箱:" + userEmail);
        tw2.setText("用户昵称:" + userName);
        
        // 这里可以添加登录成功后的业务逻辑
    } catch (ApiException e) {
        Log.w(TAG, "登录失败,错误码:" + e.getStatusCode());
    }
}

内容的提问来源于stack exchange,提问作者max podgorny

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.21 03:52:44