有没有人知道一种方法来测试通过Javascript或HTTP请求,如果配额的谷歌MapJavascript API V3达到?获得错误消息,这是显示给用户,将是足够的。
我们启用了计费功能,并为Google Maps Javascript API v3设定了大约100,000的配额,但有时我们会打破配额,有时甚至没有意识到这一点。现在我们喜欢用nagios这样的工具(可能是使用phantomjs)来监控我们的API访问,以获得即时警告。但我找不到任何关于如何测试配额是否超过的信息。
更新2
类似的请求可在此处找到:How to detect that the 25000 request per day limit has been reached in Google Maps?
但是这里只有一个对API-Console的引用,如果有人设法使用Javascript回退到静态Map,我可以根据我的情况修改脚本。
更新
下面是一个google maps的本地化配额错误消息的例子,它显示给用户而不是一个Map。如果发生这样的事情,我宁愿删除Map容器:
3条答案
按热度按时间pkwftd7m1#
我假设你想知道你是否已经超过了Google Maps API Web Services的请求限制。下面是官方文档的说明:
超出使用限制
如果超出使用限制,您将收到OVER_QUERY_LIMIT状态代码作为响应。
这意味着Web服务将停止提供正常响应,并切换到仅返回状态代码OVER_QUERY_LIMIT,直到再次允许更多使用。
重置哪个服务的每日配额在客户之间以及对于每个API是不同的,并且可以随时间改变。
在收到状态代码为OVER_QUERY_LIMIT的响应时,应用程序应确定超出了哪个使用限制。可以通过暂停2秒并重新发送同一请求来完成此操作。如果状态代码仍然为OVER_QUERY_LIMIT,则应用程序每天发送的请求过多。否则,应用程序每秒发送的请求过多。
代码示例:
引用自GoogleMap文档:https://developers.google.com/maps/documentation/business/articles/usage_limits#limitexceeded
TLDR:发出请求,如果你得到OVER_QUERY_LIMIT响应,两秒后再试一次。如果响应还是一样,你已经达到了每日限制。
nfeuvbwi2#
我根据Google错误消息包含一个具有
dismissButton
class属性的元素的观察结果提出了一个解决方案。jtjikinw3#
对于谷歌JavascriptMap,我使用下面的代码;