このページでは、Google Workspace サブスクリプションを
更新する
subscriptions.update()
方法について説明します。このメソッドを使用すると、サブスクリプションの有効期限を更新できます。たとえば、サブスクリプションを可能な限り最長の有効期限で更新したり、ターゲット
リソースに関するイベントタイプのリストを更新したりできます。
Apps Script
- Google Workspace サブスクリプション。作成するには、 サブスクリプションを作成するをご覧ください。
- Apps Script プロジェクト:
- Apps Script によって自動的に作成されるデフォルトのプロジェクトではなく、Google Cloud プロジェクトを使用します。
- OAuth 同意画面を構成するために追加したすべてのスコープについて、Apps Script プロジェクトの
appsscript.jsonファイルにもスコープを追加する必要があります。たとえば、chat.messagesスコープを指定した場合は、次のように追加します。 - 有効にする
Google Workspace Eventsアドバンス サービス。
"oauthScopes": [ "https://www.googleapis.com/auth/chat.messages" ]
サブスクリプション内の各イベントタイプに、認証と適切な認可スコープが必要です。
- ユーザー認証の場合、サブスクリプションのイベントタイプの少なくとも 1 つをサポートする 1 つ以上のスコープが必要です。スコープを特定するには、イベントタイプ別のスコープをご覧ください。
- Chat アプリとして Chat イベントをサブスクライブするには、管理者の 1 回限りの承認によるアプリ認証が必要です。
Python
- Python 3.6 以降
- pip パッケージ管理ツール
- Python 用の最新の Google クライアント ライブラリ。インストールまたは更新するには、コマンドライン インターフェースで次の
コマンドを実行します。
pip3 install --upgrade google-api-python-client google-auth-oauthlib
- Google Workspace サブスクリプション。作成するには、 サブスクリプションを作成するをご覧ください。
サブスクリプション内の各イベントタイプに、認証と適切な認可スコープが必要です。
- ユーザー認証の場合、サブスクリプションのイベントタイプの少なくとも 1 つをサポートする 1 つ以上のスコープが必要です。スコープを特定するには、イベントタイプ別のスコープをご覧ください。
- Chat アプリとして Chat イベントをサブスクライブするには、管理者の 1 回限りの承認によるアプリ認証が必要です。
Google Workspace サブスクリプションを更新する
このセクションでは、Google Workspace Events API の subscriptions.update()
メソッドを使用して、サブスクリプションを最長の有効期限で更新します。最長の有効期限を指定するには、ttl
リソースの
Subscriptionフィールドを
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('credentials.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 認証情報を保存し、ファイルに
credentials.jsonという名前を付けていることを確認します。このコードサンプルでは、この JSON ファイルを使用して Google Workspace で認証し、ユーザー認証情報を取得します。手順については、 OAuth クライアント ID 認証情報を作成するをご覧ください。Google Workspace サブスクリプションを更新するには、ターミナルで次のコマンドを実行します。
python3 update_subscription.py
Subscription リソースのインスタンスが含まれます。
更新された Subscription リソースの詳細を取得するには、
operations.get() メソッド
を使用し、Operation リソースをsubscriptions.update()
リクエストから返された指定します。それ以外の場合、以前のバージョンのサブスクリプションから Operation
リソースを指定すると、レスポンスは空になります。
Google Chat アプリとしてサブスクリプションを更新または更新する
ユーザーとしてではなく、Chat アプリとして Chat イベントのサブスクリプションを更新または更新できます。プロセスは似ていますが、次の点が異なります。
ユーザー認証ではなく、 管理者の 1 回限りの承認で Chat アプリとして認証します。
Chat アプリが Chat イベントをサブスクライブできるようにする認可スコープを指定します。これらの認可スコープは常に
chat.appで始まり、次のものが含まれます。https://www.googleapis.com/auth/chat.app.memberships: Chat スペースのメンバー イベントをサブスクライブします。https://www.googleapis.com/auth/chat.app.memberships.readonly: Chat スペースのメンバー イベントをサブスクライブします。https://www.googleapis.com/auth/chat.app.messages.readonly: Chat スペースのメッセージ イベントをサブスクライブします。https://www.googleapis.com/auth/chat.app.spaces: Chat スペースのイベントをサブスクライブします。https://www.googleapis.com/auth/chat.app.spaces.readonly: Chat スペースのイベントをサブスクライブします。
Google Workspace Events API を呼び出すスクリプトを作成する
次のコードサンプルは、Chat アプリの Google Workspace サブスクリプションを更新します。
Python
"""Update subscription."""
from google.oauth2 import service_account
from apiclient.discovery import build
# Specify required scopes.
SCOPES = [SCOPES]
# Specify service account details.
CREDENTIALS = (
service_account.Credentials.from_service_account_file('credentials.json')
.with_scopes(SCOPES)
)
# Call the Workspace Events API using the service endpoint.
service = build(
'workspaceevents',
'v1beta',
credentials=CREDENTIALS,
)
BODY = {
'ttl': {'seconds': 0},
}
NAME = 'subscriptions/SUBSCRIPTION_ID'
response = (
service.subscriptions()
.patch(name=NAME, updateMask='ttl', body=BODY)
.execute()
)
print(response)
次のように置き換えます。
SCOPES: Chat アプリが Chat イベントをサブスクライブできるようにする認可スコープを指定します。これらの認可スコープは常にchat.appで始まり、次のものが含まれます。https://www.googleapis.com/auth/chat.app.memberships: Chat スペースのメンバー イベントをサブスクライブします。https://www.googleapis.com/auth/chat.app.memberships.readonly: Chat スペースのメンバー イベントをサブスクライブします。https://www.googleapis.com/auth/chat.app.messages.readonly: Chat スペースのメッセージ イベントとリアクション イベントをサブスクライブします。https://www.googleapis.com/auth/chat.app.spaces: Chat スペースのイベントをサブスクライブします。https://www.googleapis.com/auth/chat.app.spaces.readonly: Chat スペースのイベントをサブスクライブします。
SUBSCRIPTION_ID: サブスクリプションの ID。ID を取得するには、次のいずれかを使用します。