You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何绕过Google Place API字段错误,保障有效字段正常返回?

处理Google Place API中部分地点不支持特定字段的请求错误

问题场景

当使用Google Place API的findplacefromtext接口请求部分地点不支持的字段(比如CN Tower的price_level)时,会直接返回INVALID_REQUEST错误,且无有效数据返回:

请求示例:

https://maps.googleapis.com/maps/api/place/findplacefromtext/json?
input=CN%20tower
&inputtype=textquery
&fields=price_level
&key=KEY

错误返回:

{
  "candidates": [],
  "error_message": "Error while parsing 'fields' parameter: Unsupported field name 'price_level'. ",
  "status": "INVALID_REQUEST"
}

解决方案

采用两步请求策略,避免因单个不支持字段导致整个请求失败:

  1. 第一步:获取地点基础信息与place_id
    使用findplacefromtext接口请求所有地点普遍支持的基础字段(如name, place_id),这类请求不会触发错误:
https://maps.googleapis.com/maps/api/place/findplacefromtext/json?
input=CN%20tower
&inputtype=textquery
&fields=name,place_id
&key=KEY
  1. 第二步:通过Place Details API获取目标字段
    用第一步得到的place_id调用Place Details API,请求包含price_level在内的所需字段。该API对于地点不支持的字段会直接忽略(不返回该字段),而非触发错误,其他支持的字段会正常输出:
https://maps.googleapis.com/maps/api/place/details/json?
place_id=PLACE_ID_FROM_STEP1
&fields=name,price_level,formatted_address
&key=KEY

额外说明

  • 如果不想分两次请求,也可以在findplacefromtext中仅请求确定所有目标地点都支持的字段,后续再针对可选字段单独用Place Details API补充查询。
  • Place Details API的字段兼容性比findplacefromtext更好,对于不存在的字段不会抛出错误,仅返回已存在的字段数据。

内容的提问来源于stack exchange,提问作者Kevin Tommy

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.15 17:15:00