取得 Google Chat 聊天室活動的詳細資料

本指南說明如何在 Google Chat API 的 SpaceEvent 資源上使用 get() 方法,取得 Google Chat 聊天室中事件的詳細資料。

SpaceEvent 資源代表對聊天室或其子項資源 (例如訊息、回應和成員資格) 的變更。如要瞭解支援的事件類型,請參閱 SpaceEvent 資源的 eventType 欄位參考說明文件。

您最早可以在要求時間的 28 天前要求事件。事件包含已變更的資源最新版本。舉例來說,如果您要求有關新訊息的事件,但該訊息稍後已更新,伺服器會在事件酬載中傳回已更新的 Message 資源。

如要呼叫這個方法,您必須使用使用者驗證。如要取得事件,已驗證的使用者必須是發生事件的聊天室成員。

必要條件

Node.js

取得聊天室事件的詳細資料

如要取得 Google Chat 中空間活動的詳細資料,請在要求中傳遞以下內容:

  • 請指定支援要求中事件類型的授權範圍。最佳做法是選擇仍可讓應用程式正常運作的最嚴格範圍。
  • 呼叫 GetSpaceEvent() 方法,傳遞要取得的空間事件的 name

以下範例會取得空間事件:

Node.js

chat/client-libraries/cloud/get-space-event-user-cred.js
import {createClientWithUserCredentials} from './authentication-utils.js';

// Replace SCOPE_NAME here with an authorization scope based on the event type
const USER_AUTH_OAUTH_SCOPES = ['SCOPE_NAME'];

// This sample shows how to get space event with user credential
async function main() {
  // Create a client
  const chatClient = await createClientWithUserCredentials(USER_AUTH_OAUTH_SCOPES);

  // Initialize request argument(s)
  const request = {
    // Replace SPACE_NAME and SPACE_EVENT_NAME here
    name: 'spaces/SPACE_NAME/spaceEvents/SPACE_EVENT_NAME'
  };

  // Make the request
  const response = await chatClient.getSpaceEvent(request);

  // Handle the response
  console.log(response);
}

main().catch(console.error);

如要執行這個範例,請取代下列項目:

  • SCOPE_NAME:根據事件類型設定的授權範圍。舉例來說,如果您收到有關新會員資格的聊天室事件,請使用 chat.memberships.readonly 範圍,格式為 https://www.googleapis.com/auth/chat.memberships.readonly。您可以透過 ListSpaceEvents() 方法取得事件類型。如要瞭解如何使用這個方法,請參閱「列出聊天室中的事件」。
  • SPACE_NAME:聊天室 name 的 ID。您可以呼叫 ListSpaces() 方法,或從空間的網址取得 ID。
  • SPACE_EVENT_NAME:聊天室事件 name 中的 ID。您可以從 ListSpaceEvents() 方法取得 ID。如要瞭解如何使用這個方法,請參閱「列出聊天室中的事件」。

Chat API 會傳回 SpaceEvent 的例項,其中包含事件詳細資料。