На этой странице объясняется, как удалить подписку Google Workspace с помощью метода subscriptions.delete() .
При удалении подписки ваше приложение больше не получает никаких событий. Если срок действия подписки истекает, API событий Google Workspace автоматически удаляет её.
Предварительные требования
Apps Script
- Подписка на Google Workspace. Чтобы создать ее, см. раздел «Создание подписки» .
- Проект на Apps Script:
- Используйте свой проект Google Cloud вместо проекта, автоматически создаваемого Apps Script по умолчанию.
- Для всех областей действия (scopes), которые вы добавили для настройки экрана согласия OAuth, необходимо также добавить эти области в файл
appsscript.jsonв вашем проекте Apps Script. Например, если вы указали область действияchat.messages, добавьте следующее: - Включите расширенную службу «
Google Workspace Events.
"oauthScopes": [ "https://www.googleapis.com/auth/chat.messages" ]
Для каждого типа событий в подписке требуется аутентификация и соответствующая область авторизации :
- Для аутентификации пользователя требуется область действия, поддерживающая как минимум один из типов событий для подписки. Чтобы определить область действия, см. раздел «Области действия по типу события» .
- Для аутентификации приложения требуется область действия
chat.bot(только для приложений Google Chat).
Python
- 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
В проекте Apps Script создайте новый файл скрипта с именем
deleteSubscriptionи добавьте следующий код:function deleteSubscription() { // The name of the subscription to delete. const name = 'subscriptions/SUBSCRIPTION_ID'; // Call the Workspace Events API using the advanced service. const response = WorkspaceEvents.Subscriptions.remove(name); console.log(response); }Замените следующее:
Чтобы удалить подписку, запустите функцию
deleteSubscriptionв вашем проекте Apps Script.
Python
В рабочей директории создайте файл с именем
delete_subscription.pyи добавьте в него следующий код:"""Delete 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' response = service.subscriptions().delete(name=NAME).execute() print(response)Замените следующее:
-
SCOPE: Область действия OAuth, поддерживающая как минимум один тип событий из подписки . Например, если ваша подписка получает события обновления пространства чата,https://www.googleapis.com/auth/chat.spaces.readonly. -
SUBSCRIPTION_ID: Идентификатор подписки. Чтобы получить идентификатор, можно использовать любой из следующих способов:
-
В рабочей директории убедитесь, что вы сохранили учетные данные клиента OAuth и назвали файл
credentials.json. В примере кода этот JSON-файл используется для аутентификации в Google Workspace и получения учетных данных пользователя. Инструкции см. в разделе «Создание учетных данных клиента OAuth» .Чтобы удалить подписку, выполните в терминале следующую команду:
python3 delete_subscription.py
Subscription .