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

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

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

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

如要呼叫這個方法,您必須使用使用者驗證。如要取得活動,已驗證的使用者必須是活動發生所在空間的成員。

必要條件

Node.js

取得 Space 活動的詳細資料

如要取得 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:來自聊天室的 ID。name。您可以呼叫 ListSpaces() 方法或從空間的網址取得 ID。
  • SPACE_EVENT_NAME:來自空間事件的 ID name。 您可以透過 ListSpaceEvents() 方法取得 ID。如要瞭解如何使用這個方法,請參閱「列出空間中的活動」。

Chat API 會傳回 SpaceEvent 的執行個體,其中包含事件的詳細資料。