#google-api #google-contacts-api #google-people-api #google-shared-contacts
Вопрос:
Я хочу использовать API общих контактов домена как часть клиентской библиотеки python.
Поток, который я использую в других случаях: создание учетных данных:
credentials = service_account.Credentials.from_service_account_info(....)
«Создать» объект службы, который я выполняю позже
service = googleapiclient.discovery.build(service_name, api_version,credentials=credentials)
В случае API общих контактов домена я не знаю, какой service_name или api_version использовать службу обнаружения Google API, если таковая имеется.
Можно ли создавать / обновлять / удалять внешние контакты для домена с помощью API контактов ИЛИ людей?
Если нет, процесс использования этого API заключается в создании запросов в вашей кодовой базе с использованием OAuth 2.0 для приложений веб-сервера к конечным точкам REST, таким как: https://www.google.com/m8/feeds/contacts/example.com/full
Ответ №1:
Мне удалось решить мою проблему только с помощью API общих контактов домена
- Я создал учетную запись службы.
- Подготовил авторизованный вызов API (HTTP / REST), используя приведенный здесь пример. Особое внимание дополнительным заявлениям .
- Поскольку я использую Python, я установил pyjwt и использовал его для создания и подписания моего JWT. В качестве секрета я использовал service_account.private_key:
jwt.encode(jwt_claim_set, secret, algorithm="RS256")
Затем в зависимости от варианта использования (получить контакты, создать один ..). Я назначил токен Google (подписанный JWT) моему запросу.
Пример:
endpoint = 'https://www.google.com/m8/feeds/contacts/{}/{}'.format(your_own_domain, projection_value)
headers = {"Authorization": "Bearer " token}
gsuite_get_response = requests.get(endpoint, headers=headers)
Комментарии:
1. Кому-нибудь будет интересно иметь python. библиотека для этого?