このページでは、subscriptions.update()
メソッドを使用して Google Workspace サブスクリプションを更新する方法について説明します。このメソッドを使用すると、サブスクリプションの有効期限を更新できます。たとえば、サブスクリプションを最大有効期限まで更新したり、ターゲット リソースに関する受信するイベントタイプのリストを更新したりできます。
Apps Script
- Google Workspace サブスクリプション。作成するには、定期購入を作成するをご覧ください。
1 つ以上のサブスクリプションのすべてのイベントタイプをサポートするスコープでユーザー認証が必要です。
- Apps Script プロジェクト:
- Apps Script によって自動的に作成されるデフォルトのプロジェクトではなく、Google Cloud プロジェクトを使用します。
- OAuth 同意画面の構成に追加したスコープは、Apps Script プロジェクトの
appsscript.json
ファイルにも追加する必要があります。次に例を示します。 Google Workspace Events
アドバンスト サービスを有効にします。
"oauthScopes": [ "https://www.googleapis.com/auth/chat.messages.readonly" ]
Python
- Python 3.6 以降
- pip パッケージ管理ツール
- Python 用の最新の Google クライアント ライブラリ。これらのパッケージをインストールまたは更新するには、コマンドライン インターフェースで次のコマンドを実行します。
pip3 install --upgrade google-api-python-client google-auth-oauthlib
- Google Workspace サブスクリプション。作成するには、定期購入を作成するをご覧ください。
1 つ以上のサブスクリプションのすべてのイベントタイプをサポートするスコープでユーザー認証が必要です。
Google Workspace サブスクリプションを更新する
このセクションでは、Google Workspace Events API の subscriptions.update()
メソッドを使用して、サブスクリプションを最大有効期限まで更新します。最大有効期限を指定するには、Subscription
リソースの ttl
フィールドを 0
に更新します。
最大有効期限は、イベント ペイロードに含まれるリソースデータによって異なります。有効期限の詳細については、Google Workspace イベントのイベントデータをご覧ください。
Google Workspace サブスクリプションを更新するには:
Apps Script
Apps Script プロジェクトで、
updateSubscription
という名前の新しいスクリプト ファイルを作成し、次のコードを追加します。function updateSubscription() { // The name of the subscription to update. const name = 'subscriptions/SUBSCRIPTION_ID'; // Call the Workspace Events API using the advanced service. const response = WorkspaceEvents.Subscriptions.patch({ ttl: '0s', }, name); console.log(response); }
次のように置き換えます。
Google Workspace サブスクリプションを更新するには、Apps Script プロジェクトで関数
updateSubscription
を実行します。
Python
作業ディレクトリに
update_subscription.py
という名前のファイルを作成し、次のコードを追加します。"""Update subscription.""" from google_auth_oauthlib.flow import InstalledAppFlow from googleapiclient.discovery import build # Specify required scopes. SCOPES = [SCOPES] # 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, ) BODY = { 'ttl': {'seconds': 0}, } NAME = 'subscriptions/SUBSCRIPTION_ID' response = ( service.subscriptions() .patch(name=NAME, updateMask='ttl', body=BODY) .execute() ) print(response)
次のように置き換えます。
SCOPES
: サブスクリプションの各イベントタイプをサポートする 1 つ以上の OAuth スコープ。文字列の配列としてフォーマットされます。複数のスコープを一覧表示するには、カンマで区切ります。例:'https://www.googleapis.com/auth/chat.spaces.readonly', 'https://www.googleapis.com/auth/chat.memberships.readonly'
SUBSCRIPTION_ID
: サブスクリプションの ID。ID を取得するには、次のいずれかを使用します。
作業ディレクトリで、OAuth クライアント ID 認証情報を保存し、ファイル名を
client_secrets.json
にします。コードサンプルでは、この JSON ファイルを使用して Google Workspace で認証を行い、ユーザー認証情報を取得します。手順については、OAuth クライアント ID 認証情報を作成するをご覧ください。Google Workspace サブスクリプションを更新するには、ターミナルで次のコマンドを実行します。
python3 update_subscription.py
Subscription
リソースのインスタンスが含まれる長時間実行オペレーションを返します。更新された Subscription
リソースの詳細を取得するには、operations.get()
メソッドを使用して、subscriptions.update()
リクエストから返された Operation
リソースを指定します。それ以外の場合は、以前のバージョンの定期購入の Operation
リソースを指定すると、レスポンスは空になります。