其他分享
首页 > 其他分享> > android – Firebase登录:GoogleSignIn onActivityResult()返回RESULT_CANCELED,结果错误为12500

android – Firebase登录:GoogleSignIn onActivityResult()返回RESULT_CANCELED,结果错误为12500

作者:互联网

好的,我知道这个问题已被多次询问,但由于某种原因,这个错误不断发生,这就是场景:

>创建了PROD firebase项目,在Android项目(Android项目路径:app / google-services.json)中插入了google-services.json,该项目运行正常,包含:

>两个SHA1密钥 – 来自.android / debug.keystore(现在)和自定义发布密钥库(2个Oauth2 Android客户端ID基于这些密钥)
>用于Google登录的Oauth2 Web客户端ID – 我已将它们放入Firebase控制台/身份验证/提供商/ Google登录/ Web SDK配置
> Firebase项目ID是com.companyname.projectname格式

>然后我创建了DEV firebase项目(app / debug / google-services.json),我完成了以下工作:

>创建自定义调试密钥库,导出SHA1并将其添加到Firebase项目中(该密钥库用于签署调试)
>在build.gradle中,将此调试密钥库分配给调试构建类型并且正在运行 – 它正在使用该密钥库进行签名
>创建新的Oauth2 Web客户端ID,并以与PROD for Google登录提供程序相同的方式插入它
>此项目的Firebase项目ID为com.companyname.projectname-dev(在构建类型调试中添加了应用程序后缀)

当我使用调试构建类型运行app时,会发生以下情况:

GoogleSignInOptions gso = new GoogleSignInOptions.Builder(GoogleSignInOptions.DEFAULT_SIGN_IN)
        .requestIdToken(getString(R.string.default_web_client_id))
        .requestEmail()
        .build();

 GoogleSignInClient googleSignInClient = GoogleSignIn.getClient(this, gso);

这很好 – requestIdToken是DEV Firebase项目的Oauth2 Web客户端ID

BuildConfig.APPLICATION_ID返回DEV applicationId(带-dev后缀)

但是当我去onActivityResult()时,我从这个问题的标题中得到了什么 –
RESULT_CANCELED 12500结果错误

有没有人有同样的问题?

我为相当混乱的问题道歉,如有必要,我会添加更多信息.

注意:我尝试在DEV项目中使用.android / debug.keystore SHA1,但我遇到了与上面相同的问题.

解决方法:

我先尝试了什么:

我希望通过这个错误ApiException:12500很长一段时间.我试过everthing:

>删除我的debugkeystore,重新创建一个
>在firebase控制台上添加支持电子邮件
>更改插件的版本
>在我的设备上更新谷歌

但是当我浏览stackoverflow时,我找到了一个解决方案:

也许解决方案:

我去了这个页面(https://console.developers.google.com/apis/credentials)
不要忘记在列表中选择您的项目(左上角).然后继续“Oauth同意屏幕”

我填写了几乎所有的字段:应用程序徽标,电子邮件支持,应用程序主页链接,应用程序隐私策略链接(与project.firebaseapp.com);我救了

enter image description here

现在它正在工作,我可以登录.

希望这会有所帮助

资源

感谢Pranjal Gupta的回答:Google Sign In error 12500

标签:android,firebase,google-signin,sha1
来源: https://codeday.me/bug/20191002/1845210.html