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);我救了
现在它正在工作,我可以登录.
希望这会有所帮助
资源
感谢Pranjal Gupta的回答:Google Sign In error 12500
标签:android,firebase,google-signin,sha1 来源: https://codeday.me/bug/20191002/1845210.html