รับข้อมูลเมตาเกี่ยวกับไฟล์แนบของข้อความ

คำแนะนำนี้จะอธิบายวิธีใช้เมธอด get ในทรัพยากร Media ของ Google Chat API เพื่อรับข้อมูลเมตาเกี่ยวกับไฟล์แนบของข้อความ การตอบกลับเป็นอินสแตนซ์ของทรัพยากร Attachment

เมื่อผู้ใช้ส่งข้อความไปยังแอปของคุณ Google Chat จะส่งเหตุการณ์การโต้ตอบ MESSAGE เหตุการณ์การโต้ตอบที่แอปของคุณได้รับจะมีเนื้อหาคําขอ ซึ่งก็คือเพย์โหลด JSON ที่แสดงถึงเหตุการณ์การโต้ตอบ รวมถึงไฟล์แนบต่างๆ ด้วย ข้อมูลในไฟล์แนบจะแตกต่างกันไปตามไฟล์แนบที่เป็นเนื้อหาที่อัปโหลด (ไฟล์ในเครื่อง) หรือเป็นไฟล์ที่เก็บไว้ในไดรฟ์ แหล่งข้อมูล 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 แบบไม่พร้อมกัน ให้ส่งข้อมูลต่อไปนี้ในคำขอ

วิธีรับข้อมูลเมตาเกี่ยวกับไฟล์แนบของข้อความมีดังนี้

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 ที่มีรายละเอียดข้อมูลเมตาเกี่ยวกับไฟล์แนบของข้อความที่ระบุ