本指南說明如何在 Google Chat API 的 Space
資源上使用 setUp()
方法,設定 Google Chat 聊天室。設定聊天室會建立聊天室,並將指定使用者加入其中。
Space
資源代表使用者和 Chat 應用程式可用於傳送訊息、共用檔案及協作的空間。聊天室分為以下幾種類型:
- 即時訊息 (DM) 是兩位使用者或使用者和 Chat 應用程式之間的對話。
- 群組通訊是指三位以上使用者與 Chat 應用程式之間的對話。
- 命名聊天室是持續存在的空間,可供使用者傳送訊息、分享檔案和協作。
設定聊天室時,請考量下列事項:
- 呼叫端 (已驗證) 使用者會自動加入聊天室,因此您不需要在要求中指定使用者的會員資格。
- 建立即時訊息 (DM) 時,如果兩位使用者之間存在 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
格式儲存到本機目錄。
- 選擇支援使用者驗證的授權範圍。
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 的 Business 或 Enterprise Google Workspace 帳戶。
- 設定環境:
- 建立 Google Cloud 專案。
- 設定 OAuth 同意畫面。
- 啟用並設定 Google Chat API,並為 Chat 應用程式提供名稱、圖示和說明。
- 建立獨立的 Apps Script 專案,然後開啟進階 Chat 服務。
- 選擇支援使用者驗證的授權範圍。
設定聊天室
如要設定空間,請在要求中傳遞以下內容:
- 指定
chat.spaces.create
或chat.spaces
授權範圍。 - 呼叫
SetUpSpace()
方法。 - 將
space
做為Space
的執行個體傳遞,其中包含所有必要欄位,例如displayName
或spaceType
。 - 將
memberships
做為Membership
例項的陣列傳遞。請針對每個執行個體執行下列操作:- 指定
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 群組新增至群組通訊或即時訊息,只能新增至命名聊天室。
- 指定
如要在呼叫使用者和其他使用者之間建立 DM,請在要求中指定使用者的會員資格。
如要在發出呼叫的使用者和呼叫應用程式之間建立即時訊息,請將 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
。