如何通过Google API从Deliveroo餐厅名称及地址获取联系电话?
如何用Google API从餐厅名称+地址获取联系电话
嘿,我来帮你理清这个问题——你完全可以通过Google API实现这个需求,只是之前找错了对应的API入口!Google Contact API是用来管理个人/企业通讯录数据的,并不适合查询公开商家的信息;你需要的是Google Places API(它属于Google Maps Platform的一部分),下面是具体的实现方法:
核心思路
你需要分两步调用API:
- 用餐厅名称+地址组合的文本,搜索匹配的商家Place ID
- 通过Place ID获取商家的详细信息(包括联系电话)
具体API端点说明
1. Place Find Place From Query API
这个端点专门用来通过文本查询快速定位最匹配的商家,非常适合你用“名称+地址”的组合来搜索。你只需要把餐厅名称和地址拼接成一个字符串作为查询参数,就能拿到对应的Place ID。
示例请求(curl):
curl "https://maps.googleapis.com/maps/api/place/findplacefromtext/json?input=【你的餐厅名称】%2C%20【你的餐厅地址】&inputtype=textquery&fields=place_id&key=你的Google API密钥"
input:替换成你的餐厅名称+地址(比如"Joe's Pizza, 456 Oak Ave, Manchester"),注意URL编码fields=place_id:指定只返回Place ID,减少响应数据量,也能节省API调用成本key:替换成你在Google Cloud Console生成的API密钥(需要先启用Places API)
2. Place Details API
拿到Place ID后,调用这个端点就能获取商家的详细信息,其中formatted_phone_number字段就是你需要的联系电话。
示例请求(curl):
curl "https://maps.googleapis.com/maps/api/place/details/json?place_id=第一步返回的Place ID&fields=formatted_phone_number,name,formatted_address&key=你的Google API密钥"
fields:可以按需指定需要的字段,比如加上name和formatted_address用来验证返回的商家是否和你手里的信息匹配
关键注意事项
- API启用与密钥:你需要在Google Cloud Console中启用「Places API」,并生成有效的API密钥,同时确保密钥的权限设置正确(比如限制调用来源,避免被盗用)
- 匹配精度:如果你的餐厅名称+地址足够精准,返回的结果会很准确;如果遇到重名商家,建议对比返回的
formatted_address和你手里的地址,确保是同一个商家 - 配额与计费:Google Places API有免费配额,但批量调用时可能会产生费用,建议提前查看Google Maps Platform的计费说明,确保你的预算覆盖需求
- 合规性:使用获取到的数据时,要遵守Google的API服务条款,以及当地的隐私法规
内容的提问来源于stack exchange,提问作者Baptiste Gautier
相关产品推荐
相关产品推荐

