Hướng dẫn này giải thích cách sử dụng phương thức delete
trên tài nguyên Message
của
API Google Chat để xoá tin nhắn văn bản hoặc tin nhắn dạng thẻ.
Trong API Chat, tin nhắn trong Chat được biểu thị bằng
Tài nguyên Message
.
Mặc dù người dùng Chat chỉ có thể gửi tin nhắn có chứa văn bản,
Các ứng dụng nhắn tin có thể dùng nhiều tính năng nhắn tin khác, bao gồm
hiển thị giao diện người dùng tĩnh hoặc tương tác, thu thập thông tin từ
và gửi thư một cách riêng tư. Để tìm hiểu thêm về tính năng nhắn tin
các tính năng dành cho API Chat, hãy xem
Tổng quan về tin nhắn trong Google Chat.
Với tính năng xác thực ứng dụng, bạn có thể sử dụng phương pháp này để xóa một tin nhắn mà Đã gửi ứng dụng Chat. Bằng xác thực người dùng, thì bạn có thể sử dụng phương thức này để xoá thư mà người dùng đã xác thực đã gửi. Nếu người dùng là người quản lý không gian, bạn cũng có thể xoá tin nhắn mà các thành viên khác trong không gian đã gửi. Để biết thêm thông tin, hãy xem phần Tìm hiểu về vai trò của bạn với tư cách là Người quản lý không gian.
Điều kiện tiên quyết
Python
- Doanh nghiệp Tài khoản Google Workspace có quyền truy cập vào Google Chat.
- Thiết lập môi trường:
- Tạo một dự án trên Google Cloud.
- Định cấu hình màn hình xin phép bằng OAuth.
- Bật và định cấu hình API Google Chat bằng tên, biểu tượng và nội dung mô tả cho ứng dụng Chat.
-
Tạo thông tin xác thực mã ứng dụng khách OAuth cho một ứng dụng dành cho máy tính. Để chạy mẫu trong
hãy lưu thông tin đăng nhập dưới dạng tệp JSON có tên
client_secrets.json
vào thư mục nội bộ.
- Chọn phạm vi uỷ quyền có hỗ trợ việc xác thực người dùng.
Xoá một thư có quy trình xác thực người dùng
Để xoá một thư có xác thực người dùng, chuyển nội dung sau vào yêu cầu của bạn:
- Chỉ định phạm vi uỷ quyền
chat.messages
. - Gọi
Phương thức
delete
trênMessage
tài nguyên. - Đặt
name
thành tên tài nguyên của thông báo cần xoá.
Ví dụ sau đây xoá một thư bằng xác thực người dùng:
Python
- Trong thư mục đang làm việc, hãy tạo một tệp có tên
chat_message_delete_user.py
. Đưa mã sau vào
chat_message_delete_user.py
: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 = ["https://www.googleapis.com/auth/chat.messages"] def main(): ''' Authenticates with Chat API via user credentials, then deletes a message. ''' # 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().messages().delete( # The message to delete. # # 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' ).execute() # Prints response to the Chat API call. # When deleting a message, the response body is empty. print(result) if __name__ == '__main__': main()
Trong mã, thay thế các nội dung sau:
SPACE
: tên không gian mà bạn có thể lấy từ thời gian Phương thứcspaces.list
trong API Chat hoặc qua URL của một không gian.MESSAGE
: tên thông báo mà bạn có thể lấy từ nội dung phản hồi được trả về sau khi tạo thông báo một cách không đồng bộ với API Chat hoặc bằng tên tuỳ chỉnh gán cho thư khi tạo.
Trong thư mục đang làm việc, hãy tạo và chạy mẫu:
python3 chat_message_delete_user.py
Nếu thành công, phần nội dung phản hồi sẽ trống, cho biết thông báo là đã bị xoá.
Xoá một thông báo có phương thức xác thực ứng dụng
Để xoá thư bằng xác thực ứng dụng, hãy chuyển tham số sau đây trong yêu cầu của bạn:
- Chỉ định phạm vi uỷ quyền
chat.bot
. - Gọi
Phương thức
delete
trên tài nguyênMessage
. - Đặt
name
thành tên tài nguyên của thông báo cần xoá.
Ví dụ sau đây xoá một thư bằng xác thực ứng dụng:
Python
- Trong thư mục đang làm việc, hãy tạo một tệp có tên
chat_delete_message_app.py
. Đưa mã sau vào
chat_delete_message_app.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) # Delete a Chat message. result = chat.spaces().messages().delete( # The message to delete. # # 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' ).execute() # Print Chat API's response in your command line interface. # When deleting a message, the response body is empty. print(result)
Trong mã, thay thế các nội dung sau:
SPACE
:name
của không gian nơi mà bạn có thể lấy từ thông báo phương thứcspaces.list
trong API Chat hoặc qua URL của một không gian.MESSAGE
: tên thông báo mà bạn có thể lấy từ nội dung phản hồi được trả về sau khi tạo thông báo một cách không đồng bộ với API Chat hoặc bằng tên tuỳ chỉnh gán cho thư khi tạo.
Trong thư mục đang làm việc, hãy tạo và chạy mẫu:
python3 chat_delete_message_app.py
Nếu thành công, nội dung phản hồi sẽ trống, cho biết thông báo là đã bị xoá.
Chủ đề có liên quan
- Định dạng một thư.
- Xem chi tiết về tin nhắn.
- Liệt kê tin nhắn trong không gian.
- Cập nhật tin nhắn.
- Gửi tin nhắn.