إدراج أحداث من مساحة في 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 قائمة مقسمة إلى صفحات بأحداث المساحة تتعلّق بالعضويات والرسائل الجديدة.