【问题标题】:Google Maps v3 API key won't work for local testingGoogle Maps v3 API 密钥不适用于本地测试
【发布时间】:2014-05-31 20:43:12
【问题描述】:

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

在“推荐人”部分我有:

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

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

【问题讨论】:

  • 你确定你使用的正是那个没有 www 部分的 URL 吗?权限引荐来源网址的使用非常准确:code*.yoursite.com/*code 不适用于 yoursite.com/ 和 codeyoursite.com/*code 不适用于 www。 yoursite.com/.
  • 我实际上是从浏览器中复制/粘贴 URL ......请记住,www 不可能丢失,因为它是本地站点(因此没有 www)。

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


【解决方案1】:

更新:

自 2016 年 6 月 22 日起,Google 地图 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

【讨论】:

  • 有趣。不用钥匙也能用??您能否指导我查看有关其工作原理的任何文档?
  • 我在代码示例下查看-> 简单地图。只需点击 javascript+HTML 他们在示例中使用了以下内容:
  • 是的。我已经开始这样做并且有效。但我还是不明白为什么。我很想知道他们是否发布了有关它的具体细节。
  • 我认为这个问题比我能更好地回答有关密钥的问题。 stackoverflow.com/questions/2769148/…
【解决方案2】:

如建议in the official documentation:

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

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

【讨论】:

    猜你喜欢
    • 2012-08-31
    • 1970-01-01
    • 2011-03-21
    • 1970-01-01
    • 2012-03-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-01-12
    相关资源
    最近更新 更多