このガイドでは、Google Chat API の Space
リソースの setUp()
メソッドを使用して Chat スペースを作成し、メンバーを追加する方法について説明します。
Space
リソースは、ユーザーや Chat アプリがメッセージを送信したり、ファイルを共有したり、コラボレーションしたりできる場所を表します。スペースには次の 2 種類があります。
- ダイレクト メッセージ(DM)は、2 人のユーザー間、またはユーザーと Chat アプリ間の会話です。
- グループ チャットは、3 人以上のユーザーと Chat アプリとの間の会話です。
- 名前付きスペースは、ユーザーがメッセージの送信、ファイルの共有、コラボレーションを行うための永続的な場所です。
setUp()
メソッドを使用すると、次のいずれかを行うことができます。
- 初期メンバーを含む名前付きスペースを作成します。
- 2 人のユーザー間のダイレクト メッセージを作成します。
- 複数のユーザーとのグループ メッセージを設定する。
スペースを設定する際は、次の点を考慮してください。
- 呼び出し元(認証済み)ユーザーは自動的にスペースに追加されるため、リクエストでユーザーのメンバーシップを指定する必要はありません。
- ダイレクト メッセージ(DM)を作成するときに、2 人のユーザー間に DM が存在する場合、その DM が返されます。それ以外の場合は、DM が作成されます。
- グループ チャットを作成するときに、リクエストで指定されたメンバーシップがいずれもグループ チャットに正常に追加されなかった場合(権限の問題など)、空のグループ チャット(呼び出し元のユーザーのみを含む)が作成されることがあります。
- スレッド形式の返信があるスペースを設定したり、Google Workspace 外のユーザーを追加したりすることはできません。
- リクエストで指定された重複するメンバーシップ(呼び出し元のユーザーを含む)は、リクエスト エラーになるのではなく、除外されます。
前提条件
Node.js
- Google Chat へのアクセス権を持つビジネスまたはエンタープライズ向け Google Workspace アカウント。
- 環境を設定します。
- Google Cloud プロジェクトを作成します。
- OAuth 同意画面を構成する
- Google Chat API を有効にして構成し、Chat アプリの名前、アイコン、説明を指定します。
- Node.js の Cloud クライアント ライブラリをインストールします。
- デスクトップ アプリケーションの
OAuth クライアント ID 認証情報を作成します。このガイドのサンプルを実行するには、認証情報を
client_secrets.json
という名前の JSON ファイルとしてローカル ディレクトリに保存します。
- ユーザー認証をサポートする 認可スコープを選択します。
Python
- Google Chat へのアクセス権を持つビジネスまたはエンタープライズ向け Google Workspace アカウント。
- 環境を設定します。
- Google Cloud プロジェクトを作成します。
- OAuth 同意画面を構成する
- Google Chat API を有効にして構成し、Chat アプリの名前、アイコン、説明を指定します。
- Python の Cloud クライアント ライブラリをインストールします。
- デスクトップ アプリケーションの
OAuth クライアント ID 認証情報を作成します。このガイドのサンプルを実行するには、認証情報を
client_secrets.json
という名前の JSON ファイルとしてローカル ディレクトリに保存します。
- ユーザー認証をサポートする 認可スコープを選択します。
Java
- Google Chat へのアクセス権を持つビジネスまたはエンタープライズ向け Google Workspace アカウント。
- 環境を設定します。
- Google Cloud プロジェクトを作成します。
- OAuth 同意画面を構成する
- Google Chat API を有効にして構成し、Chat アプリの名前、アイコン、説明を指定します。
- Java Cloud クライアント ライブラリをインストールします。
- デスクトップ アプリケーションの
OAuth クライアント ID 認証情報を作成します。このガイドのサンプルを実行するには、認証情報を
client_secrets.json
という名前の JSON ファイルとしてローカル ディレクトリに保存します。
- ユーザー認証をサポートする 認可スコープを選択します。
Apps Script
- Google Chat へのアクセス権を持つビジネスまたはエンタープライズ向け Google Workspace アカウント。
- 環境を設定します。
- Google Cloud プロジェクトを作成します。
- OAuth 同意画面を構成する
- Google Chat API を有効にして構成し、Chat アプリの名前、アイコン、説明を指定します。
- スタンドアロンの Apps Script プロジェクトを作成し、Advanced Chat Service を有効にします。
- ユーザー認証をサポートする 認可スコープを選択します。
スペースを設定する
スペースを設定するには、リクエストに次のものを渡します。
chat.spaces.create
またはchat.spaces
の認可スコープを指定します。SetUpSpace()
メソッドを呼び出します。space
をSpace
のインスタンスとして渡し、displayName
やspaceType
などの必要なフィールドをすべて指定します。memberships
をMembership
インスタンスの配列として渡します。インスタンスごとに、次の操作を行います。users/{user}
を指定して、人間のユーザーを Space メンバーとして追加します。ここで、{user}
は、People API のperson
の{person_id}
か、Directory API のuser
の ID です。たとえば、People API のユーザーresourceName
がpeople/123456789
の場合、member.name
としてusers/123456789
を含むメンバーシップを追加することで、ユーザーをスペースに追加できます。groups/{group}
を指定して、グループをスペース メンバーとして追加します。ここで、{group}
はメンバーシップを作成するグループ ID です。グループの ID は Cloud Identity API を使用して取得できます。たとえば、Cloud Identity API がgroups/123456789
という名前のグループを返す場合は、membership.groupMember.name
をgroups/123456789
に設定します。Google グループはグループ チャットや DM には追加できません。名前付きスペースにのみ追加できます。
呼び出し元のユーザーと別の人間ユーザーとの間で DM を作成するには、リクエストで人間ユーザーのメンバーシップを指定します。
呼び出し元のユーザーと呼び出し元のアプリの間に DM を作成するには、space.singleUserBotDm
を true
に設定し、メンバーシップを指定しません。この方法は、通話アプリで DM を設定する場合にのみ使用できます。通話アプリをスペースのメンバーとして追加する場合や、2 人の人間ユーザー間の既存の DM に追加する場合は、メンバーシップを作成するをご覧ください。
次の例では、名前付きスペースを作成し、2 人の人間ユーザー(認証済みユーザーと他の 1 人のユーザー)のスペースへのメンバーシップを 1 つ作成します。
Node.js
Python
Java
Apps Script
サンプルを実行するには、次のように置き換えます。
DISPLAY_NAME
: 新しいスペースの表示名。USER_NAME
: メンバーシップを含める他のユーザーの ID。
スペースに移動するには、スペースのリソース ID を使用してスペースの URL を作成します。リソース ID は、Google Chat レスポンスの本文のスペース name
から取得できます。たとえば、スペースの name
が spaces/1234567
の場合、https://mail.google.com/chat/u/0/#chat/space/1234567
という URL を使用してそのスペースに移動できます。
関連トピック
- スペースを作成します。
- スペースの詳細を取得する。
- スペースを一覧表示する。
- スペースを更新する。
- スペースを削除する。
- ダイレクト メッセージ スペースを探す。
- 特定のユーザーがスペースを見つけられるようにする。