我收到了谷歌地图API的不稳定行为,但令人惊讶的是,我只是在我的单元测试中使用的一个例子,所有其他人都正常工作。
基本上我实现了对以下地址的get调用:
所以,这是一个单元测试,我知道这个结果会给出一个错误输出,所以预期的行为如下:
{ “结果”:[], “状态”:“ZERO_RESULTS” }
但是,有时会提供此结果,我将收到以下结果:
{'error_message':'您已超出此API的每日请求限额。我们建议您在Google Developers Console中注册密钥:https://console.developers.google.com/apis/credentials?project=_','results':[],'status':'OVER_QUERY_LIMIT'}
好吧,我想到的第一件事就是我超过了每日配额......但实际情况并非如此,正如我之前提到的那样,这是我的代码单元测试的一部分,并且在此调用后我还有另一个一个有效的...如果我等一段时间,让我们说,10分钟,回来并为我提供正确的输入。
所以基本上我遇到了不稳定的行为。我对这个论坛的问题是,如果有人遇到过同样的问题以及你如何克服这个问题,那么实施“重试”机制对我来说并没有用,而且我没有想法。
答案 0 :(得分:2)
生成API密钥并将其与单元测试请求一起使用。
https://developers.google.com/maps/documentation/geocoding/get-api-key
请注意,以前对Google Maps JavaScript API不推荐使用无密钥访问
https://maps-apis.googleblog.com/2016/06/building-for-scale-updates-to-google.html
我希望这有帮助!
在2018年6月引入Google Maps Platform后,所有服务都不推荐使用无密钥访问。从现在开始,您必须将API密钥与Google Maps API一起使用。
从6月11日开始,您需要有效的API密钥和Google Cloud Platform结算帐户才能访问我们的核心产品。