このガイドでは、次のリソースの Space
リソースで setup
メソッドを使用する方法について説明します。
Google Chat スペースを設定するための Google Chat API。スペースを設定すると、スペースが作成されます
指定したユーザーをアカウントに追加します。
「
Space
リソース
ユーザーと Chat アプリがメッセージを送信し、
ファイルの共有、共同編集を行えますスペースにはいくつかのタイプがあります。
- ダイレクト メッセージ(DM)とは、2 人のユーザーまたはユーザー間の会話で、 作成することもできます。
- グループ チャットとは、3 人以上のユーザーと Chat 用アプリ。
- 名前付きスペースは、メッセージの送信、ファイルの共有、 考えています
スペースを設定する際は、次の点を考慮してください。
- 呼び出し元(認証済み)ユーザーが自動的にスペースに追加されるので、 リクエストでユーザーのメンバーシップを指定する必要はありません。
- ダイレクト メッセージ(DM)を作成する際に、2 人のユーザーの間に DM が存在する場合、 DM が返されます。それ以外の場合は、DM が作成されます。
- グループ チャットの作成時(リクエストで提供されたメンバーシップがない場合) グループ チャットに正常に追加される(権限の問題など) 空のグループ チャット(発信者のユーザーのみを含む)が作成される可能性があります。
- スレッド返信を使用したスペースを設定したり、 Google Workspace です
- リクエストで指定されたメンバーシップ(通話ユーザーを含む)が重複している リクエスト エラーにはなりません。
前提条件
Python
- 企業または大企業 以下にアクセスできる Google Workspace アカウント Google Chat。
- Python 3.6 以降
- pip パッケージ管理ツール
- 最新の Google クライアント ライブラリ。インストールまたは更新する手順は次のとおりです。
コマンドライン インターフェースで次のコマンドを実行します。
pip3 install --upgrade google-api-python-client google-auth-oauthlib
- 環境を設定します。
- Google Cloud プロジェクトを作成します。
- OAuth 同意画面を構成します。
- Google Chat API を有効にして構成する。名前、 アプリのアイコン、説明を入力します。
-
デスクトップ アプリケーション用の OAuth クライアント ID 認証情報を作成するサンプルを実行するには、
で、認証情報を JSON ファイル(
client_secrets.json
)として ディレクトリにあります。
- ユーザー認証をサポートする認可スコープを選択します。
Node.js
- 企業または大企業 以下にアクセスできる Google Workspace アカウント Google Chat。
- Node.js 14 以降
- npm パッケージ管理ツール
- 最新の Google クライアント ライブラリ。インストールまたは更新する手順は次のとおりです。
コマンドライン インターフェースで次のコマンドを実行します。
npm install @google-cloud/local-auth @googleapis/chat
- 環境を設定します。
- Google Cloud プロジェクトを作成します。
- OAuth 同意画面を構成します。
- Google Chat API を有効にして構成する。名前、 アプリのアイコン、説明を入力します。
-
デスクトップ アプリケーション用の OAuth クライアント ID 認証情報を作成するサンプルを実行するには、
で、認証情報を JSON ファイル(
client_secrets.json
)として ディレクトリにあります。
- ユーザー認証をサポートする認可スコープを選択します。
スペースを設定する
スペースを設定するには、リクエストで次の内容を渡します。
- 認可スコープ
chat.spaces.create
またはchat.spaces
を指定します。 - 呼び出し
setup
メソッドSpace
リソースに対する権限。 - 人間のユーザーをスペースのメンバーとして追加するには、
users/{user}
を指定します({user}
)。 の{person_id}
またはperson
People API から取得する、またはuser
ディレクトリ API で管理できます。たとえば People API ユーザーがresourceName
がpeople/123456789
の場合、次の方法でユーザーをスペースに追加できます。member.name
がusers/123456789
のメンバーシップが含まれます。 - グループをスペースのメンバーとして追加するには、
groups/{group}
を指定します。ここで、{group}
は メンバーシップを作成するグループ ID。グループの ID には、 Cloud Identity API を使用して取得します。 たとえば、Cloud Identity APIgroups/123456789
という名前のグループを返してから、membership.groupMember.name
からgroups/123456789
に変更。Google グループを 名前付きスペースにのみ追加できます。 - 通話のユーザーと別の人間の間で DM を作成するため リクエストで人間のユーザー メンバーシップを指定します。
- 呼び出し元のユーザーと通話アプリの間の DM を作成するには、
Space.singleUserBotDm
をtrue
に設定し、メンバーシップは指定しません。Google Chat では このメソッドは、呼び出し元アプリと DM を設定する場合にのみ使用します。通話を開始するには 2 人のユーザー間の既存の DM またはスペースのメンバーとして参加している場合は、 メンバーシップを作成します。
次の例では、名前付きスペースとスペースへのメンバーシップを作成します 1 つのグループと 3 人の人間のユーザー(認証済みユーザー、2 人を含む) できます。
Python
- 作業ディレクトリに、
chat_space_setup.py
という名前のファイルを作成します。 chat_space_setup.py
に次のコードを含めます。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.spaces.create"] def main(): ''' Authenticates with Chat API via user credentials, then sets up a Chat space by creating a space and adding members. ''' # 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().setup( # Details about the space to set up. body = { # Attributes of the space to set up, like space type and display name. 'space': { # To set up a named space, set spaceType to SPACE. 'spaceType': 'SPACE', # The user-visible name of the space 'displayName': 'API-setup' }, # The users and groups to add to the space. # # The authenticated user is automatically added to the space, # and doesn't need to be specified in the memberships array. 'memberships': [ { 'member': { 'name':'users/123456789', 'type': 'HUMAN' } }, { 'member': { 'name':'users/987654321', 'type': 'HUMAN' } }, { 'groupMember': { 'name': 'groups/11223344' } } ] } ).execute() # Prints details about the created space. print(result) if __name__ == '__main__': main()
作業ディレクトリでサンプルをビルドして実行します。
python3 chat_space_setup.py
Node.js
- 作業ディレクトリに、
setup-space.js
という名前のファイルを作成します。 setup-space.js
に次のコードを含めます。const chat = require('@googleapis/chat'); const {authenticate} = require('@google-cloud/local-auth'); /** * Sets up a new Chat space with users. * @return {!Promise<!Object>} */ async function setupSpace() { const scopes = [ 'https://www.googleapis.com/auth/chat.spaces.create', ]; const authClient = await authenticate({scopes, keyfilePath: 'client_secrets.json'}); const chatClient = await chat.chat({version: 'v1', auth: authClient}); return await chatClient.spaces.setup({ requestBody: { space: { spaceType: 'SPACE', displayName: 'API-made', }, memberships: [ {member: {name: 'users/123456789', type: 'HUMAN'}}, {member: {name: 'users/987654321', type: 'HUMAN'}}, {groupMember: {name: 'groups/11223344'}}, ] } }); } setupSpace().then(console.log);
作業ディレクトリでサンプルを実行します。
node setup-space.js
1 つのグループと 3 人の人間のユーザーからなる名前付き Chat スペース。 設定されます。
スペースにアクセスするには、スペースのリソース ID を使用してスペースの URL を作成します。
リソース ID は、Google Chat の回答のスペース name
から取得できます。
できます。たとえば、スペースの name
が spaces/1234567
の場合、
スペースに追加します。
https://mail.google.com/chat/u/0/#chat/space/1234567
。
関連トピック
- スペースを作成します。
- スペースの詳細を調べる
- スペースを一覧表示する。
- スペースを更新する。
- スペースを削除する
- ダイレクト メッセージ スペースを見つけます。
- 特定のユーザーがスペースを検索できるようにする