קבלת פרטים על אירוע של מרחב משותף ב-Google Chat

במדריך הזה מוסבר איך משתמשים בשיטה get בSpaceEvent מידע של Google Chat API כדי לקבל פרטים על אירועים ממרחב משותף ב-Google Chat.

המשאב SpaceEvent מייצג שינוי במרחב המשותף או במשאבים הצאצאים שלו, כמו הודעות, תגובות ומינויים. למידע נוסף על סוגי האירועים הנתמכים, קראו את השדה eventType במסמכי התיעוד של משאבי SpaceEvent.

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

כדי לקרוא לשיטה הזו צריך להשתמש באימות משתמש. כדי לקבל אירוע, המשתמש המאומת צריך להיות חבר במרחב המשותף שבו התרחש האירוע.

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

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 ב-Google Chat:

  • קוראים ל-method get במשאב SpaceEvent.
  • כדי לקבל, צריך לעבור את name של SpaceEvent. מורידים את השם של SpaceEvent מהמשאב SpaceEvent של Google Chat.
  • באמצעות אימות משתמשים, מציינים היקף הרשאה שתומך בסוג האירוע בבקשה. מומלץ לבחור את ההיקף המגביל ביותר שמאפשר לאפליקציה לפעול.

כך מקבלים SpaceEvent באמצעות אימות משתמש:

Python

  1. בספריית העבודה, יוצרים קובץ בשם chat_space_event_get.py.
  2. יש לכלול את הקוד הבא ב-chat_space_event_get.py:

    """Gets a SpaceEvent resource 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 = ['SCOPE']
    
    # 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()
        .get(
            # The space event to get.
            #
            # Replace SPACE with a space name.
            # Obtain the space name from the spaces resource of Chat API,
            # or from a space's URL.
            #
            # Replace SPACE_EVENT with a SpaceEvent name.
            # Obtain the spaceEvent name from the SpaceEvent resource of
            # Chat API.
            name='spaces/SPACE/spaceEvents/SPACE_EVENT'
        )
        .execute()
    )
    
    # Prints details about the created spaceEvent.
    print(result)
    
  3. בקוד, מחליפים את מה שכתוב בשדות הבאים:

    • SCOPE: היקף הרשאה שמבוסס על סוג האירוע. לדוגמה, אם אתם מקבלים אירוע חלל שקשור למינוי חדש, השתמשו בהיקף chat.memberships.readonly, שמעוצב כ-https://www.googleapis.com/auth/chat.memberships.readonly. אפשר לקבל את סוג האירוע דרך ה-method spaces.spaceEvents.list. במאמר הצגת אירועים ממרחב משותף מוסבר איך משתמשים בשיטה הזו.
    • SPACE: שם למרחב המשותף, שאותו אפשר לקבל מה-method spaces.list ב-Chat API או מכתובת ה-URL של המרחב המשותף.
    • SPACE_EVENT: שם האירוע במרחב, שאותו אפשר לקבל דרך ה-method spaces.spaceEvents.list.
  4. בספריית העבודה, יוצרים ומריצים את הדוגמה:

    python3 chat_space_event_get.py
    

ה-Chat API מחזיר מופע של SpaceEvent עם פרטים על האירוע.