Google Maps v3 API密钥不适用于本地测试

时间:2014-04-16 19:32:29

标签: javascript google-maps google-maps-api-3

我有一个API密钥。它是浏览器应用程序的密钥(带有引用者)。它工作正常,但当我尝试在我的本地开发服务器上使用它时,我没有被授权。我使用MAMP,我的本地网址如下所示:http://mysite.dev

In" Referers"第一节:

mysite.com/*
mysite.dev/*

制作一个(.com)工作正常,所以我非常确定我的语法是正确的。但无论我尝试使用本地版本,我都会收到Google的授权错误弹出窗口告诉我:

  

Google已禁止将Maps API用于此应用程序。该   提供的密钥不是有效的Google API密钥,或者未经授权   对于此网站上的Google Maps Javascript API v3。如果你是   您可以通过此应用程序的所有者了解获取有效密钥的信息   这里:   https://developers.google.com/maps/documentation/javascript/tutorial#api_key

当然有办法让这个工作!它是什么?

2 个答案:

答案 0 :(得分:26)

更新:

截至2016年6月22日,Google Maps V3不再支持无密钥访问(任何不包含API密钥的请求)。

您可以注册密钥:https://developers.google.com/maps/documentation/javascript/get-api-key

并将其添加到您的网址:

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

我的申请遇到了类似的问题。我使用没有客户端密钥的url进行测试,并在将代码放入生产服务器之前添加密钥。这是一种解决方法而不是解决方案,我假设您对本地测试的使用率很低。

测试服务器

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

生产服务器

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

网址:https://developers.google.com/maps/documentation/javascript/examples/

如果您检查以下站点并转到基本地图示例,您会发现示例不使用密钥。这是映射的v2和v3之间的差异之一,密钥不是强制性的。

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

请注意,省略密钥属于免费的Google Maps API许可。如果您需要跟踪使用情况,则必须至少提供密钥。如果您需要更多流量,则需要提供客户ID(Google Maps for Work)。

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

答案 1 :(得分:3)

根据建议in the official documentation

  

提示:在开发和测试期间,您可以在Google API控制台中注册项目以进行测试,并使用通用的,不受限制的API密钥。当您准备将应用程序或网站投入生产时,请注册一个单独的项目进行生产,创建一个受浏览器限制的API密钥,并将密钥添加到您的应用程序中。

您应该注册一个不同的项目并使用其不受限制的API进行开发测试。