このページでは、subscriptions.delete()
メソッドを使用して Google Workspace サブスクリプションを削除する方法について説明します。
定期購入を削除すると、アプリはイベントを受信しなくなります。サブスクリプションが期限切れになると、Google Workspace Events API によって自動的に削除されます。
前提条件
Apps Script
- Google Workspace サブスクリプション。作成するには、サブスクリプションを作成するをご覧ください。
定期購入のすべてのイベントタイプをサポートするスコープを 1 つ以上使用してユーザー認証が必要です。
- Apps Script プロジェクト:
- Apps Script によって自動的に作成されるデフォルトのプロジェクトではなく、Google Cloud プロジェクトを使用します。
- OAuth 同意画面を構成するために追加したスコープについては、Apps Script プロジェクトの
appsscript.json
ファイルにスコープを追加する必要があります。次に例を示します。
"oauthScopes": [ "https://www.googleapis.com/auth/chat.messages.readonly" ]
Google Workspace Events
拡張サービスを有効にします。
Python
- Python 3.6 以降
- pip パッケージ管理ツール
- Python 用の最新の Google クライアント ライブラリ。これらをインストールまたは更新するには、コマンドライン インターフェースで次のコマンドを実行します。
pip3 install --upgrade google-api-python-client google-auth-oauthlib
- Google Workspace サブスクリプション。作成するには、サブスクリプションを作成するをご覧ください。
認証が必要:
- ユーザー認証には、定期購読のイベントタイプのうち少なくとも 1 つをサポートするスコープが必要です。スコープを特定するには、イベントタイプ別のスコープをご覧ください。
- アプリの認証には
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); }
次のように置き換えます。
サブスクリプションを削除するには、Apps Script プロジェクトで関数
deleteSubscription
を実行します。
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('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
: サブスクリプションの少なくとも 1 つのイベントタイプをサポートする OAuth スコープ。たとえば、サブスクリプションが更新された Chat スペースのイベントを受信した場合、https://www.googleapis.com/auth/chat.spaces.readonly
になります。SUBSCRIPTION_ID
: サブスクリプションの ID。ID を取得するには、次のいずれかを使用します。
作業ディレクトリで、OAuth クライアント ID の認証情報を保存し、ファイルに
client_secrets.json
という名前を付けます。コードサンプルは、この JSON ファイルを使用して Google Workspace で認証を行い、ユーザー認証情報を取得します。手順については、OAuth クライアント ID の認証情報を作成するをご覧ください。サブスクリプションを削除するには、ターミナルで次のコマンドを実行します。
python3 delete_subscription.py
Subscription
リソースのインスタンスを含む長時間実行オペレーションを返します。