このページでは、Google Workspace
サブスクリプションの詳細を
subscriptions.get()
メソッドを使用して取得する方法について説明します。
ユーザー認証でこのメソッドを呼び出すと、ユーザーが承認したサブスクリプションの詳細が返されます。アプリ認証を使用すると、アプリの任意のサブスクリプションの詳細を返すことができます。
前提条件
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 つ以上サポートする スコープが必要です。スコープを特定するには、イベントタイプ別のスコープをご覧ください。
- アプリ認証の場合、
chat.botスコープが必要です(Google Chat アプリのみ)。
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 プロジェクトで、
getSubscriptionという名前の新しいスクリプト ファイルを作成し、次のコードを追加します。function getSubscription() { // The name of the subscription to get. const name = 'subscriptions/SUBSCRIPTION_ID'; // Call the Workspace Events API using the advanced service. const subscription = WorkspaceEvents.Subscriptions.get(name); console.log(subscription); }次のように置き換えます。
サブスクリプションを取得するには、Apps Script プロジェクトで関数
getSubscriptionを実行します。
Python
作業ディレクトリに
get_subscription.pyという名前のファイルを作成し、次のコードを追加します。"""Get 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' subscription = service.subscriptions().get(name=NAME).execute() print(subscription)次のように置き換えます。
SCOPE: サブスクリプションのイベントタイプを 1 つ以上 サポートする OAuth スコープ。たとえば、サブスクリプションが更新された Chat スペースのイベントを受信する場合は、https://www.googleapis.com/auth/chat.spaces.readonlyです。SUBSCRIPTION_ID: サブスクリプションの ID。ID を取得するには、次のいずれかを使用します。
作業ディレクトリに OAuth クライアント ID 認証情報を保存し、ファイルに
credentials.jsonという名前を付けていることを確認します。このコードサンプルでは、この JSON ファイルを使用して Google Workspace で認証を行い、ユーザー認証情報を取得します。手順については、 OAuth クライアント ID 認証情報を作成するをご覧ください。サブスクリプションを取得するには、ターミナルで次のコマンドを実行します。
python3 get_subscription.py