Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Google Maps v3 API key won't work for local testing

I have an API key. It's a "Key for browser apps (with referers). It works fine, but I'm not authorized when I try to use it on my local development server. I use MAMP and my local URL looks like this: http://mysite.dev.

In "Referers" section I have:

mysite.com/*
mysite.dev/*

The production one (.com) works fine, so I'm pretty sure my syntax is correct. But no matter what I try for the local version, I get the authorization error popup from Google telling me:

Google has disabled use of the Maps API for this application. The provided key is not a valid Google API Key, or it is not authorized for the Google Maps Javascript API v3 on this site. If you are the owner of this application, you can learn about obtaining a valid key here: https://developers.google.com/maps/documentation/javascript/tutorial#api_key

Surely there is a way to get this working! What is it?

like image 456
emersonthis Avatar asked Apr 16 '14 19:04

emersonthis


People also ask

Why is my Google Maps API key not working?

Go to the Credentials section, which can be accessed from the left side bar under Google Maps Platform > Credentials. Check that the API key you currently use on your website is listed. If that's not the case, switch to a different project, and check the credentials there.

How can I get Google Map API key for test?

Go to the Google Maps Platform > Credentials page. On the Credentials page, click Create credentials > API key. The API key created dialog displays your newly created API key.

How do I know if my Google map API key is working?

Checking for key restrictions Open the Credentials page of the Google dashboard. Find your key in the list and click on the name: Check for any restrictions under API Restrictions.


2 Answers

As suggested in the official documentation:

Tip: During development and testing, you can register a project for testing purposes in the Google API Console and use a generic, unrestricted API key. When you are ready to move your app or website into production, register a separate project for production, create a browser-restricted API key, and add the key to your application.

You should register a different project and use its unrestricted API for developmental testing.

like image 54
shivangg Avatar answered Sep 19 '22 15:09

shivangg


UPDATE :

As of June 22, 2016 Google Maps V3 no longer support keyless access (any request that doesn't include an API key).

You can register for the key : https://developers.google.com/maps/documentation/javascript/get-api-key

and add it to your URL :

<script src="https://maps.googleapis.com/maps/api/js?key=YOUR_API_KEY" type="text/javascript"></script>

I have faced a similar issue with my application. I use the url without the client key for testing purposes and add the key before putting the code onto the production server. This is a workaround more than a solution and I am assuming that your usage for local testing will be low.

Testing server

<script type="text/javascript" 
   src="https://maps.googleapis.com/maps/api/js?sensor=SET_TO_TRUE_OR_FALSE">
</script>

Production Server

<script type="text/javascript"
  src="https://maps.googleapis.com/maps/api/js?key=API_KEY&sensor=SET_TO_TRUE_OR_FALSE">
</script>

URL : https://developers.google.com/maps/documentation/javascript/examples/

If you check the following site and go to the basic map example you will find that the examples do not use a key. This was one of the differences between v2 and v3 of the maps that the key is not mandatory.

<script src="https://maps.googleapis.com/maps/api/js?v=3.exp&sensor=false"></script>

Keep in mind that omitting the key falls under the free Google Maps API licensing. If you need to track usage, you must supply at least the key. If you need more traffic, you need to supply your client ID (Google Maps for Work).

https://developers.google.com/maps/licensing

like image 24
Joyson Avatar answered Sep 18 '22 15:09

Joyson