Hướng dẫn này giải thích cách sử dụng phương thức
list()
trên tài nguyên SpaceEvent của API Google Chat để liệt kê các thay đổi đối với
tài nguyên trong một không gian.
Tài nguyên
SpaceEvent đại diện cho một thay đổi đối với không gian mục tiêu, bao gồm cả các tài nguyên con của không gian
chẳng hạn như tin nhắn, phản ứng và tư cách thành viên. Để biết thêm thông tin về
danh sách các loại sự kiện và tải trọng sự kiện được hỗ trợ, hãy xem các
eventType
và
payload
trường trong tài liệu tham khảo về tài nguyên SpaceEvent.
Bạn có thể liệt kê các sự kiện trong tối đa 28 ngày trước thời điểm yêu cầu. Máy chủ trả về các sự kiện có chứa phiên bản mới nhất của tài nguyên bị ảnh hưởng.
Ví dụ: nếu bạn liệt kê các sự kiện về thành viên mới trong không gian, thì máy chủ sẽ trả về các tài nguyên Membership có chứa thông tin mới nhất về tư cách thành viên. Nếu thành viên mới bị xoá trong khoảng thời gian được yêu cầu, thì tải trọng sự kiện sẽ chứa một tài nguyên Membership trống.
Để liệt kê các sự kiện từ một không gian, người dùng đã xác thực hoặc ứng dụng Chat phải là thành viên của không gian đó.
Điều kiện tiên quyết
Node.js
- Một tài khoản Google Workspace dành cho doanh nghiệp hoặc doanh nghiệp có quyền truy cập vào Google Chat.
- Thiết lập môi trường của bạn:
- 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.
- Cài đặt Thư viện ứng dụng đám mây 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 API Google Chat:
- Để xác thực với tư cách là người dùng Chat,
hãy tạo thông tin đăng nhập mã ứng dụng OAuth và lưu thông tin đăng nhập dưới dạng tệp JSON có tên
credentials.jsonvào thư mục cục bộ. - Để xác thực với tư cách là ứ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 đăng nhập mã ứng dụng OAuth và lưu thông tin đăng nhập dưới dạng tệp JSON có tên
- 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.
Python
- Một tài khoản Google Workspace dành cho doanh nghiệp hoặc doanh nghiệp có quyền truy cập vào Google Chat.
- Thiết lập môi trường của bạn:
- 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.
- 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 API Google Chat:
- Để xác thực với tư cách là người dùng Chat,
hãy tạo thông tin đăng nhập mã ứng dụng OAuth và lưu thông tin đăng nhập dưới dạng tệp JSON có tên
credentials.jsonvào thư mục cục bộ. - Để xác thực với tư cách là ứ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 đăng nhập mã ứng dụng OAuth và lưu thông tin đăng nhập dưới dạng tệp JSON có tên
- 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.
Liệt kê các sự kiện trong không gian (xác thực người dùng)
Để liệt kê các sự kiện trong không gian từ một phòng Chat, hãy truyền thông tin sau vào yêu cầu:
Chỉ định một hoặc nhiều phạm vi uỷ quyền để hỗ trợ từng loại sự kiện trong yêu cầu. Theo phương pháp hay nhất, hãy chọn phạm vi hạn chế nhất nhưng vẫn cho phép ứng dụng của bạn hoạt động. Để chọn phạm vi, hãy xem bài viết Tổng quan về xác thực và uỷ quyền.
Gọi
ListSpaceEvents()phương thức, truyềnfiltercủa các loại sự kiện để liệt kê. Bạn phải chỉ định ít nhất một loại sự kiện và cũng có thể lọc theo ngày. Để biết danh sách các loại sự kiện được hỗ trợ, hãy xem trườngeventTypetrong tài liệu tham khảo về tài nguyênSpaceEventresource.
Ví dụ sau đây liệt kê các sự kiện về tư cách thành viên và tin nhắn mới trong một không gian:
Node.js
Để chạy mẫu này, hãy thay thế SPACE_NAME bằng mã nhận dạng từ
của không gian
name.
Bạn có thể lấy mã nhận dạng bằng cách gọi
ListSpaces()
phương thức hoặc từ URL của không gian.
API Chat trả về danh sách các sự kiện trong không gian được phân trang về tư cách thành viên và tin nhắn mới.
Liệt kê các sự kiện trong không gian (xác thực ứng dụng Chat)
Tính năng xác thực ứng dụng yêu cầu quản trị viên phê duyệt một lần quản trị viên phê duyệt.
Để liệt kê các sự kiện trong không gian từ một không gian có tính năng xác thực ứng dụng và API REST của Chat, hãy truyền thông tin sau vào yêu cầu:
- Chỉ định một hoặc nhiều phạm vi uỷ quyền để hỗ trợ từng loại sự kiện trong yêu cầu. Theo phương pháp hay nhất, hãy chọn phạm vi hạn chế nhất nhưng vẫn cho phép ứng dụng của bạn hoạt động. Để tìm hiểu thêm về cách chọn phạm vi, hãy xem bài viết
Tổng quan về xác thực và uỷ quyền.
https://www.googleapis.com/auth/chat.app.membershipshttps://www.googleapis.com/auth/chat.app.memberships.readonlyhttps://www.googleapis.com/auth/chat.app.messages.readonlyhttps://www.googleapis.com/auth/chat.app.spaceshttps://www.googleapis.com/auth/chat.app.spaces.readonly
- Gọi phương thức
listtrên tài nguyênspaceEvents. - Truyền
namecủa không gian để liệt kê tin nhắn. - Truyền
filterđể truy vấn các loại sự kiện cụ thể.
Viết một tập lệnh gọi API Chat
Sau đây là cách liệt kê các sự kiện trong không gian bằng tính năng xác thực ứng dụng và API REST của Chat:
Python
- Trong thư mục làm việc, hãy tạo một tệp có tên là
chat_spaceevents_list_app.py. Đưa mã sau vào
chat_spaceevents_list_app.py:from google.oauth2 import service_account from apiclient.discovery import build # Define your app's authorization scopes. # Set authorization scopes based on the # event type. For example, if you are getting a space event # about a new membership, use the `chat.app.memberships` scope. # # When modifying these scopes, delete the file token.json, if it exists. SCOPES = ["https://www.googleapis.com/auth/chat.app.memberships", "https://www.googleapis.com/auth/chat.app.memberships.readonly", "https://www.googleapis.com/auth/chat.app.messages.readonly", "https://www.googleapis.com/auth/chat.app.spaces", "https://www.googleapis.com/auth/chat.app.spaces.readonly"] def main(): ''' Authenticates with Chat API using app authentication, then lists space events from a specified space. ''' # 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) # Use the service endpoint to call Chat API. result = chat.spaces().spaceEvents().list( # The space to list events from. # # Replace SPACE_NAME with a space name. # Obtain the space name from the spaces resource of Chat API, # or from a space's URL. parent='spaces/SPACE_NAME', # A required filter. Filters events by event type. # # Update this filter to match your requirements. filter='eventTypes:"google.workspace.chat.message.v1.created"' ).execute() # Print Chat API's response in your command line interface. print(result) if __name__ == '__main__': main()Trong mã, hãy thay thế thông tin sau:
SPACE_NAME: tên không gian mà bạn có thể lấy từ phương thứcspaces.listtrong API Chat hoặc từ URL của không gian.
Trong thư mục làm việc, hãy tạo và chạy mẫu:
python3 chat_spaceevents_list_app.py
API Chat trả về danh sách các sự kiện trong không gian được phân trang về tư cách thành viên và tin nhắn mới.