#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()