קבלת מטא-נתונים על קובץ מצורף להודעה

המדריך הזה מסביר איך משתמשים בשיטה get במשאב Media של Google Chat API כדי לקבל מטא-נתונים לגבי קובץ מצורף של הודעה. התגובה היא מופע של המשאב Attachment.

כשהמשתמש שולח הודעה לאפליקציה, יישלח אירוע אינטראקציה של MESSAGE מ-Google Chat. אירוע האינטראקציה שהאפליקציה מקבלת כולל גוף בקשה, שהוא המטען הייעודי (payload) של JSON שמייצג את אירוע האינטראקציה, כולל קבצים מצורפים. הנתונים שבקובץ המצורף משתנים בהתאם לסוג הקובץ שהועלה (קובץ מקומי) או קובץ שמאוחסן ב-Drive. המשאב Media מייצג קובץ שהועלה ל-Google Chat, כמו תמונות, סרטונים ומסמכים. המשאב Attachment מייצג מופע של מדיה (קובץ) שמצורף להודעה. המשאב Attachment כולל את המטא-נתונים של הקובץ המצורף, למשל איפה הוא נשמר.

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

Python

  • Python 3.6 ואילך
  • הכלי pip לניהול חבילות
  • ספריות הלקוח העדכניות של Google ל-Python. כדי להתקין או לעדכן אותן, מריצים את הפקודה הבאה בממשק שורת הפקודה:

    pip3 install --upgrade google-api-python-client google-auth-oauthlib google-auth
    
  • פרויקט ב-Google Cloud עם ממשק Google Chat API פעיל ומוגדר. במאמר איך יוצרים אפליקציה ל-Google Chat מוסבר איך עושים זאת.
  • הוגדרה הרשאה לאפליקציית Chat. כדי לקבל הודעה, צריך אימות אפליקציות עם היקף ההרשאה chat.bot.

קבלת קובץ מצורף של הודעה

כדי לקבל באופן אסינכרוני מטא-נתונים של קובץ מצורף של הודעה ב-Google Chat, צריך להעביר לבקשה את הפרטים הבאים:

  • צריך לציין את היקף ההרשאה של chat.bot.
  • קוראים ל-method get במשאב Attachment,
  • מעבירים את name של הקובץ המצורף של ההודעה.

כדי לקבל מטא-נתונים לגבי קובץ מצורף של הודעה:

Python

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

    from google.oauth2 import service_account
    from apiclient.discovery import build
    
    # Specify required scopes.
    SCOPES = ['https://www.googleapis.com/auth/chat.bot']
    
    # Specify service account details.
    CREDENTIALS = (
        service_account.Credentials.from_service_account_file('credentials.json')
        .with_scopes(SCOPES)
    )
    
    # Build the URI and authenticate with the service account.
    chat = build('chat', 'v1', credentials=CREDENTIALS)
    
    # Get a Chat message.
    result = chat.spaces().messages().attachments().get(
    
        # The message 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 MESSAGE with a message name.
        # Obtain the message name from the response body returned
        # after creating a message asynchronously with Chat REST API.
        name='spaces/SPACE/messages/MESSAGE/attachments/ATTACHMENT'
    
      ).execute()
    
    # Print Chat API's response in your command line interface.
    print(result)
    
  3. בקוד, מחליפים את spaces/SPACE/messages/MESSAGE/attachments/ATTACHMENT בשם של הקובץ המצורף להודעה.

  4. בספריית העבודה, יוצרים ומריצים את הדוגמה:

    python3 chat_get_message_attachment.py
    

ה-Chat API מחזיר מופע של Attachment שכולל את המטא-נתונים של הקובץ המצורף להודעה.