如何通过Google Places API批量查询谷歌表格中加拿大地址对应邮编
可行性确认
可以实现,不过更推荐使用Google Maps Geocoding API替代你提到的Places API完成该需求:Places API的核心定位是POI搜索、地点信息查询,而地址正向解析获取邮编属于Geocoding API的原生适配场景,准确率更高、单请求成本更低,调用流程也更简单。
Google Sheet 批量查询操作步骤
针对你存放在Google Sheet的3000条地址,可以直接通过内置的Apps Script完成批量调用,不需要额外搭建本地服务:
- 第一步:先拼接完整地址字符串,降低解析歧义。如果你的表格A列为街道、B列为城市、C列为省份,直接在D列输入公式
=A1&", "&B1&", "&C1&", Canada",下拉填充即可得到所有地址的标准化完整字符串。 - 第二步:在Sheet顶部菜单栏选择「扩展程序」-「Apps Script」进入脚本编辑界面,后续的API调用逻辑直接在这里编写。
- 第三步:前往Google Cloud控制台申请API密钥,同时开通Geocoding API权限,绑定结算账户即可使用(新账号有免费额度可以抵扣3000次请求的费用)。
- 第四步:在Apps Script中编写循环逻辑,逐行读取拼接好的完整地址发起API请求,解析返回结果中
postal_code对应的值,直接写回Sheet的邮编列即可。
注意事项
- 控制请求频率避免触发限流,设置每两次请求间隔1秒即可,3000条数据总耗时不到1小时即可跑完。
- 存在拼写错误的地址可能会返回匹配错误的邮编,建议跑完后抽取10%左右的样本手动校验,识别失败的地址单独标注后人工补全即可。
- 如果你坚持使用Places API也能实现,但需要先调用Find Place接口获取地址对应的Place ID,再调用Place Details接口拉取邮编字段,单条地址需要发起2次请求,成本是Geocoding API的2倍,没有特殊需求不建议选择该方案。
内容的提问来源于stack exchange,提问作者clark
相关产品推荐
相关产品推荐

