Google Maps v3 API密钥不适用于本地测试
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Google Maps v3 API密钥不适用于本地测试相关的知识,希望对你有一定的参考价值。
我有一个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
肯定有办法让这个工作!它是什么?
更新:
截至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
正如建议in the official documentation:
提示:在开发和测试期间,您可以在Google API控制台中注册项目以进行测试,并使用通用的,不受限制的API密钥。当您准备将应用程序或网站投入生产时,请注册一个单独的项目进行生产,创建一个受浏览器限制的API密钥,并将密钥添加到您的应用程序中。
您应该注册一个不同的项目并使用其不受限制的API进行开发测试。
以上是关于Google Maps v3 API密钥不适用于本地测试的主要内容,如果未能解决你的问题,请参考以下文章
使用模板变量时,Django google-maps API v3 不适用于 Chrome
map.fitbounds google maps api v3 不适用于从 jQM 面板选择的位置
Google Maps API V3 pinch-to-zoom 不适用于 Windows 8.1 预览版上的 IE 11
Google Maps API V3 中的 API 密钥是啥?