Google maps api 3 经过几个月的100%稳定后,今天我在谷歌地图服务上发现了403个错误

Google maps api 3 经过几个月的100%稳定后,今天我在谷歌地图服务上发现了403个错误,google-maps-api-3,geocoding,http-status-code-403,Google Maps Api 3,Geocoding,Http Status Code 403,我只是想知道是否有人能解释为什么我在谷歌地图服务中看到403个被禁止的错误 我一直在加载maps api,如下所示: <script type="text/javascript" src="//maps.googleapis.com/maps/api/js?libraries=places&amp;sensor=false"></script> 然后使用地理编码和自动完成库将用户搜索转化为坐标,显示在我搜索结果的地图上 直到昨天,当我开始在访问自动完成服务时

我只是想知道是否有人能解释为什么我在谷歌地图服务中看到403个被禁止的错误

我一直在加载maps api,如下所示:

<script type="text/javascript" src="//maps.googleapis.com/maps/api/js?libraries=places&amp;sensor=false"></script>

然后使用地理编码和自动完成库将用户搜索转化为坐标,显示在我搜索结果的地图上

直到昨天,当我开始在访问自动完成服务时看到403个错误时,这个功能一直工作得很好(几个月)

我100%相信我没有达到每天查询25k的限制,我也没有对代码进行任何更改

现在,我已经在脚本加载中添加了一个API密钥,问题消失了,但我想确保这种情况不会再次发生。基于位置的搜索是我们网站的一个主要功能,如果它失效,我们将失去客户

有人知道为什么会发生这种情况吗


在什么情况下会再次发生这种情况呢?

谷歌地图JavaScript API最近将版本略微增加到3.9,默认版本从3.6提高到3.7。我注意到,您没有在用于加载Google Maps JavaScript API库的URL中指定版本,因此检索默认版本3.7。版本3.7的一个重要方面是,它现在要求对某些库使用密钥。中提供了有关应使用哪个版本的信息


其他一些人也遇到了类似的问题,但是如果您在添加密钥后运行良好,那么您应该是优秀的。如果您希望在将来收到有关Google Maps API更改的通知,您可以。

即使使用API密钥集,这个问题也会再次出现——我认为问题实际上在于缓存Google Maps javascript

我让我的web服务器动态地决定要组合、缩小和本地缓存的javascript。这是通过使用

当客户端javascript变得过时时(我的情况大约是3天),google返回403个unauthorized

API密钥只是一条红鲱鱼。我可以删除密钥,我的代码仍然有效——只要MapsJS是“新鲜的”

在我的例子中,修复方法是将
maps.googleapis.com
添加到忽略列表中:

javascriptUrlsToIgnore="maps.googleapis.com"

对于其他人,只要确保不会将maps.googleapis.com javascript缓存超过几个小时(如果有的话)。

Hi。它可能是
&
您是否尝试将其替换为
&
?@JanisLankovskis-谢谢,但它仍在使用
&和工作。新的调用很简单:
//maps.googleapis.com/maps/api/js?libraries=places&;传感器=假&;key=APPLICATIONKEY
感谢您的回复,我想最近您指的是昨天!我已经注册了通知,所以希望将来能够更加主动…你说的是什么API密钥?从中获得的一个。它位于google maps api调用中:
//maps.googleapis.com/maps/api/js?key=APP‌​ApplicationKey
我不敢相信这就是问题所在。清除了缓存,一切都恢复正常。谢谢你回来发帖。这正是我的问题。HTML5应用程序缓存使得这种情况很容易发生。他们真的应该在回复中提供更多信息,让您了解实际问题是什么。使用cloudflare并启用性能(rocketscripts)和主动缓存时也会遇到类似的问题。