رویدادها را از فضای چت Google فهرست کنید

این راهنما نحوه استفاده از متد list() را در منبع SpaceEvent در Google Chat API برای فهرست کردن تغییرات منابع در یک فضا توضیح می‌دهد.

منبع SpaceEvent نشان‌دهنده تغییر در فضای هدف، از جمله منابع فرزند فضا مانند پیام‌ها، واکنش‌ها و عضویت‌ها است. برای اطلاعات بیشتر در مورد لیست انواع رویداد و بارهای رویداد پشتیبانی شده، به فیلدهای eventType و payload در اسناد مرجع منبع SpaceEvent مراجعه کنید.

شما می توانید رویدادها را تا 28 روز قبل از زمان درخواست لیست کنید. سرور رویدادهایی را برمی گرداند که حاوی جدیدترین نسخه منبع آسیب دیده هستند. برای مثال، اگر رویدادهای مربوط به اعضای جدید فضایی را فهرست کنید، سرور منابع Membership را که حاوی آخرین جزئیات عضویت است، برمی‌گرداند. اگر اعضای جدید در طول دوره درخواستی حذف شوند، بار رویداد حاوی یک منبع Membership خالی است.

برای فراخوانی این روش، باید از احراز هویت کاربر استفاده کنید. برای فهرست کردن رویدادها از یک فضا، کاربر احراز هویت شده باید عضوی از فضا باشد.

پیش نیازها

Node.js

فهرست رویدادهای فضایی

برای فهرست کردن رویدادهای فضایی از فضای چت، موارد زیر را در درخواست خود ارسال کنید:

  • یک یا چند حوزه مجوز را برای پشتیبانی از هر نوع رویداد در درخواست خود مشخص کنید. به عنوان بهترین روش، محدودترین محدوده را انتخاب کنید که همچنان به برنامه شما اجازه عملکرد می دهد. برای انتخاب محدوده، به نمای کلی احراز هویت و مجوز مراجعه کنید.

  • متد ListSpaceEvents() را فراخوانی کنید و filter انواع رویداد را به لیست منتقل کنید. شما باید حداقل یک نوع رویداد را مشخص کنید، و همچنین می توانید بر اساس تاریخ فیلتر کنید. برای لیستی از انواع رویدادهای پشتیبانی شده، به قسمت eventType در مستندات مرجع منبع SpaceEvent مراجعه کنید.

مثال زیر رویدادهای مربوط به عضویت‌ها و پیام‌های جدید را در یک فضا فهرست می‌کند:

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

برای اجرای این نمونه، SPACE_NAME با شناسه name فضا جایگزین کنید. شما می توانید شناسه را با فراخوانی متد ListSpaces() یا از URL فضا بدست آورید.

Chat API فهرستی از فهرست صفحه‌بندی‌شده رویدادهای فضایی درباره عضویت‌ها و پیام‌های جدید را برمی‌گرداند.