Wyświetlanie listy zdarzeń z pokoju Google Chat

Z tego przewodnika dowiesz się, jak używać metody list() w zasobach SpaceEvent interfejsu Google Chat API, aby wyświetlić zmiany w zasobach w pokoju.

SpaceEventZasób reprezentuje zmianę w pokoju docelowym, w tym zasoby podrzędne pokoju, takie jak wiadomości, reakcje i informacje o osobach w pokoju. Więcej informacji o liście obsługiwanych typów zdarzeń i ładunków zdarzeń znajdziesz w polach eventType i payload w dokumentacji referencyjnej zasobów SpaceEvent.

Możesz wyświetlić zdarzenia z okresu do 28 dni przed datą wysłania żądania. Serwer zwraca zdarzenia zawierające najnowszą wersję zasobu, którego dotyczy problem. Jeśli na przykład wyświetlasz listę zdarzeń dotyczących nowych członków pokoju, serwer zwraca zasoby Membership zawierające najnowsze informacje o członkostwie. Jeśli w okresie objętym żądaniem usunięto nowych członków, ładunek zdarzenia zawiera pusty zasób Membership.

Aby wywołać tę metodę, musisz użyć uwierzytelniania użytkownika. Aby wyświetlić listę zdarzeń z pokoju, uwierzytelniony użytkownik musi być w tym pokoju.

Wymagania wstępne

Node.js

Lista zdarzeń w pokoju

Aby wyświetlić listę zdarzeń pokoju z pokoju czatu, przekaż w swojej prośbie te informacje:

Przykład poniżej zawiera listę wydarzeń dotyczących nowych członków grupy i wiadomości w pokoju:

Node.js

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

// Authorization scopes based on the event types
const USER_AUTH_OAUTH_SCOPES = [
  'https://www.googleapis.com/auth/chat.memberships.readonly',
  'https://www.googleapis.com/auth/chat.messages.readonly'
];

// This sample shows how to list space events 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 here
    parent: 'spaces/SPACE_NAME',
    // A required filter. Filters events about new memberships and messages
    filter: 'eventTypes:"google.workspace.chat.membership.v1.created" OR eventTypes:"google.workspace.chat.message.v1.created"'
  };

  // Make the request
  const pageResult = chatClient.listSpaceEventsAsync(request);

  // Handle the response. Iterating over pageResult will yield results and
  // resolve additional pages automatically.
  for await (const response of pageResult) {
    console.log(response);
  }
}

main().catch(console.error);

Aby uruchomić ten przykład, zastąp SPACE_NAME identyfikatorem name konta. Identyfikator możesz uzyskać, wywołując metodę ListSpaces() lub korzystając z adresu URL pokoju.

Chat API zwraca listę dzielonej na strony listy wydarzeń w pokoju dotyczących nowych subskrypcji i wiadomości.