我正在使用Firebase PhoneAuth并收到以下错误。
由于无效的配置,Firebase安装无法与Firebase服务器API通信。在初始化Firebase时,请更新Firebase初始化过程并设置有效的Firebase选项(API密钥,项目ID,应用ID)。
W/Firebase-Installations: Error when communicating with the Firebase Installations server API. HTTP response: [400 Bad Request: {
"error": {
"code": 400,
"message": "API key not valid. Please pass a valid API key.",
"status": "INVALID_ARGUMENT",
"details": [
{
"@type": "type.googleapis.com/google.rpc.Help",
"links": [
{
"description": "Google developers console",
"url": "https://console.developers.google.com"
}
]
}
]
}
}
]
答案 0 :(得分:9)
该错误表明Google不接受您在初始化Firebase时使用的API密钥。实际上,您可能使用了无效的API密钥,或者Google可能错误地将您的API密钥标识为无效。如果您的API密钥长时间未使用,则可能发生后者。
FirebaseInstallations
是Firebase服务的新基础架构,它利用您在初始化Firebase时使用的API密钥。如果您最近更新了Firebase SDK,则FirebaseInstallations
可能已经开始使用您以前未使用过的API密钥。
如果当前的API密钥存在问题,则可以在Cloud Console中创建新的API密钥:
APIs & Services
→Credentials
+ CREATE CREDENTIALS
→API key
如果您正在使用Firebase Console中的google-services.json
配置文件,则首先必须删除或限制当前google-services.json
中使用的API密钥才能进行Firebase更新配置文件并使用新的API密钥。
google-services.json
配置文件中标识API密钥。Usage with this service
列应显示一个大于0的数字。Application restrictions
添加到该API密钥。 !!警告!不要删除应用程序的现有安装对其他Firebase服务(如Firebase Auth或Realtime-Database)所需的API密钥。请等待几分钟,以更新Google服务器。您的google-service.json
配置文件的下一次下载应包含一个新的API密钥。
有关API密钥和Firebase Installations API的其他相关链接:
答案 1 :(得分:0)
如果您在 Flutter 应用程序中遇到此问题,那么在更新 google-services.json 文件后,您应该从项目目录中删除 build 文件夹。也许它会奏效。
答案 2 :(得分:0)
就我而言,经过 5 个小时的努力,我终于发现 Firebase 安装通过错误的 API 密钥与 Firebase 服务器通信,该密钥存在于此路径 {{1} 的 values.xml
文件中}
不是 google-services.json 文件中的 API 密钥。
因为,我尝试使用更新后的 google-services.json 运行,但无济于事。
所以您应该删除这个 \app\build\generated\res\google-services\debug\values
文件,它会在您构建和运行时自动使用正确的 API 密钥重新创建。
只需删除此文件并运行即可。
答案 3 :(得分:-1)
我通过将邮件版本降级为最新版本解决了这个问题