我正在使用一个在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
吗?
答案 0 :(得分:0)
没有。我相信这不是一个bug,而引用者意味着域,而不是协议。它应该明确记录,但很容易设置,就像你发现的那样。
我怀疑从文档中遗漏的原因很简单,控制台密钥是最近的一项创新而且文档没有赶上(过去五年常见的失败)。有益的副作用可能是您可以使用https
和http
的不同键来分隔统计报告,甚至可以使用不同的配额。
答案 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/*
为什么所有这些参考者?
您网站的用户可以使用这些网址访问您的网站。因此,最好将它们作为引用者,以便您可以避免这些错误。