Меня смущает, как обновить контакт с помощью python.Согласно API Google People, эта функция имеет вид
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
с новым значением для псевдонима
делая 'nicknames'
вupdatePersonFields
будет 'nicknames'
или объект, аналогичный тому, что возвращает 'get'
, но с измененным значением псевдонима.
В то время как мой код обновления выполняется без ошибок с contactId
формы 'people/c.........'
, я не получаю нужное изменение
result = service.people().updateContact(resourceName = contactId, body = body1, updatePersonFields = 'nicknames')