במדריך הזה מוסבר איך משתמשים ב-method list
במשאב SpaceEvent
ב-Google Chat API כדי לרשום שינויים במשאבים במרחב המשותף.
המשאב SpaceEvent
מייצג שינוי במרחב המשותף, כולל המשאבים הצאצאים של המרחב המשותף, כמו הודעות, תגובות ומינויים. מידע נוסף על רשימת סוגי האירועים ומטענים ייעודיים של אירועים נתמכים זמין בשדות eventType
ו-payload
במסמכי התיעוד של המשאב SpaceEvent
.
אתם יכולים לרשום אירועים עד 28 ימים לפני מועד שליחת הבקשה. השרת מחזיר אירועים שמכילים את הגרסה העדכנית ביותר של המשאב המושפע.
לדוגמה, אם יוצרים רשימת אירועים של משתמשים חדשים במרחב המשותף, השרת מחזיר משאבים עם פרטי החברות העדכניים ביותר מ-Membership
. אם הוסרו חברים חדשים במהלך התקופה המבוקשת, המטען הייעודי (payload) של האירוע מכיל משאב Membership
ריק.
כדי לקרוא לשיטה הזו צריך להשתמש באימות משתמש. כדי להציג רשימה של אירועים ממרחב משותף, המשתמש המאומת צריך להיות חבר במרחב המשותף.
דרישות מוקדמות
Python
- Python 3.6 ואילך
- הכלי pip לניהול חבילות
ספריות הלקוח העדכניות של Google ל-Python. כדי להתקין או לעדכן אותן, מריצים את הפקודה הבאה בממשק שורת הפקודה:
pip3 install --upgrade google-api-python-client google-auth-oauthlib
- פרויקט ב-Google Cloud עם ממשק Google Chat API פעיל ומוגדר. במאמר איך יוצרים אפליקציה ל-Google Chat מוסבר איך עושים זאת.
ההרשאות שהוגדרו לאפליקציית Chat. במקורות המידע
SpaceEvent
יש תמיכה בשיטות האימות הבאות:- אימות משתמש: נדרש היקף שתומך בסוגי האירועים המבוקשים. כדי לזהות היקף, כדאי לעיין במאמר היקפים לפי סוג האירוע.
הצגת רשימה של אירועים במרחב המשותף
כדי ליצור רשימה של אירועים ממרחב משותף ב-Chat:
- קוראים ל-method
list
במשאבSpaceEvent
. - בשדה
filter
מציינים אילו סוגי אירועים רוצים להציג ברשימה. צריך לציין לפחות סוג אחד של אירוע, ואפשר גם לסנן לפי תאריך. רשימה של סוגי אירועים נתמכים זמינה בשדהeventType
. - באמצעות אימות משתמשים, מציינים היקף הרשאה אחד או יותר כדי לתמוך בכל סוג אירוע בבקשה. השיטה המומלצת היא לבחור את ההיקף המגביל ביותר שעדיין מאפשר לאפליקציה לפעול. תוכלו לקרוא את הסקירה הכללית על אימות והרשאות כדי לבחור היקף.
בדוגמת הקוד הבאה אתם יכולים לראות אירועים בקשר להודעות ולמינויים חדשים במרחבים משותפים.
Python
- בספריית העבודה, יוצרים קובץ בשם
chat_space_event_list.py
. יש לכלול את הקוד הבא ב-
chat_space_event_list.py
:"""Lists SpaceEvent resources from the Chat API.""" from google_auth_oauthlib.flow import InstalledAppFlow from googleapiclient.discovery import build # Define your app's authorization scopes. # When modifying these scopes, delete the file token.json, if it exists. SCOPES = ["https://www.googleapis.com/auth/chat.memberships.readonly", "https://www.googleapis.com/auth/chat.messages.readonly"] # Authenticate with Google Workspace # and get user authorization. flow = InstalledAppFlow.from_client_secrets_file( 'client_secrets.json', SCOPES) creds = flow.run_local_server() # Build a service endpoint for Chat API. chat = build( 'chat', 'v1', credentials=creds, ) # Use the service endpoint to call Chat API. result = chat.spaces().spaceEvents().list( # The space from which to list events. # # Replace SPACE with a space name. # Obtain the space name from the spaces resource of Chat API, # or from a space's URL. parent='spaces/SPACE', # A required filter. Filters and returns events about new memberships and messages filter='event_types:"google.workspace.chat.membership.v1.created" OR event_types:"google.workspace.chat.message.v1.created"' ).execute() # Prints details about the created space events. print(result)
בקוד, מחליפים את מה שכתוב בשדות הבאים:
SPACE
: שם למרחב המשותף, שאותו אפשר לקבל מה-methodspaces.list
ב-Chat API או מכתובת ה-URL של המרחב המשותף.
בספריית העבודה, יוצרים ומריצים את הדוגמה:
python3 chat_space_event_list.py
ה-Chat API מחזיר רשימה של אירועי
SpaceEvent
משאבים
בנושא הודעות ומינויים חדשים.
התאמה אישית של העימוד
אפשר להעביר את הפרמטרים הבאים של שאילתות כדי להתאים אישית את העימוד:
pageSize
: המספר המקסימלי שלSpaceEvent
משאבים שיש להחזיר. השירות עשוי להחזיר פחות מהערך הזה. ערכים שליליים מחזירים את השגיאהINVALID_ARGUMENT
.pageToken
: אסימון דף שהתקבל מקריאה קודמת לאירועי מרחב משותף ברשימה. מספקים את האסימון הזה כדי לאחזר את הדף הבא. במהלך העימוד, ערך המסנן צריך להתאים לקריאה שסיפקה את אסימון הדף. העברת ערך אחר עלולה להוביל לתוצאות בלתי צפויות.