Hướng dẫn này giải thích cách sử dụng phương thức get
trên tài nguyên Media
của API Google Chat để lấy siêu dữ liệu về tệp đính kèm tin nhắn. Phản hồi là một thực thể của tài nguyên Attachment
.
Khi người dùng gửi tin nhắn đến ứng dụng của bạn, Google Chat sẽ gửi một sự kiện tương tác MESSAGE
.
Sự kiện tương tác mà ứng dụng của bạn nhận được bao gồm một nội dung yêu cầu là tải trọng JSON đại diện cho sự kiện tương tác, bao gồm cả mọi tệp đính kèm. Dữ liệu trong tệp đính kèm khác nhau tuỳ thuộc vào việc tệp đính kèm là nội dung được tải lên (tệp cục bộ) hay là tệp được lưu trữ trên Drive. Tài nguyên Media
đại diện cho một tệp được tải lên Google Chat, chẳng hạn như hình ảnh, video và tài liệu.
Tài nguyên Attachment
đại diện cho một thực thể của nội dung nghe nhìn, một tệp và được đính kèm vào một thông báo. Tài nguyên Attachment
bao gồm siêu dữ liệu về tệp đính kèm, chẳng hạn như vị trí lưu tệp.
Điều kiện tiên quyết
Python
- Python 3.6 trở lên
- Công cụ quản lý gói pip
Các thư viện ứng dụng mới nhất của Google dành cho Python. Để cài đặt hoặc cập nhật các công cụ này, hãy chạy lệnh sau trong giao diện dòng lệnh của bạn:
pip3 install --upgrade google-api-python-client google-auth-oauthlib google-auth
- Một dự án trên Google Cloud đã bật và thiết lập API Google Chat. Để biết các bước, hãy xem bài viết Tạo ứng dụng Google Chat.
Đã định cấu hình hoạt động uỷ quyền cho ứng dụng Chat. Để nhận được tin nhắn, bạn cần xác thực ứng dụng trong phạm vi uỷ quyền
chat.bot
.
Nhận tệp đính kèm cho tin nhắn
Để nhận siêu dữ liệu không đồng bộ về tệp đính kèm tin nhắn trong Google Chat, hãy chuyển nội dung sau đây vào yêu cầu của bạn:
- Chỉ định phạm vi uỷ quyền
chat.bot
. - Gọi phương thức
get
trên tài nguyênAttachment
, - Truyền
name
của tệp đính kèm tin nhắn.
Dưới đây là cách xem siêu dữ liệu về tệp đính kèm trong tin nhắn:
Python
- Trong thư mục đang làm việc, hãy tạo một tệp có tên là
chat_get_message_attachment.py
. Đưa mã sau vào
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)
Trong mã, hãy thay thế
spaces/SPACE/messages/MESSAGE/attachments/ATTACHMENT
bằng tên tệp đính kèm tin nhắn.Trong thư mục đang làm việc, hãy tạo và chạy mẫu:
python3 chat_get_message_attachment.py
API Chat trả về một thực thể của Attachment
giúp nêu chi tiết siêu dữ liệu về tệp đính kèm tin nhắn đã chỉ định.
Chủ đề có liên quan
- Tải nội dung nghe nhìn lên dưới dạng tệp đính kèm
- Tải nội dung nghe nhìn xuống dưới dạng tệp đính kèm