使用Python向新版Google Maps Places API发送POST请求遇400错误求助
解决新版Google Places Nearby Search API 400错误的方案
以下是几个排查和修复方向:
1. 检查API密钥权限与API启用状态
- 旧版Places API密钥不会自动启用新版Places API(Places API (New)),需登录Google Cloud控制台,找到密钥所属项目,搜索并启用「Places API (New)」。
- 确认密钥的限制规则(如IP限制、API范围限制)未阻止当前请求,若有IP限制需添加本地/服务器IP。
2. 修复API密钥读取的潜在问题
读取密钥文件时可能带入换行符或空格,导致密钥无效,修改读取代码:
api_file = open("Maps_API.txt", "r") API_KEY = api_file.read().strip() # 用strip()去除多余空白字符 api_file.close()
3. 优化请求发送方式
requests库支持直接传入json参数,无需手动序列化,避免格式错误,修改请求代码:
# 移除json_data = json.dumps(data)这一行 response = requests.post(url, json=data, headers=headers)
4. 验证请求字段正确性
- 确认
locationRestriction.circle.radius单位为米,你设置的500米符合要求。 - 检查
X-Goog-FieldMask字段是否符合新版API规范,若需获取名称文本,可改为id,displayName.text,location,确保请求字段为API支持的返回项。
额外调试建议
打印响应的错误详情,精准定位问题:
print(response.text) # Google API会返回400错误的具体原因
内容的提问来源于stack exchange,提问作者Kevin Hopkins
相关产品推荐
相关产品推荐

