הצגת אירועים ממרחב משותף ב-Google Chat

במדריך הזה מוסבר איך להשתמש ב-list ב-משאב SpaceEvent של Google Chat API כדי לראות את השינויים שבוצעו במשאבים במרחבים משותפים.

משאב SpaceEvent מייצג שינוי במרחב היעד, כולל במשאבי הצאצאים של המרחב כמו הודעות, תגובות וחברויות במועדון. לקבלת מידע נוסף על רשימה של סוגי אירועים ומטענים ייעודיים (payloads) של אירועים שנתמכים. אפשר לעיין בeventType payload שדות של המשאב SpaceEvent מסמכי עזר.

אפשר לרשום אירועים עד 28 ימים לפני מועד שליחת הבקשה. השרת מחזירה אירועים שמכילים את הגרסה העדכנית ביותר של המשאב המושפע. לדוגמה, אם תרשמו אירועים שכוללים משתתפים חדשים במרחב המשותף, השרת יחזיר Membership משאבים שמכילים את הפרטים העדכניים של המינוי. אם חדש הוסרו חברים במהלך התקופה המבוקשת, המטען הייעודי של האירוע מכיל משאב Membership ריק.

כדי להפעיל את ה-method הזה, צריך להזין את הפקודה user אימות. לרשימה ממרחב משותף, המשתמש המאומת חייב להיות חבר במרחב המשותף.

דרישות מוקדמות

Python

  • Python 3.6 ומעלה
  • הכלי לניהול חבילות pip
  • ספריות הלקוח העדכניות של Google. כדי להתקין או לעדכן אותם, מריצים את הפקודה הבאה בממשק שורת הפקודה:
    pip3 install --upgrade google-api-python-client google-auth-oauthlib
    

הצגת רשימה של אירועים במרחב המשותף

כדי לראות רשימה של אירועים במרחב משותף ב-Chat, יש לבצע את הפעולות הבאות:

בדוגמת הקוד הבאה, מוצגים אירועים שקשורים למינויים חדשים הודעות במרחבים משותפים.

Python

  1. בספריית העבודה, יוצרים קובץ בשם chat_space_event_list.py.
  2. צריך לכלול את הקוד הבא ב-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)
    
  3. בקוד, מחליפים את מה שכתוב בשדות הבאים:

    • SPACE: שם של מרחב, שאפשר לקבל ממנו ה-method spaces.list מ-Chat API או מכתובת ה-URL של מרחב משותף.
  4. בספריית העבודה, יוצרים ומריצים את הדוגמה:

    python3 chat_space_event_list.py
    

ה-Chat API מחזיר רשימה של SpaceEvent מקורות מידע אירועים על הודעות ומינויים חדשים.

התאמה אישית של החלוקה לדפים

אפשר להעביר את הפרמטרים הבאים של השאילתה כדי להתאים אישית את החלוקה לדפים:

  • pageSize: המספר המקסימלי של SpaceEvent משאבים שצריך להחזיר. השירות עשוי להחזיר פחות מהערך הזה. ערכים שליליים מחזירים שגיאה אחת (INVALID_ARGUMENT).
  • pageToken: אסימון דף, שהתקבל מקריאה קודמת לאירועים במרחב המשותף. צריך לספק את האסימון הזה כדי לאחזר את הדף הבא. במהלך החלוקה לדפים, ערך המסנן צריך להתאים לקריאה שסיפקה אסימון הדף. עובר ערך שונה עלול להוביל לתוצאות בלתי צפויות.