Reputation: 923
I am getting an Error Message on App Startup Stating Logs like
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.
I got an email about a week earlier that I should update my google_services.json File, which I have done 4-5 times. No Improvements. It had been working fine for around a year. Its been only 2-3 days since I am facing this issue in the app.
Subsequently, Firebase Cloud Messaging and other firebase services are not working. I am not doing programmatic initialization (that is, using a FirebaseOptions object to provide these values), just the default initialization using FirebaseApp.initializeApp(this);
I have tried https://github.com/firebase/firebase-android-sdk/blob/master/firebase-installations/API_KEY_RESTRICTIONS.md
Thanks in Advance.
Upvotes: 40
Views: 69187
Reputation: 127
first make sure that apikey in your project google-services.json below android/app/ is match the key in [1]: https://console.cloud.google.com/apis/credentials/key/
Upvotes: 0
Reputation: 254
In Flutter I just deleted the build folder and rebuild then it worked for me.
Upvotes: 0
Reputation: 6562
If you have issues with your API key, you can create a new API key in the Cloud Console:
APIs & Services
→ Credentials
+ CREATE CREDENTIALS
→ API key
In case you are using the google-services.json
config file from your Firebase Console, you first have to delete or restrict the API key used in your current google-services.json
in order to make Firebase update config file and use a new API key.
google-services.json
config file.Usage with this service
of your API key should show a number greater than 0.Application restrictions
to that API key by clicking the pencil symbol. !!Warning!! Do not delete an API key that existing installations of your applications require for other Firebase services like Firebase Auth or Realtime-Database.Wait a couple of minutes for Google servers to update. The next download of your google-service.json
config file should contain a new API key.
You can test your configuration with the following CURL command. What is the error you are getting? (Note: If you are seeing JSON data the request was and your configuration is successful)
Test if your configuration works with the following CURL command:
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
Other relevant links regarding API keys and the Firebase Installations API:
Upvotes: 37
Reputation: 172
This problem face me and I fixed by go to Google cloud platform and credentials and do API for firebase with Application restrictions or API restrictions as you used.jhvghvj
Upvotes: 0
Reputation: 3439
I had this issue in Iran. after running a VPN my app was connected to firebase.
Upvotes: 0
Reputation: 2035
This is mainly happened by your outdated google-services.json file. because sometime you may enable some extra services in firebase has changed the entire structure of that file. so go to your firebase console -> project settings -> download google-services.json
and replace it
then rebuild your app. Now you check your firebase has error
Upvotes: 0
Reputation: 111
Inside Google API's & Service Credentials > Android key (auto created by Firebase) > API Restrictions
Select All services and save. After 5-10 minute you can check.
Upvotes: 0
Reputation: 141
If you have changed your API Key on https://console.cloud.google.com or you have restricted it you gotta follow these steps:
Make sure that your new key is into google-service.json(download from firebase console).
Open the google-service.json, find api_keys and leave just the current_key that belongs to every environment(dev or prod).
Go to project/app and delete the folder build.
Upvotes: 1
Reputation: 219
Here's what made that error go away for my app:
I deleted the Project .gradle
folder, the Project build
folder and the app build
folder, all at once. I then re-installed the app, and no more Firebase Installations server API error!
Upvotes: 0
Reputation: 2007
If you are facing this issue in the Flutter app then go to your project directory and delete the build folder. Hopefully, it will work.
Upvotes: 0
Reputation: 7220
Just Register your app in the Firebase
console again.
and get the googl-service.json
file and replace it with old. it will be solve
Upvotes: 1
Reputation: 215
To fix this error read this file using CMD or Windows Explorer
PS C:\Users\Any> keytool -keystore C:\Users\Any\.android\debug.keystore -list -v
Enter keystore password:
Use 'KeyStore Explorer' from https://keystore-explorer.org/downloads.html
& paste it here: https://console.developers.google.com/apis/credentials/key/
Upvotes: 0
Reputation: 1114
Late but might be helpful to others.
I tried everthing here, at last I got it working by making sure following steps,
Rule: App's SHA-1 should be registerd in Google Developer Console with the API keys used.
Look for the SHA-1 you are using (debug or release). You can do it by going to android studio > Gradle form side bar > Tasks > android > signingReport. Double click on it to run. Once it runs, you will be able to find out SHA-1 for your variant. (In my case, I was trying to make it run for release variant). Keep that SHA-1 aside we will check for its existance on Google Developers Console.
Now head over to https://console.cloud.google.com/apis/credentials, In your selected project > Credentials, Find API key that is used, Click on it to go into details, Find Restrict usage to your Android apps
, see if the SHA-1 is registed there along with your package name.
If you do not find the same SHA-1 that you had in your project, then you can click on Add an Item
to add the app. Pass package name and SHA-1 and submit.
Try again to connect firebase APIs after 5-10 mins.
Upvotes: 9
Reputation: 21
I had the same issue. Please find the following steps i followed to resolve this.
Upvotes: 2
Reputation: 1772
I had this same issue. I solved it by the following way.
go to app/build/generated/res/google-services/debug/values/values.xml
Here you can find your old API key.
Replace both google_api_key and google_crash_reporting_api_key values with the new one that you can find from the google-services.json file. it will be under api-key array.
Cheers!
Upvotes: 40
Reputation: 21
I encountered the same issue, click on the link provided:
"links": [
{
"description": "Google developers console",
"url": "https://console.developers.google.com"
}
From there on, Go to the 'credentials' menu.
Confirm in your google-services.json file the API key being used.
Go back to the google portal and look for that key under API keys. Once you find it, click to edit and when editing, add your project's package name and SHA-1 certificate key.
Save and wait for 5 mins, the error should be gone.
Upvotes: 2
Reputation: 1012
This error could happen if you include in gradle some firebase modules that not configured properly (analytics, storage, messaging etc.)
Upvotes: 2
Reputation: 524
It turned out that the issue was with the version of firebase-messaging for me, using this version in app gradle got rid of the error:
implementation "com.google.firebase:firebase-messaging:20.1.0"
Upvotes: 2
Reputation: 1160
I encountered with this error when initializing new app so it may not solve your issue since you say your app is existing but I hope it helps.
I've created new SHA Key for SHA-1 fingerprint of keystore certificate (both for debug and signing! only signing didn't work)
and I've added them into my firebase settings (below my package name careful if you have multiple). Now it works for me.
Upvotes: 2