【问题标题】:Update contact in Google People API更新 Google People API 中的联系人
【发布时间】:2021-06-23 22:26:36
【问题描述】:

我无法通过 Google 人员 API 更新联系人备注。我使用了以前 stackoverflow 答案中的一些代码,但它似乎不再起作用。下面是我正在使用的功能。我正在尝试将特定联系人的备注更改为“changed bio xyz”。

我做错了什么?该api确实读取了联系人列表,但我还没有能够成功写入。

谢谢,如果我能让这个问题更清楚,请告诉我

results = service.people().connections().list(
    resourceName='people/me',
    pageSize=1500,
    personFields='names,emailAddresses,phoneNumbers,biographies').execute()
connections = results.get('connections', [])


aContact = service.people().get(
resourceName = 'people/c1589313158061148817',
personFields = 'biographies' ).execute()
notesNames = aContact['biographies'][0]        
notesNames['value'] = 'changed bio xyz'

result = service.people().updateContact(
resourceName = 'people/c1589313158061148817',
body = aContact, 
updatePersonFields = 'biographies'
).execute()

【问题讨论】:

  • 为什么顶部有结果和连接?它与你想要做什么有关吗?
  • 我从谷歌文档中的股票 python 代码中获取了这个。我只是试图一次控制一项更改,我真的不明白调用 API 有什么必要。我发现文档有点混乱。
  • 你试过在API explorer上使用它吗?

标签: google-api google-people-api


【解决方案1】:

我想通了。更新在body 部分,它需要遵循字典格式

  aContact = service.people().get(
resourceName = 'people/c36943406266964946',
personFields = 'names,nicknames'
).execute()
print ('this is acontact', aContact)
NickNames = aContact['nicknames'][0]        
NickNames['value'] = 'newNickName'

aContact['nicknames'] = NickNames
result = service.people().updateContact(
resourceName = 'people/c36943406266964946',
body = aContact, 
updatePersonFields = 'nicknames'
).execute()

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-12-07
    • 2021-04-30
    • 1970-01-01
    相关资源
    最近更新 更多