3 回答

TA贡献1776条经验 获得超12个赞
我认为这是火库控制台中的一个问题。我使用两个不同的 firebase 项目来分离开发和生产环境,今天我开始在生产中收到此错误。
我比较了两个生成的文件,发现我今天生成的文件缺少数组中的另一个对象。google-services.jsonoauth_client
这个工作 - 生成:default_web_client_id
"oauth_client": [
{
"client_id": "blabalbal-blablabal",
"client_type": 1,
"android_info": {
"package_name": "haha",
"certificate_hash": "ahaha"
}
},
{
"client_id": "hahah",
"client_type": 3
}
],
我今天生成了这个,而不是从这个生成的default_web_client_id
"oauth_client": [
{
"client_id": "bababab",
"client_type": 1,
"android_info": {
"package_name": "babab",
"certificate_hash": "blablbalb"
}
}
],
因此,有效的那个有这个额外的对象:
{
"client_id": "hahah",
"client_type": 3
}
其中 位于谷歌云控制台 -> API 和服务 -> 凭据 -> OAuth 2.0 客户端 ID -> “Web 客户端(由 Google 服务自动创建)”client_id
因此,我将该对象粘贴回去作为临时解决方案...

TA贡献1812条经验 获得超5个赞
对我有用的方法如下:
登录谷歌云控制台
从左侧菜单中,选择“API 和服务”->凭据
从网络客户端(由 Google 服务自动创建)中“OAuth 2.0 客户端 ID”部分下复制客户端 ID
回到安卓工作室,在 -> 值 -> 字符串.xml中创建表单的条目
<string name="default_web_client_id" translatable="false">XXXXXXX</string>
(其中 XXXXXXX 是您在步骤 3 中从控制台复制的客户端 ID
重新编译,应用程序现在应该可以正常工作。

TA贡献1946条经验 获得超4个赞
而不是手动编辑:google-services.json
从 Google 云控制台生成一个> API 和服务>凭据> OAuth 2.0 客户端 ID。请务必选择“Web 应用程序”而不是“安卓”。
Client ID for Web application
更新(或添加)您的调试、应用签名以及将证书指纹上传到您的 firebase 设置。
SHA-1
现在,从您的火库设置中下载最新的内容。
google-services.json
将项目>应用中的旧应用替换为新应用。
google-services.json
现在构建你的应用。这些步骤将使 Firebase 自动生成一个新的 in,其中包括您手动创建的。
Android client
OAuth 2.0
Client ID for Web application
添加回答
举报