הצגת אירועים ממרחב משותף ב-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 מחזיר רשימה עם חלוקה לדפים של אירועים במרחב שקשורים לחברים חדשים ולהודעות חדשות.