I have been given project editor role for GCP project, I can see in https://console.cloud.google.com/billing/projects that the project has been mapped to a billing account, thus it shows billing account ID.
I tried test launch of a GCP instance to see if it is working. Distance matrix API has been enabled, an API key has been generated and tested distance matrix API however I am getting the following error message.
{
"destination_addresses": [],
"error_message": "You must enable Billing on the Google Cloud Project at https://console.cloud.google.com/project/_/billing/enable Learn more at https://developers.google.com/maps/gmp-get-started",
"origin_addresses": [],
"rows": [],
"status": "REQUEST_DENIED"
}
Why is this error ? If Billing is not enabled I couldn't have launched a VM instance.
Thank you ! The issue has resolved by creating a new billing account for Google maps by selecting Google Maps Platform instead of Google Cloud Platform at the time of creating Billing Account and then linking that Billing account with the newly created project. API Key generated with that new project works. Working with Google Maps needs creation of separate Billing account unlike regular Google Cloud Platform Billing Account
Related
seems google map API is no longer free, error message -> You must enable Billing on the Google Cloud Project at console.cloud.google.com/project/_/billing/enable.
is it true? any workaround?
We can't speak for google's billing plans, for development, please try creating one more google account and then a trial version of google maps access perhaps.
I am using google maps API in my project : https://imobilenumbertracker.com, but even after enable the billing I am still getting the same error. Can you please assist how to proceed here.
I can see my billing account is enabled and free trial is started.
my question: Is there any Google API / SDK I can use to be able to dynamically add "HTTP referrers (web sites)" (assign domains) to maps API key ?
Background
I'm building a web-application portal that will allow anyone to create a business website and assign a custom domain to it.
On that generated website customer will have google maps map pointing to address of their business.
Customer has an option to add custom domain to their business website created by my web-application (by CNAME to the my web-application)
Desired feature is that once the domain background job will get triggered that will add that domain/host to list of restricted domains/hosts for my Google Maps Api key so that their domain will be able to read google maps on their domanin
note: I Have cron job DNS lookup validation check implemented to ensure that domain is really assigned to the domain
live example
here is website generated by customer on my web-application http://sbs-sos.sajtka.sk/ he assigned a domain and pointed CNAME http://sbs-sos.sk/
Reason why the google map works is because I manually white-listed their domain. I need to automate this
please aware portal is not fully launched so many bugs are happening
The feature request to manage API keys restrictions via SDK was submitted in Google issue tracker in 2016:
https://issuetracker.google.com/issues/35829646
Currently, there are no any official SDK for that. However, the last update from Google says that they released experimental API to programmatically manage your API Keys and their restrictions.
The best way to handle thousands of authorized domains is to use an API to programmatically manage your API Keys and their restrictions, and we have recently launched a new service that allows you to do this.
This API is still in Alpha. If you are interested in becoming a Trusted Tester for this service, you can use the following form to sign up, please read the instructions carefully:
https://forms.gle/qx2SMcarWCAsbWVp7
Please note that this API is not part of the Google Maps Platform. After you fill out the form, you will be contacted by the API Keys API team with instructions on how to get started, and how to receive support.
API Keys API is currently free of charge. However, please note that use of Cloud Endpoints may be subject to charges at high traffic volume. You can check the pricing sheet here:
https://cloud.google.com/endpoints/pricing-and-quotas
I would suggest joining Trusted Tester program and try out this API.
I hope this helps!
I was using Google Directions Api within the limit of 2500 route queries per day which is free. It was working fine. Now out of nowhere it gives this error while requesting the api when it is clearly written in https://developers.google.com/maps/documentation/directions/start
that Client Id is for premium plan.
Downloaded URL: { "error_message" : "You must enable Billing on the Google Cloud Projectassociated to this client ID, at https://console.cloud.google.com/project/_/billing/enable.Learn more at https://developers.google.com/maps/premium/new-plan-migration", "routes" : [], "status" : "REQUEST_DENIED"}
Background task data { "error_message" : "You must enable Billing on the Google Cloud Projectassociated to this client ID, at https://console.cloud.google.com/project/_/billing/enable.Learn more at https://developers.google.com/maps/premium/new-plan-migration", "routes" : [], "status" : "REQUEST_DENIED"}
How can I solve this issue
From the google maps documentation:
Reminder: To use the Directions API, you must include an API key with all API requests and you must enable billing on each of your projects.
I know they used to allow using the API without a key or billing enabled but they changed their policy a while back.
If you are willing to use an alternative to google maps you can look into OSRM (Open Source Routing Machine), this is completely free but requires some setup and you have to host it yourself. We use OSRM for directions and get much better performance hosting it ourselves for a fraction of the cost of googlemaps.
It seems that the generated keys in the Google API's console are not working anymore. With different keys (tried it with both server and browser key, however the server key is what I need), generated from different accounts I get constantly the following errors:
Error when using server key:
{
"error_message" : "This site or IP is not authorized to use this API key.",
"results" : [],
"status" : "REQUEST_DENIED"
}
Error when using browser key:
{
"error_message" : "The provided API key is expired.",
"results" : [],
"status" : "REQUEST_DENIED"
}
And these are the enabled services on this account/project: http://upload.uprise.nl/et2j
This is the URL I'm trying: https://maps.googleapis.com/maps/api/geocode/json?address=900+Maple+Avenue%2C+L7S+2J8+Burlington+%28Ontario%29%2C+Canada&oe=utf8&sensor=false&key=mykey
Without the key it is working until I reach my daily limit (which causes the OVER_QUERY_LIMIT status).
Are more people experiencing this?
I have faced same issue... But finally got resolved. Google place services will take 10 minutes to make the services available for new API KEY created. Services will stat working after 10 minutes, till then we get error as "The provided API key is expired."
Geocoding is not one of the services available through the developer console at this time, which is why the key does not work (note that geolocation is not the same as geocoding).
Currently you'd need to use client side geocoding (for example in the JS Maps API) -- or purchase more server side geocoding with a maps for business license in order to increase this quota.
The fact it says the key is expired is misleading, and I'll file a bug for that.
EDIT/UPDATE: The geocoding service is now available through the developer console.
Enable
Google Places API Web Service from google console. It's work for me.
If you're switching from the free API services to a Maps API for Business implementation, you must remove the key parameter from your requests. Google Maps API web services will deny requests made with both a client ID and a key.
https://developers.google.com/maps/documentation/business/webservices/
For me Services has started working after 7 minutes.