Wyświetlanie listy zdarzeń z pokoju Google Chat

Z tego przewodnika dowiesz się, jak używać metody list() w zasobie SpaceEvent interfejsu Google Chat API do wyświetlania zmian w zasobach w pokoju.

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

Wydarzenia możesz wyświetlać do 28 dni przed czasem przesłania prośby. Serwer zwraca zdarzenia zawierające najnowszą wersję zasobu, którego dotyczą. Jeśli na przykład wymienisz wydarzenia dotyczące nowych członków przestrzeni, serwer zwróci zasobyMembership 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ę wydarzeń z pokoju, uwierzytelniony użytkownik musi być członkiem tego pokoju.

Wymagania wstępne

Node.js

Wyświetlanie listy zdarzeń w pokoju

Aby wyświetlić listę wydarzeń w pokoju czatu, w żądaniu przekaż te informacje:

  • Określ co najmniej 1 zakres autoryzacji, aby obsługiwać każdy typ zdarzenia w swoim żądaniu. Zalecamy wybranie najbardziej restrykcyjnego zakresu, który nadal umożliwia działanie aplikacji. Aby wybrać zakres, zapoznaj się z omówieniem uwierzytelniania i autoryzacji.

  • Wywołaj metodę ListSpaceEvents() przekazując filter typów zdarzeń do wyświetlenia. Musisz określić co najmniej 1 typ zdarzenia. Możesz też filtrować według daty. Listę obsługiwanych typów zdarzeń znajdziesz w dokumentacji pola eventType zasobu SpaceEvent.

W przykładzie poniżej znajdziesz listę zdarzeń dotyczących nowych członkostw i wiadomości w przestrzeni:

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 z name przestrzeni. Możesz go uzyskać, wywołując metodę ListSpaces() lub z adresu URL pokoju.

Interfejs Chat API zwraca stronicowaną listę zdarzeń w przestrzeni dotyczących nowych członkostw i wiadomości.