获取谷歌登录错误 12501

Posted

技术标签:

【中文标题】获取谷歌登录错误 12501【英文标题】:Geting google sign in error 12501 【发布时间】:2017-10-22 10:26:48 【问题描述】:

在 google 登录期间,我收到状态码 12501

@Override
    public void onActivityResult(final SignInView loginView, int requestCode, int resultCode, Intent data) 
        if (requestCode == Constants.RC_SIGN_IN) 
            result = Auth.GoogleSignInApi.getSignInResultFromIntent(data);
            Log.d(TAG, "Status code " + result.getStatus().getStatusCode());
            final GoogleSignInAccount acct = result.getSignInAccount();
            if (resultCode == GoogleSignInStatusCodes.SUCCESS || resultCode == GoogleSignInStatusCodes.SUCCESS_CACHE) 
                if (acct != null) 
                    new AsyncTask<Void, Void, Void>() 
                        @Override
                        protected Void doInBackground(Void... params) 
                            googleToken = getGoogleToken();
                            SignUpViewModel signUpViewModel = new SignUpViewModel.Builder()
                                    .fullName(acct.getDisplayName())
                                    .login(acct.getEmail())
                                    .accessToken(googleToken)
                                    .socialIDP(Constants.GOOGLE_SOCIAL_SOURCE)
                                    .build();
                            fieldLoginView.onSuccessFetchToken(signUpViewModel);
                            return null;
                        
                    .execute();
                
             else if (resultCode == GoogleSignInStatusCodes.SIGN_IN_CANCELLED) 
                fieldLoginView.onErrorSignin(fieldLoginView.getContext().getString(R.string
                        .ss_err_13_fb_user_cancelled));
             else 
                String message = GoogleSignInStatusCodes.getStatusCodeString(resultCode);
                if (!TextUtils.isEmpty(message)) 
                    fieldLoginView.onErrorSignin(message);
                 else
                    fieldLoginView.onErrorSignin(fieldLoginView.getContext().getString(R.string
                            .ss_err_13_fb_user_cancelled));
            

        
    

我已经多次浏览以下链接,并多次检查每个步骤,但都是徒劳的。

New Google sign in android

Error 12501 authenticating with google sign-in

如果我使用从我自己的帐户(测试帐户,我的本地系统的指纹已配置)下载的 google-service.JSON,它工作正常。但是,如果我使用的是开发者帐户(以前存在的帐户,其中集成了 plus API),则它不起作用。

欢迎询问更多详情。从过去的 4-5 天开始,我一直在努力解决这个问题:( .

【问题讨论】:

【参考方案1】:

我遇到了同样的问题...

这可能是由于 Sha-1 和 Sha-256 版本和调试密钥不匹配造成的。

将所有三个(调试:Sha-1,发布:Sha-1 和 Sha-256)键添加到 firebase 控制台,然后重新下载 json 并替换。

对我来说很好用。

有时 OAuth 2.0 客户端 ID(Web 应用程序密钥)可能不匹配

【讨论】:

以上是关于获取谷歌登录错误 12501的主要内容,如果未能解决你的问题,请参考以下文章

Google登录提示错误码12501

Google登录提示错误码12501

登录时谷歌玩游戏 API 错误 12501

google登录android后报错12501

频繁登录和退出后谷歌登录失败

Google 登录失败(ApiException:12501)