このガイドでは、Google Chat API の Membership
リソースの list()
メソッドを使用して、スペース内のメンバーをページネーションされたフィルタ可能なスペース内のメンバーシップ リストとして一覧表示する方法について説明します。
- アプリ認証でメンバーシップを一覧表示すると、Chat アプリがアクセスできるスペースのメンバーシップが一覧表示されます。ただし、Chat アプリのメンバーシップ(自身のメンバーシップを含む)は除外されます。
- ユーザー認証でメンバーシップを一覧表示すると、認証されたユーザーがアクセスできるスペースのメンバーシップが一覧表示されます。
- 管理者権限を使用してユーザー認証を行う Google Workspace 管理者としてメンバーシップを一覧表示すると、Google Workspace 組織内のすべてのスペースのメンバーシップが一覧表示されます。
Membership
リソースは、人間のユーザーまたは Google Chat アプリがスペースに招待されているか、スペースに参加しているか、スペースに含まれていないかを表します。
前提条件
Node.js
- Google Chat へのアクセス権を持つビジネスまたはエンタープライズ Google Workspace アカウント。
- 環境を設定します。
- Google Cloud プロジェクトを作成します。
- OAuth 同意画面を構成します。
- Chat アプリの名前、アイコン、説明を使用して、Google Chat API を有効にして構成します。
- Node.js の Cloud クライアント ライブラリをインストールします。
- Google Chat API リクエストで認証する方法に基づいて、アクセス認証情報を作成します。
- Chat ユーザーとして認証するには、OAuth クライアント ID 認証情報を作成し、その認証情報を
client_secrets.json
という名前の JSON ファイルとしてローカル ディレクトリに保存します。 - Chat アプリとして認証するには、サービス アカウントの認証情報を作成し、認証情報を
credentials.json
という名前の JSON ファイルとして保存します。
- Chat ユーザーとして認証するには、OAuth クライアント ID 認証情報を作成し、その認証情報を
- ユーザーとして認証するか、Chat アプリとして認証するかに応じて、 認可スコープを選択します。
- 認証済みユーザーまたは呼び出し元の Chat アプリがメンバーである Google Chat スペース。Chat アプリとして認証するには、Chat アプリをスペースに追加します。
Python
- Google Chat へのアクセス権を持つビジネスまたはエンタープライズ Google Workspace アカウント。
- 環境を設定します。
- Google Cloud プロジェクトを作成します。
- OAuth 同意画面を構成します。
- Google Chat API を有効にして構成し、Chat アプリの名前、アイコン、説明を指定します。
- Python Cloud クライアント ライブラリをインストールします。
- Google Chat API リクエストで認証する方法に基づいて、アクセス認証情報を作成します。
- Chat ユーザーとして認証するには、OAuth クライアント ID 認証情報を作成し、その認証情報を
client_secrets.json
という名前の JSON ファイルとしてローカル ディレクトリに保存します。 - Chat 用アプリとして認証するには、サービス アカウントの認証情報を作成し、その認証情報を
credentials.json
という名前の JSON ファイルとして保存します。
- Chat ユーザーとして認証するには、OAuth クライアント ID 認証情報を作成し、その認証情報を
- ユーザーとして認証するか、Chat アプリとして認証するかに応じて、 認可スコープを選択します。
- 認証済みユーザーまたは呼び出し元の Chat アプリがメンバーである Google Chat スペース。Chat アプリとして認証するには、Chat アプリをスペースに追加します。
Java
- Google Chat へのアクセス権を持つビジネスまたはエンタープライズ Google Workspace アカウント。
- 環境を設定します。
- Google Cloud プロジェクトを作成します。
- OAuth 同意画面を構成する
- Google Chat API を有効にして構成し、Chat アプリの名前、アイコン、説明を指定します。
- Java Cloud クライアント ライブラリをインストールします。
- Google Chat API リクエストで認証する方法に基づいて、アクセス認証情報を作成します。
- Chat ユーザーとして認証するには、OAuth クライアント ID 認証情報を作成し、認証情報を
client_secrets.json
という名前の JSON ファイルとしてローカル ディレクトリに保存します。 - Chat アプリとして認証するには、サービス アカウントの認証情報を作成し、認証情報を
credentials.json
という名前の JSON ファイルとして保存します。
- Chat ユーザーとして認証するには、OAuth クライアント ID 認証情報を作成し、認証情報を
- ユーザーとして認証するか、Chat アプリとして認証するかに応じて、 認可スコープを選択します。
- 認証済みユーザーまたは呼び出し元の Chat アプリがメンバーである Google Chat スペース。Chat アプリとして認証するには、Chat アプリをスペースに追加します。
Apps Script
- Google Chat へのアクセス権を持つビジネスまたはエンタープライズ Google Workspace アカウント。
- 環境を設定します。
- Google Cloud プロジェクトを作成します。
- OAuth 同意画面を構成する
- Google Chat API を有効にして構成し、Chat アプリの名前、アイコン、説明を指定します。
- スタンドアロンの Apps Script プロジェクトを作成し、Advanced Chat Service をオンにします。
- このガイドでは、ユーザー認証またはアプリ認証のいずれかを使用する必要があります。Chat アプリとして認証するには、サービス アカウントの認証情報を作成します。手順については、Google Chat アプリとして認証と認可を行うをご覧ください。
- ユーザーとして認証するか、Chat アプリとして認証するかに応じて、 認可スコープを選択します。
- 認証済みユーザーまたは呼び出し元の Chat アプリがメンバーである Google Chat スペース。Chat アプリとして認証するには、Chat アプリをスペースに追加します。
ユーザー認証を使用してスペース内のメンバーを一覧表示する
認証されたユーザーがアクセスできるスペース内のユーザー、Google グループ、Chat アプリを一覧表示するには、リクエストで次のように渡します。
- ユーザー認証では、
chat.memberships.readonly
またはchat.memberships
の認可スコープを指定します。 ListMemberships()
メソッドを呼び出します。- Google グループを一覧表示するには、クエリ パラメータ
showGroups
をtrue
に設定します。
次の例では、認証されたユーザーに表示される Google グループ、人間、アプリのメンバーを一覧表示します。
Node.js
Python
Java
Apps Script
このサンプルを実行するには、SPACE_NAME
をスペースの name
フィールドの ID に置き換えます。ID は、ListSpaces()
メソッドを呼び出すか、スペースの URL から取得できます。
Google Chat API は、指定されたスペースの Google グループ、ユーザー、アプリのメンバーのリストを返します。
アプリ認証を使用してスペース内のメンバーを一覧表示する
認証済みアプリがアクセスできるスペース内のユーザーと Chat アプリを一覧表示するには、リクエストで次のように渡します。
- アプリ認証では、
chat.bot
認可スコープを指定します。 ListMemberships()
メソッドを呼び出します。- Google グループを一覧表示するには、クエリ パラメータ
showGroups
をtrue
に設定します。
次の例では、Chat アプリに表示される人間のスペース メンバー(スペース管理者ではない)を一覧表示します。
Node.js
Python
Java
Apps Script
このサンプルを実行するには、SPACE_NAME
をスペースの name
フィールドの ID に置き換えます。ID は、ListSpaces()
メソッドを呼び出すか、スペースの URL から取得できます。
Google Chat API は、指定されたスペースの人間のメンバー(スペース管理者を除く)のリストを返します。
Google Workspace 管理者としてメンバーを一覧表示する
Google Workspace 管理者は、ListMemberships()
メソッドを呼び出して、Google Workspace 組織内の任意のスペースのメンバーシップを一覧表示できます。Chat API は、組織内のユーザー(内部と外部の両方)または Google グループに関するメンバーシップのみを返します。そのため、Chat アプリのメンバーシップは返されません。
Google Workspace 管理者としてこのメソッドを呼び出す手順は次のとおりです。
- ユーザー認証を使用してメソッドを呼び出し、管理者権限を使用してメソッドの呼び出しをサポートする認可スコープを指定します。
- リクエストで、次のクエリ パラメータを指定します。
useAdminAccess
をtrue
に設定する。- ユーザーのみを返すには、
member.type
のfilter
をHUMAN
に設定します。 - ユーザーとグループを返すには、
member.type
のfilter
をBOT
AND
showGroups
がtrue
と等しくないように設定します。
詳細と例については、Google Workspace 管理者として Google Chat スペースを管理するをご覧ください。
ページネーションをカスタマイズする、リストをフィルタする
メンバーシップを一覧表示するには、次のクエリ パラメータを渡して、表示されるメンバーシップのページネーションをカスタマイズするか、メンバーシップをフィルタします。
pageSize
: 返されるメンバーシップの最大数。サービスが返す値はこれよりも少ないことがあります。指定しなかった場合、最大で 100 個のスペースが返されます。最大値は 1,000 です。1,000 を超える値は自動的に 1,000 に変更されます。pageToken
: 前回の list spaces 呼び出しから受け取ったページトークン。後続のページを取得するには、このトークンを指定します。ページネーションを行う場合、フィルタ値はページトークンを提供した呼び出しと一致している必要があります。別の値を渡すと、予期しない結果になる可能性があります。filter
: クエリフィルタ。ユーザー認証が必要です。サポートされているクエリの詳細については、ListMembershipsRequest
のリファレンスをご覧ください。
関連トピック
- ユーザーまたは Chat アプリのメンバーシップに関する詳細情報を取得する。
- ユーザーや Chat アプリをスペースに招待または追加する。
- Google Chat スペースでユーザーのメンバーシップを更新する。
- スペースからユーザーまたは Chat 用アプリを削除する。