我对如何使用python更新联系人感到困惑。 根据Google的People API,这个函数是
updateContact(resourceName=None, body=*, x__xgafv=None, updatePersonFields=None)
我有个叫查尔斯·巴贝奇的联系人:
{'etag': '%EgYBAj0KNy4aBAECBQciDHRIenJLZkEzM0hBPQ==',
'names': [{'displayName': 'Charles Babbage',
'displayNameLastFirst': 'Babbage, Charles',
'familyName': 'Babbage',
'givenName': 'Charles',
'metadata': {'primary': True,
'source': {'id': '216ee27389bd1ef4',
'type': 'CONTACT'}}}],
'nicknames': [{'metadata': {'primary': True,
'source': {'id': '216ee27389bd1ef4',
'type': 'CONTACT'}},
'value': 'charlie'}],
'resourceName': 'people/c2409111836549783284'}
当我做“get”得到他的昵称时,结果是:
{'etag': '%EgQBCjcuGgQBAgUHIgx0SHpyS2ZBMzNIQT0=',
'nicknames': [{'metadata': {'primary': True,
'source': {'id': '216ee27389bd1ef4',
'type': 'CONTACT'}},
'value': 'charlie'}],
'resourceName': 'people/c2409111836549783284'}
我想把查尔斯·巴贝奇的昵称从'charlie'
更新为'charlesB'
我试过很多不同的方法来研究"body=*"
和"updatePersonFields"
可能是什么,包括
使'body1' = whole person
,使body1 = whole person
具有昵称的新值
使updatePersonFields
中的'nicknames'
成为'nicknames'
或类似于'get'
返回的对象,但具有更改的昵称值。
虽然我的更新代码以'people/c.........'
的形式contactId
无误地执行,但我没有得到想要的更改
result = service.people().updateContact(resourceName = contactId, body = body1, updatePersonFields = 'nicknames')
有效的解决方案如下:
获取联系人(这将是一个列表)
更改联系人列表第一个元素的值。你知道吗
用新信息更改
aContact
updateContact
注意:
body
是更改的联系人,updatePersonFields
只是更改字段的名称。相关问题 更多 >
编程相关推荐