إدراج أحداث من مساحة في Google Chat

يوضّح هذا الدليل كيفية استخدام الأسلوب list() في مورد SpaceEvent من Google Chat API لعرض التغييرات التي طرأت على موارد في مساحة.

يمثّل مورد SpaceEvent تغييرًا في المساحة المستهدَفة، بما في ذلك الموارد الفرعية للمساحة مثل الرسائل والتفاعلات والعضويات. لمزيد من المعلومات حول قائمة أنواع الأحداث وحمولات الأحداث المتوافقة، اطّلِع على الحقلَين eventType و payload في مستندات مرجع الموارد SpaceEvent.

يمكنك إدراج الأحداث قبل 28 يومًا كحد أقصى من وقت الطلب. يعرض الخادم الأحداث التي تحتوي على أحدث إصدار من المورد المتأثر. على سبيل المثال، إذا أدرجت أحداثًا عن أعضاء جدد في المساحة، يعرض الخادم Membership موارد تحتوي على أحدث تفاصيل العضوية. في حال إزالة أعضاء جدد خلال الفترة المطلوبة، تحتوي حمولة الحدث على مورد Membership فارغ.

لاستدعاء هذه الطريقة، يجب استخدام مصادقة المستخدم. لعرض الأحداث من مساحة، يجب أن يكون المستخدم الذي تمّت مصادقته عضوًا في المساحة.

المتطلبات الأساسية

Node.js

سرد أحداث المساحة

لإدراج أحداث مساحة من "مساحة Chat"، عليك إدخال ما يلي في طلبك:

  • حدِّد نطاقًا واحدًا أو أكثر من نطاقات التفويض لإتاحة كل نوع حدث في طلبك. من بين أفضل الممارسات اختيار النطاق الأكثر تقييدًا الذي يسمح بتشغيل تطبيقك. لاختيار نطاق، اطّلِع على نظرة عامة على المصادقة والتفويض.

  • استخدِم الطريقة 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 قائمة ب قائمة مُقسّمة إلى صفحات من أحداث المساحة حول الاشتراكات والرسائل الجديدة.