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
添加回答
舉報