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

问题描述 投票:11回答:2

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

在“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

肯定有办法让这个工作!它是什么?

javascript google-maps google-maps-api-3
2个回答
25
投票

更新:

截至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


3
投票

正如建议in the official documentation

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

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

© www.soinside.com 2019 - 2024. All rights reserved.