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 Message
của Google Chat API để trả về thông tin chi tiết về một tin nhắn văn bản hoặc tin nhắn dạng thẻ.
Trong Chat API, tin nhắn 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 chứa văn bản, nhưng các ứng dụng Chat có thể sử dụng nhiều tính năng nhắn tin khác, bao gồm cả việc 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ừ người dùng và gửi tin nhắn riêng tư. Để tìm hiểu thêm về các tính năng nhắn tin có trong API Chat, hãy xem Tổng quan về tin nhắn trên Google Chat.
Điều kiện tiên quyết
Node.js
- Tài khoản Google Workspace Business hoặc Enterprise 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 đồng ý OAuth.
- Bật và định cấu hình Google Chat API bằng tên, biểu tượng và nội dung mô tả cho ứng dụng Chat của bạn.
- Cài đặt Thư viện ứng dụng Cloud Node.js.
- Tạo thông tin đăng nhập để truy cập dựa trên cách bạn muốn xác thực trong yêu cầu Google Chat API:
- Để xác thực với tư cách là người dùng Chat, hãy tạo thông tin xác thực mã ứng dụng OAuth và lưu thông tin xác thực dưới dạng tệp JSON có tên là
credentials.json
vào thư mục cục bộ của bạn. - Để xác thực dưới dạng ứng dụng Chat, hãy tạo thông tin đăng nhập tài khoản dịch vụ và lưu thông tin đăng nhập dưới dạng tệp JSON có tên là
credentials.json
.
- Để xác thực với tư cách là người dùng Chat, hãy tạo thông tin xác thực mã ứng dụng OAuth và lưu thông tin xác thực dưới dạng tệp JSON có tên là
- Chọn phạm vi uỷ quyền dựa trên việc bạn muốn xác thực với tư cách là người dùng hay ứng dụng Chat.
- Một không gian trên Google Chat mà người dùng đã xác thực hoặc ứng dụng Chat gọi là thành viên. Để xác thực dưới dạng ứng dụng Chat, hãy thêm ứng dụng Chat vào không gian.
Python
- Tài khoản Google Workspace Business hoặc Enterprise 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 đồng ý OAuth.
- Bật và định cấu hình Google Chat API bằng tên, biểu tượng và nội dung mô tả cho ứng dụng Chat của bạn.
- Cài đặt Thư viện ứng dụng đám mây Python.
- Tạo thông tin đăng nhập để truy cập dựa trên cách bạn muốn xác thực trong yêu cầu Google Chat API:
- Để xác thực với tư cách là người dùng Chat, hãy tạo thông tin xác thực mã ứng dụng OAuth và lưu thông tin xác thực dưới dạng tệp JSON có tên là
credentials.json
vào thư mục cục bộ của bạn. - Để xác thực dưới dạng ứng dụng Chat, hãy tạo thông tin đăng nhập tài khoản dịch vụ và lưu thông tin đăng nhập dưới dạng tệp JSON có tên là
credentials.json
.
- Để xác thực với tư cách là người dùng Chat, hãy tạo thông tin xác thực mã ứng dụng OAuth và lưu thông tin xác thực dưới dạng tệp JSON có tên là
- Chọn phạm vi uỷ quyền dựa trên việc bạn muốn xác thực với tư cách là người dùng hay ứng dụng Chat.
- Một không gian trên Google Chat mà người dùng đã xác thực hoặc ứng dụng Chat gọi là thành viên. Để xác thực dưới dạng ứng dụng Chat, hãy thêm ứng dụng Chat vào không gian.
Java
- Tài khoản Google Workspace Business hoặc Enterprise 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 đồng ý OAuth.
- Bật và định cấu hình Google Chat API bằng tên, biểu tượng và nội dung mô tả cho ứng dụng Chat của bạn.
- Cài đặt Thư viện ứng dụng đám mây Java.
- Tạo thông tin đăng nhập để truy cập dựa trên cách bạn muốn xác thực trong yêu cầu Google Chat API:
- Để xác thực với tư cách là người dùng Chat, hãy tạo thông tin xác thực mã ứng dụng OAuth và lưu thông tin xác thực dưới dạng tệp JSON có tên là
credentials.json
vào thư mục cục bộ của bạn. - Để xác thực dưới dạng ứng dụng Chat, hãy tạo thông tin đăng nhập tài khoản dịch vụ và lưu thông tin đăng nhập dưới dạng tệp JSON có tên là
credentials.json
.
- Để xác thực với tư cách là người dùng Chat, hãy tạo thông tin xác thực mã ứng dụng OAuth và lưu thông tin xác thực dưới dạng tệp JSON có tên là
- Chọn phạm vi uỷ quyền dựa trên việc bạn muốn xác thực với tư cách là người dùng hay ứng dụng Chat.
- Một không gian trên Google Chat mà người dùng đã xác thực hoặc ứng dụng Chat gọi là thành viên. Để xác thực dưới dạng ứng dụng Chat, hãy thêm ứng dụng Chat vào không gian.
Apps Script
- Tài khoản Google Workspace Business hoặc Enterprise 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 đồng ý OAuth.
- Bật và định cấu hình Google Chat API bằng tên, biểu tượng và nội dung mô tả cho ứng dụng Chat của bạn.
- Tạo một dự án Apps Script độc lập và bật Dịch vụ Chat nâng cao.
- Trong hướng dẫn này, bạn phải sử dụng quy trình xác thực người dùng hoặc ứng dụng. Để xác thực dưới dạng ứng dụng Chat, hãy tạo thông tin đăng nhập tài khoản dịch vụ. Để biết các bước, hãy xem phần Xác thực và uỷ quyền dưới dạng ứng dụng Google Chat.
- Chọn phạm vi uỷ quyền dựa trên việc bạn muốn xác thực với tư cách là người dùng hay ứng dụng Chat.
- Một không gian trên Google Chat mà người dùng đã xác thực hoặc ứng dụng Chat gọi là thành viên. Để xác thực dưới dạng ứng dụng Chat, hãy thêm ứng dụng Chat vào không gian.
Nhận thông báo có xác thực người dùng
Để biết thông tin chi tiết về một thông báo có xác thực người dùng, hãy truyền thông tin sau trong yêu cầu của bạn:
- Chỉ định phạm vi uỷ quyền
chat.messages.readonly
hoặcchat.messages
. - Gọi phương thức
GetMessage()
. - Đặt
name
thành tên tài nguyên của thông báo cần lấy.
Ví dụ sau đây lấy một thông báo có xác thực người dùng:
Node.js
Python
Java
Apps Script
Để chạy mẫu này, hãy thay thế các nội dung sau:
SPACE_NAME
: mã nhận dạng từname
của không gian. Bạn có thể lấy mã nhận dạng bằng cách gọi phương thứcListSpaces()
hoặc từ URL của không gian.MESSAGE_NAME
: mã nhận dạng từname
của thông báo. Bạn có thể lấy mã nhận dạng từ nội dung phản hồi được trả về sau khi tạo một tin nhắn không đồng bộ bằng API Chat hoặc bằng tên tuỳ chỉnh được chỉ định cho tin nhắn tại thời điểm tạo.
Chat API trả về một phiên bản của Message
, trong đó nêu chi tiết về thông báo được chỉ định.
Nhận thông báo có xác thực ứng dụng
Để biết thông tin chi tiết về một thông báo có xác thực ứng dụng, hãy truyền thông tin sau trong yêu cầu của bạn:
- Chỉ định một phạm vi uỷ quyền. Các ví dụ trong phần này sử dụng phạm vi
chat.bot
. Phạm vi này thường có sẵn và không yêu cầu sự phê duyệt của quản trị viên. Ngoài ra, bạn có thể uỷ quyền dưới dạng ứng dụng Chat có sự phê duyệt của quản trị viên. Tính năng này có trong Bản dùng thử cho nhà phát triển. - Gọi phương thức
GetMessage()
. - Đặt
name
thành tên tài nguyên của thông báo cần lấy.
Ví dụ sau đây lấy một thông báo có xác thực ứng dụng:
Node.js
Python
Java
Apps Script
Để chạy mẫu này, hãy thay thế các nội dung sau:
SPACE_NAME
: mã nhận dạng từname
của không gian. Bạn có thể lấy mã nhận dạng bằng cách gọi phương thứcListSpaces()
hoặc từ URL của không gian.MESSAGE_NAME
: mã nhận dạng từname
của thông báo. Bạn có thể lấy mã nhận dạng từ nội dung phản hồi được trả về sau khi tạo một tin nhắn không đồng bộ bằng API Chat hoặc bằng tên tuỳ chỉnh được chỉ định cho tin nhắn tại thời điểm tạo.
Chat API trả về một phiên bản của Message
, trong đó nêu chi tiết về thông báo được chỉ định.
Nhận tin nhắn dưới dạng ứng dụng Chat có sự phê duyệt của quản trị viên
Việc xác thực ứng dụng bằng phạm vi uỷ quyền chat.app.*
yêu cầu sự phê duyệt một lần của quản trị viên.
Để biết thông tin chi tiết về một tin nhắn có xác thực ứng dụng bằng API REST của Chat, hãy truyền các thông tin sau trong yêu cầu của bạn:
- Gọi phương thức
GetMessage()
. - Chỉ định phạm vi uỷ quyền
chat.app.messages.readonly
. - Đặt
name
thành tên tài nguyên của thông báo cần lấy.
Tạo một khoá API
Để gọi một phương thức API trong bản dùng thử cho nhà phát triển, bạn phải sử dụng một phiên bản không công khai của tài liệu khám phá API trong bản dùng thử cho nhà phát triển. Để xác thực yêu cầu, bạn phải truyền một khoá API.
Để tạo Khoá API, hãy mở dự án Google Cloud của ứng dụng rồi làm như sau:
- Trong bảng điều khiển Google Cloud, hãy chuyển đến phần Trình đơn > API và Dịch vụ > Thông tin xác thực.
- Nhấp vào Tạo thông tin xác thực > Khoá API.
- Khoá API mới của bạn sẽ xuất hiện.
- Nhấp vào biểu tượng Sao chép để sao chép khoá API nhằm sử dụng trong mã của ứng dụng. Bạn cũng có thể tìm thấy khoá API trong phần "Khoá API" của thông tin đăng nhập dự án.
- Để ngăn chặn việc sử dụng trái phép, bạn nên hạn chế nơi và API mà khoá API có thể được dùng. Để biết thêm thông tin chi tiết, hãy xem phần Thêm các quy tắc hạn chế đối với API.
Viết một tập lệnh gọi API Chat
Sau đây là cách lấy thông tin chi tiết về một tin nhắn bằng phương thức xác thực ứng dụng và sự phê duyệt của quản trị viên và Chat REST API:
Python
- Trong thư mục làm việc, hãy tạo một tệp có tên là
chat_messages_get_admin_app.py
. Thêm mã sau vào
chat_messages_get_admin_app.py
:from google.oauth2 import service_account from apiclient.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.app.messages.readonly"] def main(): ''' Authenticates with Chat API using app authentication, then gets details about a message. ''' # Specify service account details. creds = ( service_account.Credentials.from_service_account_file('credentials.json') .with_scopes(SCOPES) ) # Build a service endpoint for Chat API. chat = build('chat', 'v1', credentials=creds, discoveryServiceUrl='https://chat.googleapis.com/$discovery/rest?version=v1&labels=DEVELOPER_PREVIEW&key=API_KEY') # Use the service endpoint to call Chat API. result = chat.spaces().messages().get( # The message to get details about. # # Replace SPACE_NAME with a space name. # Obtain the space name from the spaces resource of Chat API, # or from a space's URL. name='spaces/SPACE_NAME/messages/MESSAGE_NAME', ).execute() # Print Chat API's response in your command line interface. print(result) if __name__ == '__main__': main()
Trong mã, hãy thay thế những nội dung sau:
API_KEY
: khoá API mà bạn đã tạo để xây dựng điểm cuối dịch vụ cho Chat API.SPACE_NAME
: mã nhận dạng từname
của không gian. Bạn có thể lấy mã nhận dạng bằng cách gọi phương thứcListSpaces()
hoặc từ URL của không gian.MESSAGE_NAME
: mã nhận dạng từname
của thông báo. Bạn có thể lấy mã nhận dạng này từ nội dung phản hồi được trả về sau khi tạo một tin nhắn không đồng bộ bằng Chat API hoặc bằng tên tuỳ chỉnh được chỉ định cho tin nhắn tại thời điểm tạo.
Trong thư mục làm việc, hãy tạo và chạy mẫu:
python3 chat_messages_get_admin_app.py
Chat API trả về một phiên bản của Message
, trong đó nêu chi tiết về thông báo được chỉ định.
Chủ đề có liên quan
- Định dạng tin nhắn.
- Xoá tin nhắn.
- Liệt kê tin nhắn trong một không gian.
- Chỉnh sửa tin nhắn.
- Gửi tin nhắn.