Firebase 无法与 Firebase 服务器通信

4 android firebase

我正在使用 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"
          }
        ]
      }
    ]
  }
}
]
Run Code Online (Sandbox Code Playgroud)

And*_*iep 12

背景

该错误表示您在初始化 Firebase 时使用的 API 密钥未被 Google 接受。您实际上可能使用了无效的 API 密钥,或者 Google 可能会错误地将您的 API 密钥识别为无效。如果您的 API 密钥长时间未使用,则可能会发生后者。

FirebaseInstallations是 Firebase 服务的新基础架构,它使用您在初始化 Firebase 时使用的 API 密钥。如果您最近更新了 Firebase SDK,则FirebaseInstallations可能已经开始使用您之前未使用过的 API 密钥。


补救

如果您当前的 API 密钥有问题,您可以在 Cloud Console 中创建一个新的 API 密钥:

  • 转到Google Cloud Console
  • 选择相关项目(即您用于应用程序的项目)
  • 打开菜单并转到APIs & ServicesCredentials
  • 在页面顶部点击+ CREATE CREDENTIALSAPI key
  • 用新创建的 API 密钥替换应用程序中的 API 密钥

google-services.json

如果您使用Firebase 控制台中google-services.json配置文件,您首先必须删除或限制当前使用的 API 密钥,以便 Firebase 更新配置文件并使用新的 API 密钥。google-services.json

  • 确定google-services.json配置文件中的 API 密钥。
  • 通过对照Firebase 安装 API 指标页面检查 API 密钥的使用情况,确认 API 密钥正在创建错误的请求。Usage with this serviceAPI 密钥的列应显示大于 0 的数字。
  • 通过单击 bin 符号删除该 API 密钥,或Application restrictions通过单击铅笔符号添加到该 API 密钥。!!警告!!不要删除现有应用程序安装所需的其他 Firebase 服务(例如 Firebase Auth 或 Realtime-Database)所需的 API 密钥。

等待几分钟,让 Google 服务器更新。google-service.json配置文件的下一次下载应该包含一个新的 API 密钥。


链接

有关 API 密钥和Firebase 安装 API 的其他相关链接:


Isl*_*med 7

就我而言,经过 5 个小时的努力,最后我发现 Firebase 安装通过错误的 API 密钥与 Firebase 服务器进行通信,该 API 密钥存在于values.xml该路径的文件中,\app\build\generated\res\google-services\debug\values 而不是 google-services.json 文件中的 API 密钥。

因为,我尝试使用更新的 google-services.json 运行,但没有帮助。

因此,您应该删除此values.xml文件,当您构建和运行时,它将使用正确的 API 密钥自动重新创建。

只需删除该文件并运行即可。