Google Workspace サブスクリプションの詳細を確認する

このページでは、Google Workspace サブスクリプションの詳細を subscriptions.get() メソッドを使用して取得する方法について説明します。

ユーザー認証でこのメソッドを呼び出すと、ユーザーが承認したサブスクリプションの詳細が返されます。アプリ認証を使用すると、アプリの任意のサブスクリプションの詳細を返すことができます。

前提条件

Apps Script

  • Google Workspace サブスクリプション。作成するには、 定期購入の作成をご覧ください。

  • Apps Script プロジェクト:
    • Apps Script によって自動的に作成されるデフォルトのプロジェクトではなく、Google Cloud プロジェクトを使用します。
    • OAuth 同意画面を構成するために追加したすべてのスコープについて、Apps Script プロジェクトの appsscript.json ファイルにもスコープを追加する必要があります。たとえば、chat.messages スコープを指定した場合は、次のように追加します。
    • "oauthScopes": [
        "https://www.googleapis.com/auth/chat.messages"
      ]
          
    • 有効にする Google Workspace Events 高度なサービス。
  • サブスクリプション内の各イベントタイプに適切な認証と認可スコープが必要です。

    • ユーザー認証の場合、サブスクリプションのイベントタイプを 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

  1. 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);
    }
    

    次のように置き換えます。

    • SUBSCRIPTION_ID: サブスクリプションの ID。ID を取得するには、次のいずれかを使用します。
      • uid フィールドの値。
      • name フィールドに示されているリソース名の ID。たとえば、リソース名が subscriptions/subscription-123 の場合は、subscription-123 を使用します。
  2. サブスクリプションを取得するには、Apps Script プロジェクトで関数 getSubscription を実行します。

Python

  1. 作業ディレクトリに 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 を取得するには、次のいずれかを使用します。
      • uid フィールドの値。
      • name フィールドに示されているリソース名の ID。たとえば、リソース名が subscriptions/subscription-123 の場合は、subscription-123 を使用します。
  2. 作業ディレクトリに OAuth クライアント ID 認証情報を保存し、ファイルに credentials.json という名前を付けていることを確認します。このコードサンプルでは、この JSON ファイルを使用して Google Workspace で認証を行い、ユーザー認証情報を取得します。手順については、 OAuth クライアント ID 認証情報を作成するをご覧ください。

  3. サブスクリプションを取得するには、ターミナルで次のコマンドを実行します。

    python3 get_subscription.py