このガイドでは、list
の使用方法について説明します。
SpaceEvent
リソースのメソッド
を使用して、スペース内のリソースに対する変更を一覧表示することができます。
SpaceEvent
リソースは、スペースの子リソース(メッセージ、リアクション、メンバーシップなど)を含む、移行先のスペースの変更を表します。サポートされているイベントタイプとイベント ペイロードのリストについて詳しくは、SpaceEvent
リソースのリファレンス ドキュメントの eventType
フィールドと payload
フィールドをご覧ください。
一覧表示できるイベントは、リクエストの 28 日前までです。サーバーは、影響を受けるリソースの最新バージョンを含むイベントを返します。たとえば、スペースの新規メンバーに関するイベントを一覧表示すると、サーバーは
最新のメンバーシップの詳細を含む Membership
リソース。新規の場合
削除された場合、イベント ペイロードには
空の Membership
リソースがあります。
このメソッドを呼び出すには、ユーザー認証を使用する必要があります。リストへの追加 スペースから削除するには、そのスペースのメンバーである必要があります。
前提条件
Python
- 企業または大企業 以下へのアクセス権を持つ Google Workspace アカウント Google Chat。
- 環境を設定します。
<ph type="x-smartling-placeholder">
- </ph>
- Google Cloud プロジェクトを作成します。
- OAuth 同意画面を構成します。
- Google Chat API を有効にして構成し、Chat アプリの名前、アイコン、説明を指定します。
- デスクトップ アプリケーションの OAuth クライアント ID 認証情報を作成します。サンプルを実行するには、
で、認証情報を
client_secrets.json
という名前の JSON ファイルとして ディレクトリにあります。
- <ph type="x-smartling-placeholder"></ph> ユーザー認証をサポートする認可スコープを選択します。
スペースのイベントを一覧表示する
Chat スペースのスペース イベントを一覧表示するには、次の操作を行います。
list
メソッドを呼び出すSpaceEvent
resource。- [
filter
表示されます。イベントタイプを少なくとも 1 つ指定する必要があります。日付でフィルタすることもできます。サポートされているイベントタイプの一覧については、eventType
をご覧ください。 フィールドをご覧ください。 - ユーザー認証では、リクエストで各イベントタイプをサポートする 1 つ以上の認可スコープを指定します。最も制限の厳しいスコープを選択することをおすすめします。 アプリが機能できるようになりますスコープを選択するには、 認証と認可の概要
次のコードサンプルでは、スペース内の新しいメンバーシップとメッセージに関するイベントを一覧表示します。
Python
- 作業ディレクトリに
chat_space_event_list.py
という名前のファイルを作成します。 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)
コードの次のように置き換えます。
SPACE
: スペース名。Chat API のspaces.list
メソッドまたはスペースの URL から取得できます。
作業ディレクトリで、サンプルをビルドして実行します。
python3 chat_space_event_list.py
Chat API は、Google Chat で
SpaceEvent
リソース
新しいメンバーシップやメッセージに関するイベントです。
ページネーションをカスタマイズする
必要に応じて、次のクエリ パラメータを渡してページ分けをカスタマイズします。
pageSize
: 返されるSpaceEvent
リソースの最大数。サービスはこの値よりも少ない値を返すことがあります。負の値はINVALID_ARGUMENT
エラーを返します。pageToken
: 前回の list space events 呼び出しから受け取ったページトークン。後続のページを取得するには、このトークンを指定します。ページネーションを行う場合、フィルタ値はページトークンを受け取った呼び出しと一致している必要があります。Pod に 値が異なると、予期しない結果になる可能性があります。