Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Keyless access to Google Maps Platform is deprecated

Sometimes when I try to use the Google MAPS API KEY to get a URL to draw a 'polyline', i get an error in my logs:

"error_message":"Keyless access to Google Maps Platform is deprecated. Please use an API key with all your API calls to avoid service interruption. For further details please refer to http://g.co/dev/maps-no-account","routes":[],"status":"OVER_QUERY_LIMIT"

I have this in my manifest:

<meta-data
        android:name="com.google.android.geo.API_KEY"
        android:value="MY_GOOGLE_MAPS_API_KEY" />

Also, this API KEY 'enabled' in my API CONSOLE and it is restricted to Google Maps Android SDK and Directions API. I also have billing enabled for my Google API CONSOLE but I still get this error sometimes.

like image 965
grantespo Avatar asked Sep 16 '18 09:09

grantespo


1 Answers

Since June 11th 2018, Google began enforcing the use of API keys. Keyless usage will result in a degraded experience, or an error like OVER_DAILY_LIMIT and OVER_QUERY_LIMIT.

Source: Important Updates from Google Maps Platform

Putting the API Key in the URL like this is a good solution:

String url = "https://maps.googleapis.com/maps/api/directions/"+output+"?"+parameters + "&key=" + MY_API_KEY

But be sure that your key restrictions are well configured. If you have restricted the Key to your app, it may not work because the request made via HTTP are related with your IP address. Meaning that even if you have correctly configured your Android App and manifest, it may result with an ACCESS_DENIED. This can be verified by changing your restriction.

Example of no restriction for testing purpose: enter image description here

For more details about API key and restrictions: Quick guide to getting a key

like image 136
probitaille Avatar answered Oct 03 '22 21:10

probitaille