Google Places Find Place API调用报错:不支持website字段的咨询
问题排查与解决方案
1. 为什么请求website字段报错?
你遇到的INVALID_REQUEST错误,核心原因是Find Place API不支持在fields参数中直接指定website字段。这个字段属于Place Details API的专属返回字段,Find Place API仅支持返回有限的基础字段(比如你请求的formatted_address、name、rating、opening_hours都是合法的,但website不在其支持列表内)。你参考的文档中提到的Place-website,其实是Place Details API的字段说明,并非Find Place API的可用字段。
2. 如何获取至少5条含website的地点结果?
Find Place API本身最多仅返回1条匹配结果(默认逻辑),无法满足批量获取5条的需求。你需要换用Text Search API(或Nearby Search API)配合Place Details API来实现:
步骤1:用Text Search API批量获取地点的place_id
Text Search API支持一次返回最多20条匹配地点,请求示例(适配你的需求):
https://maps.googleapis.com/maps/api/place/textsearch/json?query=Cafes in NewYork&key=MYAPIKEY
返回结果中会包含每个地点的place_id,这是后续获取详情的唯一标识。
步骤2:调用Place Details API获取website字段
针对每个place_id,调用Place Details API并指定website字段:
https://maps.googleapis.com/maps/api/place/details/json?place_id=PLACE_ID&fields=name,formatted_address,website&key=MYAPIKEY
你可以通过并行发起多个请求来提高效率,最终得到含website的批量地点数据。
补充说明
- Place Details API一次只能处理一个
place_id,但客户端并行请求可以有效减少整体耗时。 - 确保你的API密钥已启用Places API相关权限(包括Text Search、Place Details),否则会触发权限类错误。
内容的提问来源于stack exchange,提问作者Pranjal Shah
相关产品推荐
相关产品推荐

