Places API调用时Place ID显示NOT FOUND,如何刷新获取有效ID?
解决Google Places API获取服务区域型商家有效Place ID的方案
1. 验证并触发Place ID同步
- 用Place Details API直接验证当前ID是否有效:
若返回https://maps.googleapis.com/maps/api/place/details/json?place_id=ChIJ4ZphJoX7c6kRcsTRFd-cd_Y&key=API-KEYNOT FOUND,说明该ID已失效或未同步到API缓存。 - 登录Google Business Profile(GBP)后台,对商家信息做微小编辑(比如微调服务区域描述后再改回)并保存,触发Google重新索引商家档案,等待1-3天让API缓存同步更新。
2. 调整搜索接口适配服务区域商家
- Nearby Search优化:原请求仅返回实体门店,添加商家名称关键字和
establishment类型参数:https://maps.googleapis.com/maps/api/place/nearbysearch/json?location=-33.944640,151.228100&keyword=Key%20Solutions%20Locksmith&types=establishment&key=API-KEY - 改用Text Search接口:更适合按名称检索服务区域型商家,无需依赖实体门店位置:
https://maps.googleapis.com/maps/api/place/textsearch/json?query=Key%20Solutions%20Locksmith%20Maroubra%202035&key=API-KEY
3. 修正Autocomplete接口调用逻辑
原请求types=address仅返回地址类结果,服务区域商家属于establishment类型,调整参数后再调用:
https://maps.googleapis.com/maps/api/place/autocomplete/json?input=Key%20Solutions%20Locksmith%20Maroubra&types=establishment&components=country:au&key=API-KEY
获取返回的place_id后,必须通过Place Details API确认是否关联目标商家的评论及服务区域信息。
4. 直接从GBP后台提取有效Place ID
登录GBP后台,进入商家档案的「分享」模块,复制Google Maps分享链接,提取链接中的place_id(或通过Maps页面右键「分享或嵌入地图」获取),该ID为实时同步状态,有效性更高。
内容的提问来源于stack exchange,提问作者Tess
相关产品推荐
相关产品推荐

