2012-03-29 126 views
1

我使用的是一个在我的http页面上工作的密钥,但是当我试图从http页面使用它时,它无法工作。 它刚刚出现以下消息:授权谷歌地图api v3密钥从https页面访问

“谷歌已经禁止对此应用使用Maps API的 提供的密钥不是有效的谷歌API密钥,或没有授权 对谷歌地图的JavaScript。本网站API V3如果您是此应用的 所有者,您可以了解获得有效的密钥 这里:。...”

内,我已经建立了查阅情况的API控制台:对*.mydomain.com/*

只有在添加https://mydomain.com/page后,才从https页面访问时开始工作。

这是错误还是功能? 不应该*.mydomain.com/*也覆盖为https://mydomain.com/page

回答

0

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

我怀疑从文档的遗漏的原因很简单,就是控制台关键是新的创新和文档还没有跟上(一个通病,在过去五年)。一个有益的副作用可能是您可以使用不同的密钥httpshttp分开统计报告或甚至利用不同的配额。

+0

“引用者意味着域名,而不是协议”?但是,我期望'* .mydomain.com/*'匹配“refferer”,如果它的'https:// mydomain.com/page' .... – epeleg 2012-04-04 08:24:45

+0

您发现的结果可能并不是API控制台的工作原理。这并不意味着它是一个错误。这只是不工作*你期望它。 – 2012-04-04 10:31:47

0

同意@Andrew Leach。

这是documentation说,大约从HTTPS网页托管谷歌地图:

HTTPS

如果您的应用是HTTPS应用程序,你可能会想通过HTTPS加载谷歌地图的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开始,因为两者现在都是不同的应用程序。)确保你正在做他们正在做的事,然后给BUG留言!

0

您需要添加以下参照网址,使其工作:

https://mydomain.com/* 

https://www.mydomain.com/* 

http://www.mydomain.com/* 

http://mydomain.com/* 

为什么所有这些参照网址?您的网站的

用户可以使用任何这些URL的访问您的网站。所以最好把它们当作查阅者,这样就可以避免这些错误。