获取谷歌登录错误12501

时间:2017-05-22 16:57:01

标签: android oauth-2.0 google-play-services google-plus-signin

在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,它的工作正常。但是,如果我使用的是开发者帐户(以前存在的已加入API的帐户),则该帐户无效。

随意询问更多细节。我在过去的4-5天里一直在努力解决这个问题:(

1 个答案:

答案 0 :(得分:0)

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

这可能是由于Sha-1和Sha-256发行以及调试密钥不匹配所致。

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

对我来说很好。

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