Использование Python с помощью метода Google People API otherContacts.copyOtherContactToMyContactsGroup

#python #google-api #google-contacts-api #google-api-python-client

#python #google-api #google-contacts-api #google-api-python-client

Вопрос:

Я пытаюсь использовать Python для выполнения запроса на обновление контактов из «других контактов». Я могу создать объект запроса, подобный этому

 oRequest = servPeople.otherContacts().copyOtherContactToMyContactsGroup(resourceName = 'otherContacts/c5014863774837996295')
  

но мне нужно указать маску для копирования, например ‘Адреса электронной почты’

Эта документация по созданию запросов API и обработке ответов, похоже, показывает, как указать тело для такого запроса, и в соответствии с этим методом: otherContacts.copyOtherContactToMyContactsGroup

Я думаю, что тело запроса должно быть { "copyMask": 'emailAddresses' } , и объект запроса имеет этот метод, поэтому я могу указать oRequest.body = { "copyMask": 'emailAddresses' }

но когда я затем пытаюсь oRequest.execute(), я получаю это сообщение:

Обратная трассировка (последний последний вызов): Файл «C:Users *Anaconda3libhttpclient.py «, строка 977, в файле send self.sock.sendall (данные) «C:Users *Anaconda3libssl.py «, строка 1012, в sendall с memoryview (данные) в качестве view, view.cast(«B») как byte_view: TypeError: memoryview: требуется объект, подобный байтам, а не ‘str’.

Ответ №1:

Хорошо — это делает это:

 body = {"copyMask": 'emailAddresses,names,phoneNumbers'}

result = servPeople.otherContacts().copyOtherContactToMyContactsGroup(resourceName = 'otherContacts/c5014863774837996295', body = body).execute()