На этой странице объясняется, как получить подробную информацию о подписке Google Workspace с помощью метода subscriptions.get()
.
При вызове этого метода с аутентификацией пользователя метод возвращает информацию о подписке, авторизованной пользователем. При использовании аутентификации приложения метод может возвращать информацию о любой подписке для приложения.
Предпосылки
Скрипт приложений
- Подписка на Google Workspace. Чтобы создать её, см. раздел Создание подписки .
Требуется аутентификация пользователя с одной или несколькими областями, поддерживающими все типы событий для подписки .
- Проект Apps Script:
- Используйте свой проект Google Cloud вместо проекта по умолчанию, созданного автоматически Apps Script.
- Для всех областей действия, добавленных для настройки экрана согласия OAuth, необходимо также добавить их в файл
appsscript.json
в проекте Apps Script. Например, если вы указали область действияchat.messages
, добавьте следующее: - Включите расширенную службу
Google Workspace Events
.
"oauthScopes": [ "https://www.googleapis.com/auth/chat.messages" ]
Питон
- Python 3.6 или выше
- Инструмент управления пакетами pip
- Последние клиентские библиотеки Google для Python. Чтобы установить или обновить их, выполните следующую команду в командной строке:
pip3 install --upgrade google-api-python-client google-auth-oauthlib
- Подписка на Google Workspace. Чтобы создать её, см. раздел Создание подписки .
Требуется аутентификация :
- Для аутентификации пользователя требуется область действия, поддерживающая хотя бы один из типов событий для подписки. Чтобы определить область действия, см. раздел «Области действия по типу события» .
- Для аутентификации приложения требуется область действия
chat.bot
(только приложения Google Chat).
Оформить подписку, авторизованную пользователем
Следующий пример кода получает информацию о ресурсе Subscription
, используя аутентификацию пользователя. При аутентификации пользователя метод возвращает подписку, которую пользователь разрешил приложению создать.
Чтобы получить подписку, авторизованную пользователем:
Скрипт приложений
В проекте Apps Script создайте новый файл скрипта с именем
getSubscription
и добавьте следующий код:function getSubscription() { // The name of the subscription to get. const name = 'subscriptions/SUBSCRIPTION_ID'; // Call the Workspace Events API using the advanced service. const subscription = WorkspaceEvents.Subscriptions.get(name); console.log(subscription); }
Заменить следующее:
Чтобы получить подписку, запустите функцию
getSubscription
в своем проекте Apps Script.
Питон
В рабочем каталоге создайте файл с именем
get_subscription.py
и добавьте следующий код:"""Get subscription.""" from google_auth_oauthlib.flow import InstalledAppFlow from googleapiclient.discovery import build # Specify required scopes. SCOPES = ['SCOPE'] # Authenticate with Google Workspace and get user authentication. flow = InstalledAppFlow.from_client_secrets_file('credentials.json', SCOPES) CREDENTIALS = flow.run_local_server() # Call the Workspace Events API using the service endpoint. service = build( 'workspaceevents', 'v1', credentials=CREDENTIALS, ) NAME = 'subscriptions/SUBSCRIPTION_ID' subscription = service.subscriptions().get(name=NAME).execute() print(subscription)
Заменить следующее:
-
SCOPE
: область действия OAuth, поддерживающая как минимум один тип событий из подписки . Например, если ваша подписка получает события в обновлённом чат-пространстве,https://www.googleapis.com/auth/chat.spaces.readonly
. -
SUBSCRIPTION_ID
: Идентификатор подписки. Чтобы получить идентификатор, воспользуйтесь любым из следующих способов:
-
Убедитесь, что вы сохранили учётные данные OAuth-клиента в рабочем каталоге и назвали файл
credentials.json
. В примере кода этот JSON-файл используется для аутентификации в Google Workspace и получения учётных данных пользователя. Инструкции см. в разделе Создание учётных данных OAuth-клиента .Чтобы оформить подписку, выполните в терминале следующее:
python3 get_subscription.py