本指南說明如何在 Google Chat API 的 SpaceReadState
資源上使用 update()
方法,將聊天室標示為已讀或未讀。
SpaceReadState
資源是單例資源,可代表指定使用者在 Google Chat 聊天室中上次讀取的訊息詳細資料。
必要條件
Node.js
- 企業或企業 具有存取權的 Google Workspace 帳戶 Google Chat。
- 設定環境:
- 建立 Google Cloud 專案。
- 設定 OAuth 同意畫面。
- 啟用並設定 Google Chat API。 圖示和說明
- 安裝 Node.js Cloud 用戶端程式庫。
-
為電腦版應用程式建立 OAuth 用戶端 ID 憑證。如要在此環境中執行範例
指引,將憑證儲存為名為
client_secrets.json
的 JSON 檔案,並儲存至 本機目錄
- 選擇支援使用者驗證的授權範圍。
更新呼叫使用者的聊天室讀取狀態
如要更新聊天室內使用者的已讀狀態,請在要求中加入以下內容:
- 指定
chat.users.readstate
授權範圍。 - 呼叫
UpdateSpaceReadState()
方法。 - 傳遞
updateMask
和lastReadTime
值。 - 使用以下方法,將
spaceReadState
傳遞為SpaceReadState
的例項:name
欄位會設為要更新的聊天室讀取狀態,其中包含 使用者 ID 或別名,以及聊天室 ID。僅支援更新聊天室讀取狀態的功能 更新發出呼叫之使用者的讀取狀態,可在 設定下列其中一項:me
別名。例如users/me/spaces/SPACE/spaceReadState
。- 來電使用者的 Workspace 電子郵件地址。例如
users/user@example.com/spaces/SPACE/spaceReadState
。 - 發出呼叫的使用者 ID。例如
users/USER/spaces/SPACE/spaceReadState
。
lastReadTime
欄位會設為 使用者的聊天室讀取狀態已更新。通常對應於 上次讀取訊息的時間戳記,或使用者指定的時間戳記 標記聊天室中的上次讀取位置。lastReadTime
早於 最新的訊息建立時間,UI 中會顯示為未讀取。如要將聊天室標示為已讀,請將lastReadTime
設為大於 (晚於) 最新訊息建立時間的任何值。lastReadTime
已強制轉換成符合最新值 訊息建立時間請注意,聊天室的已讀狀態只會影響在聊天室頂層對話中顯示的訊息的已讀狀態。討論串中的回覆不受此時間戳記影響,請改用 執行緒讀取狀態
以下範例會更新呼叫使用者的聊天室讀取狀態:
Node.js
如要執行這個範例,請將 SPACE_NAME
替換為
聊天室的
name
。
您可以呼叫 ListSpaces()
方法,或從空間的網址取得 ID。
Google Chat API 會更新指定聊天室讀取狀態,並傳回
執行個體
SpaceReadState
。