我想知道有没有人能解释一下为什么我的谷歌地图服务会出现403个禁止的错误。
我已经加载了地图api,如下:
<script type="text/javascript" src="//maps.googleapis.com/maps/api/js?libraries=places&sensor=false"></script>
然后使用地理编码和自动补全库将用户搜索转换为坐标,以显示在我的搜索结果的地图上。
这是完美的(几个月),直到昨天,当我开始看到403个错误,每当访问自动完成服务。
我有100%的信心,我没有达到每天25k的查询限制,我也没有做任何代码更改。
我现在已经在我的脚本加载中添加了一个API密钥,这个问题消失了,但我想确保这种情况不会再次发生。基于位置的搜索是我们网站的一个主要功能,如果它坏了,我们就会失去客户。
有没有人知道为什么会发生这种情况?
在什么情况下,这种情况还会再次发生?
发布于 2012-05-28 23:39:00
即使使用API密钥集,这个问题也会再次出现--我认为问题实际上出在缓存google map javascript上。
我让我的web服务器动态地决定将哪个javascript组合起来,缩小并缓存到本地。这是使用RequestReduce完成的。
当客户端的javascript变得陈旧(在我的例子中大约是3天)-谷歌返回403未授权。
API的钥匙只是一种转移注意力的东西。我可以删除这个键,并且我的代码仍然可以工作--只要映射js是“新鲜的”。
在我的例子中,修复方法是将maps.googleapis.com
添加到RequestReduce忽略列表中:
javascriptUrlsToIgnore="maps.googleapis.com"
对于其他脚本,只要确保maps.googleapis.com javascript的缓存时间不超过几个小时即可。
https://stackoverflow.com/questions/10719319
复制相似问题