我在App Startup上显示一条错误消息,指出类似这样的日志
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"
}
]
}
]
}
}
]
2020-04-27 12:42:34.621 22226-23596/in.co.androidapp.g7 E/Firebase-Installations: Firebase Installations can not communicate with Firebase server APIs due to invalid configuration. Please update your Firebase initialization process and set valid Firebase options (API key, Project ID, Application ID) when initializing Firebase.
大约一周前,我收到一封电子邮件,我应该更新google_services.json文件,该文件已经执行了4-5次。没有改善。它已经工作了大约一年了。从我在应用程序中遇到此问题以来只有2-3天。
随后,Firebase Cloud Messaging和其他firebase服务无法正常工作。我不执行程序初始化(即使用FirebaseOptions对象提供这些值),而只是使用FirebaseApp.initializeApp(this);
预先感谢。
答案 0 :(得分:11)
我有同样的问题。我是通过以下方式解决的。
转到app / build / generated / res / google-services / debug / values / values.xml
在这里您可以找到旧的API密钥。
将新的google_api_key和google_crash_reporting_api_key值替换为可从google-services.json文件中找到的新值。它将在api-key数组下。
干杯!
答案 1 :(得分:10)
如果您的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密钥。
您可以使用以下CURL命令测试您的配置。 您得到的是什么错误? (注意:如果您看到的是JSON数据,则说明请求成功,并且配置成功)
测试您的配置是否适用于以下CURL命令:
api_key=<YOUR_API_KEY>;
project_identifier=<YOUR_PROJECT_ID>;
app_id=<YOUR_FIREBASE_APP_ID_EXAMPLE_1:12345678:android:00000aaaaaaaa>;
curl -H "content-type: application/json" -d "{appId: '$app_id', sdkVersion: 't:1'}" https://firebaseinstallations.googleapis.com/v1/projects/$project_identifier/installations/?key=$api_key;
有关API密钥和Firebase Installations API的其他相关链接:
答案 2 :(得分:2)
初始化新应用程序时遇到此错误,因此它可能无法解决您的问题,因为您说您的应用程序已存在,但希望对您有所帮助。
我为SHA-1 fingerprint of keystore certificate创建了新的SHA密钥(用于调试和签名!仅签名无效)
,我已经将它们添加到我的Firebase设置中(如果您有多个软件包,请在我的软件包名称下面谨慎使用)。现在对我有用。
答案 3 :(得分:2)
如果您在gradle中包含一些未正确配置的Firebase模块(分析,存储,消息传递等),则可能会发生此错误
答案 4 :(得分:2)
我遇到了同样的问题,请单击提供的链接:
@PostMapping(path = "/v1/agent/create", consumes = MediaType.APPLICATION_JSON_VALUE, produces = MediaType.APPLICATION_JSON_VALUE)
public ApiResponseWrapperDto createAgent(@RequestBody ApiRequestWrapperDto request) throws Exception {
return this.agentManagementApiHandler.createAgent(request);
}
从此处转到“凭据”菜单。
在您的google-services.json文件中确认所使用的API密钥。
返回Google门户,然后在API密钥下查找该密钥。 找到它后,单击以进行编辑,然后在编辑时添加项目的程序包名称和SHA-1证书密钥。
保存并等待5分钟,错误应该消失了。
答案 5 :(得分:2)
我有同样的问题。请找到我要解决的以下步骤。
答案 6 :(得分:1)
事实证明,问题出在我的firebase-messaging版本上,在应用gradle中使用该版本摆脱了错误:
implementation "com.google.firebase:firebase-messaging:20.1.0"
答案 7 :(得分:1)
只需再次在 let white = new Color('#fff')
let cell = args.ios
let selectedState = UIView.alloc().init()
selectedState.backgroundColor = white.ios
selectedState.layer.masksToBounds = true
cell.selectedBackgroundView = selectedState
控制台中注册您的应用。
并获取 Firebase
文件并将其替换为旧的。会解决的
答案 8 :(得分:0)
晚了,但可能对其他人有帮助。
我在这里尝试了一切,最后通过确保遵循以下步骤使它正常工作
规则:应使用所用的API密钥在Google Developer Console中注册应用的SHA-1。
查找您正在使用的SHA-1(调试或发布)。您可以转到android studio> Gradle表单侧栏>任务> android> signingReport。双击运行。一旦运行,您将能够找到您的变体的SHA-1。 (就我而言,我试图使其运行于发行版本)。将SHA-1放在一边,我们将在Google Developers Console上检查其是否存在。
现在转到https://console.cloud.google.com/apis/credentials,在您选择的项目>凭据中,找到所使用的API密钥,单击它以进入详细信息,找到Restrict usage to your Android apps
,看是否SHA-在那里注册了1个软件包名称。
如果找不到与项目中相同的SHA-1,则可以单击Add an Item
添加该应用程序。传递软件包名称和SHA-1并提交。
5-10分钟后重试以连接Firebase API。
答案 9 :(得分:0)
要解决此错误,请使用CMD或Windows资源管理器读取此文件
PS C:\Users\Any> keytool -keystore C:\Users\Any\.android\debug.keystore -list -v
输入密钥库密码:
使用https://keystore-explorer.org/downloads.html中的“ KeyStore Explorer”
&粘贴在这里: https://console.developers.google.com/apis/credentials/key/
答案 10 :(得分:0)
如果您在 Flutter 应用程序中遇到此问题,请转到您的项目目录并删除构建文件夹。希望它会起作用。
答案 11 :(得分:0)
以下是我的应用程序消除该错误的原因:
我一次性删除了 Project .gradle
文件夹、Project build
文件夹和 app build
文件夹。然后我重新安装了该应用,并且不再出现 Firebase 安装服务器 API 错误!
答案 12 :(得分:0)
我遇到了这个问题,我通过转到 Google 云平台和凭据并根据您使用的应用程序限制或 API 限制为 firebase 执行 API 来解决。