授权从谷歌地图api v3密钥访问https页面

时间:2012-03-29 21:13:06

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

我正在使用一个在http页面上为我工作的密钥,但当我尝试从http页面使用它时,它无效。 它只是显示了以下信息:

  

“Google已禁止将Maps API用于此应用程序   提供的密钥不是有效的Google API密钥,或者未经授权   对于此网站上的Google Maps Javascript API v3。如果你是   您可以通过此应用程序的所有者了解获取有效密钥的信息   在这里:......“

在apis控制台中,我设置了Referers:*.mydomain.com/*

只有在添加https://mydomain.com/page之后才能从https页面访问它。

这是一个错误还是一个功能? *.mydomain.com/*不应涵盖https://mydomain.com/page吗?

3 个答案:

答案 0 :(得分:0)

没有。我相信这不是一个bug,而引用者意味着域,而不是协议。它应该明确记录,但很容易设置,就像你发现的那样。

我怀疑从文档中遗漏的原因很简单,控制台密钥是最近的一项创新而且文档没有赶上(过去五年常见的失败)。有益的副作用可能是您可以使用httpshttp的不同键来分隔统计报告,甚至可以使用不同的配额。

答案 1 :(得分:0)

同意@Andrew Leach。

这是documentation关于从HTTPS网页托管谷歌地图的说法:

  

HTTPS

     

如果您的应用是HTTPS应用,您可能希望通过HTTPS加载Google Maps JavaScript API:

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

没有提及为同一域使用不同的HTTP和HTTPS密钥。 (我认为,因为您需要决定是否要在HTTP或HTTPS上托管您的页面。如果您改变主意改变协议,则记录将从0开始,因为两者现在都是不同的应用程序。)< / em>确保你正在做他们要做的事情,然后给BUG喊一声!

答案 2 :(得分:0)

您需要添加以下引用才能使其正常工作:

https://mydomain.com/*

https://www.mydomain.com/*

http://www.mydomain.com/*

http://mydomain.com/*

为什么所有这些参考者?

您网站的用户可以使用这些网址访问您的网站。因此,最好将它们作为引用者,以便您可以避免这些错误。