我收到一个错误,通知我超出了 API 配额。但是,我的配额为 150,000 个请求,但只用完了其中的 12,000 个。导致此错误的原因是什么?
代码示例:
from googleplaces import GooglePlaces
api_key = ''
google_places = GooglePlaces(api_key)
query_result = google_places.nearby_search(location="Vancouver, Canada", keyword="Subway")
for place in query_result.places:
print(place.name)
错误信息:
googleplaces.GooglePlacesError: Request to URL https://maps.googleapis.com/maps/api/geocode/json?sensor=false&address=Vancouver%2C+Canada failed with response code: OVER_QUERY_LIMIT
来自错误消息的请求不是 Places API 请求。这是地理编码 API 请求。
https://maps.googleapis.com/maps/api/geocode/json?sensor=false&address=Vancouver%2C+Canada
它不包含任何 API 密钥。这意味着如果没有 API 密钥,您每天只能有 2500 个地理编码请求。此外,地理编码请求具有每秒查询数限制 (QPS),即每秒 50 个查询。您可能也超出了 QPS 限制。
https://developers.google.com/maps/documentation/geocoding/usage-limits
不知道为什么应该调用地方 API Web 服务的库实际上调用地理编码 API Web 服务。如果 Places API 不提供任何结果,也许这是某种回退。
对于任何在最近一段时间内查看这篇文章的人来说,谷歌已经做到了这一点,所以有必要有一个 api 密钥来使用他们的地图 api。因此,请确保您的程序有 api 密钥。还要记住不同的油门限制。
有关更多信息,请参见下文:
https://developers.google.com/maps/documentation/geocoding/usage-and-billing#:~:text=While%20there%20is%20no%20maximum,side%20and%20server%2Dside%20queries。