На этой странице объясняется, как удалить подписку на Google Workspace с помощью метода subscriptions.delete()
.
Когда вы удаляете подписку, ваше приложение больше не получает никаких событий. Если срок действия подписки истекает, API Google Workspace Events автоматически удаляет ее.
Предварительные условия
Скрипт приложений
- Подписка на Google Workspace. Чтобы создать подписку, см. раздел Создание подписки .
Требуется проверка подлинности пользователя с использованием одной или нескольких областей, поддерживающих все типы событий для подписки .
- Проект скрипта приложений:
- Используйте свой проект Google Cloud вместо проекта по умолчанию, автоматически созданного Apps Script.
- Для любых областей, которые вы добавили для настройки экрана согласия OAuth, вам также необходимо добавить области в файл
appsscript.json
в проекте Apps Script. Например:
"oauthScopes": [ "https://www.googleapis.com/auth/chat.messages.readonly" ]
- Включите расширенную службу
Google Workspace Events
.
Питон
- 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 создайте новый файл сценария с именем
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.
Питон
В своем рабочем каталоге создайте файл с именем
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('client_secrets.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 и назвали файл
client_secrets.json
. В примере кода этот файл JSON используется для аутентификации в Google Workspace и получения учетных данных пользователя. Инструкции см. в разделе Создание учетных данных идентификатора клиента OAuth .Чтобы удалить подписку, запустите в своем терминале следующую команду:
python3 delete_subscription.py
Subscription
.