Mencantumkan peristiwa dari ruang Google Chat

Panduan ini menjelaskan cara menggunakan metode list() pada resource SpaceEvent Google Chat API untuk mencantumkan perubahan pada resource dalam ruang.

Resource SpaceEvent mewakili perubahan pada ruang target, termasuk resource turunan ruang seperti pesan, reaksi, dan keanggotaan. Untuk informasi selengkapnya tentang daftar jenis peristiwa dan payload peristiwa yang didukung, lihat kolom eventType dan payload dalam dokumentasi referensi resource SpaceEvent.

Anda dapat mencantumkan peristiwa hingga 28 hari sebelum waktu permintaan. Server menampilkan peristiwa yang berisi versi terbaru dari resource yang terpengaruh. Misalnya, jika Anda mencantumkan peristiwa tentang anggota ruang baru, server akan menampilkan resource Membership yang berisi detail keanggotaan terbaru. Jika anggota baru dihapus selama periode yang diminta, payload peristiwa akan berisi resource Membership kosong.

Untuk memanggil metode ini, Anda harus menggunakan autentikasi pengguna. Untuk mencantumkan peristiwa dari ruang, pengguna terautentikasi harus menjadi anggota ruang tersebut.

Prasyarat

Node.js

Membuat daftar peristiwa ruang

Untuk mencantumkan peristiwa ruang dari ruang Chat, teruskan hal berikut dalam permintaan Anda:

  • Tentukan satu atau beberapa cakupan otorisasi untuk mendukung setiap jenis peristiwa dalam permintaan Anda. Sebagai praktik terbaik, pilih cakupan paling ketat yang masih memungkinkan aplikasi Anda berfungsi. Untuk memilih cakupan, lihat Ringkasan autentikasi dan otorisasi.

  • Panggil metode ListSpaceEvents(), dengan meneruskan filter jenis peristiwa untuk dicantumkan. Anda harus menentukan minimal satu jenis peristiwa, dan Anda juga dapat memfilter menurut tanggal. Untuk daftar jenis peristiwa yang didukung, lihat dokumentasi referensi kolom eventType dari resource SpaceEvent.

Contoh berikut mencantumkan peristiwa tentang langganan dan pesan baru di ruang:

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);

Untuk menjalankan contoh ini, ganti SPACE_NAME dengan ID dari name ruang. Anda bisa mendapatkan ID dengan memanggil metode ListSpaces() atau dari URL ruang.

Chat API menampilkan daftar daftar peristiwa ruang yang di-pagination tentang pesan dan langganan baru.