调用Google Nearby Places API返回INVALID_REQUEST无效请求如何解决?
谷歌Places Nearby Search API返回INVALID_REQUEST错误原因及排查方案
INVALID_REQUEST是谷歌Places API的通用报错类型,代表请求参数缺失、格式错误或不符合接口规则,你可以按照以下步骤逐一排查修复:
- 优先检查必填参数是否完整
谷歌Places Nearby Search接口强制要求传递三个必填参数:location(经纬度坐标)、radius(搜索半径,单位为米,最大取值50000)、key(谷歌云API密钥)。你当前提交的请求URL中缺失radius参数,这是触发该报错的最高概率原因,补全参数后的示例URL为:https://maps.googleapis.com/maps/api/place/nearbysearch/json?location=27.950575,-82.457176&radius=1000&key=GOOGLE_KEY - 检查参数格式与规则是否合规
- 确认
location参数为纬度,经度格式,中间无多余空格,你当前的经纬度格式符合要求 - 如果你使用了
rankby=distance参数,必须同时传递keyword/name/type三个参数中的任意一个,且不能和radius参数同时使用 - 其他可选参数需确认拼写正确,参数值符合接口取值要求
- 确认
- 检查API密钥有效性
确认你替换的GOOGLE_KEY为谷歌云平台已启用Places API服务的有效密钥,不存在配额耗尽、访问权限受限、拼写错误等问题 - 检查Python请求逻辑是否正确
避免手动拼接URL导致的特殊字符转义错误,建议使用Requests自带的params参数自动构造请求,示例代码如下:
import requests base_url = "https://maps.googleapis.com/maps/api/place/nearbysearch/json" request_params = { "location": "27.950575,-82.457176", "radius": 1000, "key": "替换为你的实际API密钥" } resp = requests.get(base_url, params=request_params) print(resp.json())
- 确认接口服务启用状态
确认你的谷歌云账号下已经为该密钥开启了Places API服务,而非其他地图类API,服务不存在被禁用的情况
内容的提问来源于stack exchange,提问作者xXMavhawkXx
相关产品推荐
相关产品推荐

