คำแนะนำนี้จะอธิบายวิธีใช้เมธอด 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 แบบไม่พร้อมกัน ให้ส่งข้อมูลต่อไปนี้ในคำขอ
- ระบุขอบเขตการให้สิทธิ์
chat.bot
- เรียกเมธอด
get
ในทรัพยากรAttachment
- ส่ง
name
ของไฟล์แนบในข้อความ
วิธีรับข้อมูลเมตาเกี่ยวกับไฟล์แนบของข้อความมีดังนี้
Python
- สร้างไฟล์ชื่อ
chat_get_message_attachment.py
ในไดเรกทอรีการทำงาน ใส่รหัสต่อไปนี้ใน
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)
ในโค้ด ให้แทนที่
spaces/SPACE/messages/MESSAGE/attachments/ATTACHMENT
ด้วยชื่อไฟล์แนบของข้อความสร้างและเรียกใช้ตัวอย่างในไดเรกทอรีการทำงาน
python3 chat_get_message_attachment.py
Chat API จะส่งคืนอินสแตนซ์ของ Attachment
ที่มีรายละเอียดข้อมูลเมตาเกี่ยวกับไฟล์แนบของข้อความที่ระบุ