Google Chat スペースのイベントを一覧表示する

このガイドでは、list の使用方法について説明します。 SpaceEvent リソースのメソッド を使用して、スペース内のリソースに対する変更を一覧表示することができます。

SpaceEvent リソースは、スペースの子リソース(メッセージ、リアクション、メンバーシップなど)を含む、移行先のスペースの変更を表します。サポートされているイベントタイプとイベント ペイロードのリストについて詳しくは、SpaceEvent リソースのリファレンス ドキュメントの eventType フィールドと payload フィールドをご覧ください。

一覧表示できるイベントは、リクエストの 28 日前までです。サーバーは、影響を受けるリソースの最新バージョンを含むイベントを返します。たとえば、スペースの新規メンバーに関するイベントを一覧表示すると、サーバーは 最新のメンバーシップの詳細を含む Membership リソース。新規の場合 削除された場合、イベント ペイロードには 空の Membership リソースがあります。

このメソッドを呼び出すには、ユーザー認証を使用する必要があります。リストへの追加 スペースから削除するには、そのスペースのメンバーである必要があります。

前提条件

Python

スペースのイベントを一覧表示する

Chat スペースのスペース イベントを一覧表示するには、次の操作を行います。

  • list メソッドを呼び出す SpaceEvent resource
  • [ filter 表示されます。イベントタイプを少なくとも 1 つ指定する必要があります。日付でフィルタすることもできます。サポートされているイベントタイプの一覧については、eventType をご覧ください。 フィールドをご覧ください。
  • ユーザー認証では、リクエストで各イベントタイプをサポートする 1 つ以上の認可スコープを指定します。最も制限の厳しいスコープを選択することをおすすめします。 アプリが機能できるようになりますスコープを選択するには、 認証と認可の概要

次のコードサンプルでは、スペース内の新しいメンバーシップとメッセージに関するイベントを一覧表示します。

Python

  1. 作業ディレクトリに chat_space_event_list.py という名前のファイルを作成します。
  2. chat_space_event_list.py に次のコードを含めます。

    """Lists SpaceEvent resources from the Chat API."""
    
    from google_auth_oauthlib.flow import InstalledAppFlow
    from googleapiclient.discovery import build
    
    # Define your app's authorization scopes.
    # When modifying these scopes, delete the file token.json, if it exists.
    SCOPES = ["https://www.googleapis.com/auth/chat.memberships.readonly",
    "https://www.googleapis.com/auth/chat.messages.readonly"]
    
    # Authenticate with Google Workspace
    # and get user authorization.
    flow = InstalledAppFlow.from_client_secrets_file(
                'client_secrets.json', SCOPES)
    creds = flow.run_local_server()
    
    # Build a service endpoint for Chat API.
    chat = build(
      'chat',
      'v1',
      credentials=creds,
    )
    
    # Use the service endpoint to call Chat API.
    result = chat.spaces().spaceEvents().list(
    
        # The space from which to list events.
        #
        # Replace SPACE with a space name.
        # Obtain the space name from the spaces resource of Chat API,
        # or from a space's URL.
        parent='spaces/SPACE',
    
        # A required filter. Filters and returns events about new memberships and messages
        filter='event_types:"google.workspace.chat.membership.v1.created" OR event_types:"google.workspace.chat.message.v1.created"'
    
    ).execute()
    
    # Prints details about the created space events.
    print(result)
    
  3. コードの次のように置き換えます。

    • SPACE: スペース名。Chat API の spaces.list メソッドまたはスペースの URL から取得できます。
  4. 作業ディレクトリで、サンプルをビルドして実行します。

    python3 chat_space_event_list.py

Chat API は、Google Chat で SpaceEvent リソース 新しいメンバーシップやメッセージに関するイベントです。

ページネーションをカスタマイズする

必要に応じて、次のクエリ パラメータを渡してページ分けをカスタマイズします。

  • pageSize: 返される SpaceEvent リソースの最大数。サービスはこの値よりも少ない値を返すことがあります。負の値は INVALID_ARGUMENT エラーを返します。
  • pageToken: 前回の list space events 呼び出しから受け取ったページトークン。後続のページを取得するには、このトークンを指定します。ページネーションを行う場合、フィルタ値はページトークンを受け取った呼び出しと一致している必要があります。Pod に 値が異なると、予期しない結果になる可能性があります。