如何通过People API为Google联系人添加Geo数据?
Google People API 添加联系人Geo数据的方案
目前Google People API的Address结构体确实没有提供直接存储纬度、经度的字段,官方文档里也未提及该字段的支持。
可行方案:
- 自动关联Geo数据:提交完整的结构化地址信息(如街道、城市、邮编、国家等),Google会自动对地址进行地理编码,生成对应的经纬度并关联到该联系人地址上,无需手动输入坐标。
Python示例代码:from googleapiclient.discovery import build from google.oauth2.credentials import Credentials # 加载认证凭据 creds = Credentials.from_authorized_user_file('token.json', ['https://www.googleapis.com/auth/contacts']) people_service = build('people', 'v1', credentials=creds) # 构造联系人数据,包含完整结构化地址 new_contact = { "names": [{"givenName": "Jane", "familyName": "Smith"}], "addresses": [ { "streetAddress": "1600 Amphitheatre Parkway", "city": "Mountain View", "region": "CA", "postalCode": "94043", "country": "US", "type": "work" } ] } # 创建联系人 result = people_service.people().createContact(body=new_contact).execute() - 手动指定坐标(仅自定义方式):如果必须手动输入经纬度,API没有原生支持,只能通过
userDefined字段添加自定义键值对,但这不会被识别为官方标准的Geo数据点。示例:# 在new_contact中添加自定义字段 "userDefined": [ {"key": "Latitude", "value": "37.4220"}, {"key": "Longitude", "value": "-122.0841"} ]
内容的提问来源于stack exchange,提问作者Max
相关产品推荐
相关产品推荐

