本指南說明如何使用 Google Chat API 的 Space
資源中的 setUp()
方法建立 Chat 聊天室,並在其中新增成員。
Space
資源代表使用者和 Chat 應用程式可傳送訊息、共用檔案及協作的空間。聊天室分為以下幾種類型:
- 即時訊息 (DM) 是指兩位使用者之間,或使用者與 Chat 應用程式之間的對話。
- 群組對話是指三位以上使用者和即時通訊應用程式之間的對話。
- 具名聊天室是持續存在的空間,可供使用者傳送訊息、分享檔案及協作。
您可以使用 setUp()
方法執行下列任一操作:
- 建立含有初始成員的具名空間。
- 建立兩位使用者之間的即時訊息 (DM)。
- 設定多人群組訊息。
設定空間時,請注意下列事項:
- 系統會自動將呼叫 (已驗證) 使用者新增至即時通訊空間,因此您不必在要求中指定使用者的成員資格。
- 建立即時訊息 (DM) 時,如果兩位使用者之間已有即時訊息,系統就會傳回該訊息。否則系統會建立即時訊息。
- 建立群組通訊時,如果系統無法將要求中提供的任何成員新增至群組通訊 (例如權限問題),則可能會建立空白群組通訊 (只包含通話使用者)。
- 您無法設定具有討論串回覆的聊天室,也無法新增 Google Workspace 機構外部的使用者。
- 系統會篩除要求中重複的成員 (包括通話使用者),不會導致要求錯誤。
- Google Workspace 管理員為整個 Google Workspace 機構安裝 Chat 應用程式後,Google Chat 會在已安裝的 Chat 應用程式和機構中的每位使用者之間建立即時訊息,因此不必以程式輔助方式設定即時訊息。請改為列出聊天室來傳回所有即時訊息,或尋找即時訊息來取得特定即時訊息的詳細資料。
必要條件
Node.js
- 具有 Google Chat 存取權的 Business 或 Enterprise 版 Google Workspace 帳戶。
- 設定環境:
- 建立 Google Cloud 專案。
- 設定 OAuth 同意畫面。
- 啟用及設定 Google Chat API,並為 Chat 應用程式命名、設定圖示和說明。
- 安裝 Node.js Cloud 用戶端程式庫。
- 為電腦版應用程式 建立 OAuth 用戶端 ID 憑證。如要在本指南中執行範例,請將憑證儲存為名為
credentials.json
的 JSON 檔案,並儲存至本機目錄。
- 選擇支援使用者驗證的授權範圍。
Python
- 具有 Google Chat 存取權的 Business 或 Enterprise 版 Google Workspace 帳戶。
- 設定環境:
- 建立 Google Cloud 專案。
- 設定 OAuth 同意畫面。
- 啟用及設定 Google Chat API,並為 Chat 應用程式命名、設定圖示和說明。
- 安裝 Python Cloud 用戶端程式庫。
- 為電腦版應用程式 建立 OAuth 用戶端 ID 憑證。如要在本指南中執行範例,請將憑證儲存為名為
credentials.json
的 JSON 檔案,並儲存至本機目錄。
- 選擇支援使用者驗證的授權範圍。
Java
- 具有 Google Chat 存取權的 Business 或 Enterprise 版 Google Workspace 帳戶。
- 設定環境:
- 建立 Google Cloud 專案。
- 設定 OAuth 同意畫面。
- 啟用及設定 Google Chat API,並為 Chat 應用程式命名、設定圖示和說明。
- 安裝 Java Cloud 用戶端程式庫。
- 為電腦版應用程式 建立 OAuth 用戶端 ID 憑證。如要在本指南中執行範例,請將憑證儲存為名為
credentials.json
的 JSON 檔案,並儲存至本機目錄。
- 選擇支援使用者驗證的授權範圍。
Apps Script
- 具有 Google Chat 存取權的 Business 或 Enterprise 版 Google Workspace 帳戶。
- 設定環境:
- 建立 Google Cloud 專案。
- 設定 OAuth 同意畫面。
- 啟用及設定 Google Chat API,並為 Chat 應用程式命名、設定圖示和說明。
- 建立獨立的 Apps Script 專案,並開啟進階 Chat 服務。
- 選擇支援使用者驗證的授權範圍。
設定空間
如要設定空間,請在要求中傳遞下列項目:
- 指定
chat.spaces.create
或chat.spaces
授權範圍。 - 呼叫
SetUpSpace()
方法。 - 將
space
做為Space
的執行個體傳遞,並包含所有必要欄位,例如displayName
或spaceType
。 - 以
Membership
例項陣列的形式傳遞memberships
。針對每個執行個體:- 指定
users/{user}
,將使用者新增為聊天室成員,其中{user}
是 People API 中person
的{person_id}
,或是 Directory API 中user
的 ID。舉例來說,如果 People API 人員resourceName
是people/123456789
,您可以加入成員,方法是加入以users/123456789
做為member.name
的成員資格。 - 指定
groups/{group}
,將群組新增為聊天室成員,其中{group}
是要建立成員資格的群組 ID。您可以使用 Cloud Identity API 擷取群組 ID。舉例來說,如果Cloud Identity API 傳回名稱為groups/123456789
的群組,請將membership.groupMember.name
設為groups/123456789
。Google 群組只能新增至具名聊天室,無法新增至群組對話或即時訊息。
- 指定
如要在通話使用者和其他真人使用者之間建立私訊,請在要求中指定真人使用者的成員資格。
如要在通話使用者和通話應用程式之間建立即時訊息,請將 space.singleUserBotDm
設為 true
,且不要指定任何成員。您只能使用這個方法,透過通話應用程式設定直接訊息。如要將通話應用程式新增為空間成員,或新增至兩位使用者之間的現有直接訊息,請參閱建立成員資格。
下列範例會建立具名空間,並為兩位使用者 (已驗證的使用者和另一位使用者) 建立一個空間成員。
Node.js
Python
Java
Apps Script
如要執行範例,請替換下列項目:
DISPLAY_NAME
:新空間的顯示名稱。USER_NAME
:要納入成員資格的其他使用者 ID。
如要前往聊天室,請使用聊天室的資源 ID 建構聊天室的網址。 您可以從 Google Chat 回覆主體的聊天室 name
取得資源 ID。舉例來說,如果聊天室的 name
是 spaces/1234567
,您可以使用下列網址前往該聊天室:https://mail.google.com/chat/u/0/#chat/space/1234567
。