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

迁移Google Sign-In API至Google Identity Service出现16号错误如何解决?

Google Identity Service 无设备Google账号场景调用返回16错误问题

我计划将现有项目使用的Google Sign-In API迁移至Google Identity Service,但在设备未添加Google账号的场景下调用接口会返回*"16: Cannot find a matching credential"*错误。

复现步骤

  • 确保设备未配置任何Google账号,操作路径:设置 -> 账号:
    无Google账号设置页示例
  • 使用如下代码发起Google登录请求:
SignInClient client = Identity.getSignInClient(getContext());

BeginSignInRequest.GoogleIdTokenRequestOptions.Builder builder = BeginSignInRequest.GoogleIdTokenRequestOptions.builder()
        .setSupported(true)
        // 此处为服务端client ID,而非Android端client ID
        .setServerClientId(clientId)
        .setFilterByAuthorizedAccounts(false);


BeginSignInRequest signInRequest = BeginSignInRequest.builder()
        .setGoogleIdTokenRequestOptions(builder.build())
        .build();

client.beginSignIn(signInRequest)
        .addOnSuccessListener(getActivity(), result -> {
            try {
                startIntentSenderForResult(
                        result.getPendingIntent().getIntentSender(), RC_SIGN_IN,
                        null, 0, 0, 0, null);
            } catch (IntentSender.SendIntentException e) {
                // 处理错误
            }
        })
        .addOnFailureListener(getActivity(), e -> {
            // 未找到已保存的凭据,可启动一键注册流程,或不做操作继续展示未登录UI
        });
  • 调用后收到16: Cannot find a matching credential错误

相关说明

使用旧版Google Sign-In API时该场景运行正常,会引导用户添加Google账号并完成登录;且Google Identity Service在设备账号管理器中已有Google账号的场景下可正常运行。

内容的提问来源于stack exchange,提问作者Andy Witrisna

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 00:45:03