Hướng dẫn này giải thích cách sử dụng 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
biểu thị sự thay đổi đối với không gian mục tiêu, bao gồm cả tài nguyên con của không gian
chẳng hạn như tin nhắn, lượt thể hiện cảm xúc và gói hội viên. Để biết thêm thông tin về chính sách
danh sách các loại sự kiện và tải trọng sự kiện được hỗ trợ, hãy xem eventType
và
Các trường payload
của tài nguyên SpaceEvent
tài liệu tham khảo.
Bạn có thể liệt kê các sự kiện 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 chứa phiên bản gần đây 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 của không gian, máy chủ sẽ trả về
Tài nguyên Membership
chứa thông tin chi tiết mới nhất về gói thành viên. Nếu mới
thành viên đã bị xoá trong khoảng thời gian được yêu cầu, thì trọng tải sự kiện sẽ chứa
tài nguyên Membership
trống.
Để gọi phương thức này, bạn phải sử dụng hàm user xác thực. Liệt kê sự kiện từ một không gian, người dùng đã xác thực phải là thành viên của 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.
- Python 3.6 trở lên
- Công cụ quản lý gói pip
- Thư viện ứng dụng mới nhất của Google. Cách cài đặt hoặc cập nhật các tính năng này:
chạy lệnh sau trong giao diện dòng lệnh:
pip3 install --upgrade google-api-python-client google-auth-oauthlib
- 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 (
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.
Liệt kê các sự kiện của không gian
Để liệt kê các sự kiện của phòng Chat, hãy làm như sau:
- Gọi phương thức
list
trênSpaceEvent
. - Chỉ định loại sự kiện cần liệt kê bằng cách sử dụng
filter
. Bạn phải chỉ định ít nhất một loại sự kiện và bạn 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 xemeventType
. - Với người dùng xác thực, 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 của bạn. Phương pháp hay nhất là chọn phạm vi hạn chế nhất mà vẫn cho phép ứng dụng của bạn hoạt động. Để chọn phạm vi, hãy xem Tổng quan về xác thực và uỷ quyền.
Trong mã mẫu sau, bạn liệt kê các sự kiện về gói thành viên mới và tin nhắn trong không gian.
Python
- Trong thư mục đang làm việc, hãy tạo một tệp có tên
chat_space_event_list.py
. Đưa mã sau vào
chat_space_event_list.py
:"""Lists SpaceEvent resources from the Chat API.""" 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.memberships.readonly", "https://www.googleapis.com/auth/chat.messages.readonly"] # 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().spaceEvents().list( # The space from which to list events. # # Replace SPACE with a space name. # Obtain the space name from the spaces resource of Chat API, # or from a space's URL. parent='spaces/SPACE', # A required filter. Filters and returns events about new memberships and messages filter='event_types:"google.workspace.chat.membership.v1.created" OR event_types:"google.workspace.chat.message.v1.created"' ).execute() # Prints details about the created space events. print(result)
Trong mã, thay thế các nội dung sau:
SPACE
: tên không gian mà bạn có thể lấy từ phương thứcspaces.list
trong API Chat hoặc qua URL của một không gian.
Trong thư mục đang làm việc, hãy tạo và chạy mẫu:
python3 chat_space_event_list.py
API Chat trả về danh sách
Tài nguyên SpaceEvent
sự kiện liên quan đến gói hội viên và tin nhắn mới.
Tuỳ chỉnh chế độ phân trang
(Không bắt buộc) Bạn có thể chuyển các tham số truy vấn sau đây để tuỳ chỉnh tính năng phân trang:
pageSize
: Số lượng tài nguyênSpaceEvent
tối đa cần trả về. Dịch vụ có thể trả về ít hơn giá trị này. Giá trị âm trả về một giá trịINVALID_ARGUMENT
lỗi.pageToken
: Mã thông báo trang, nhận được từ một lệnh gọi sự kiện không gian danh sách trước đó. Hãy cung cấp mã thông báo này để truy xuất trang tiếp theo. Khi phân trang, giá trị bộ lọc phải khớp với lệnh gọi đã cung cấp mã thông báo trang. Truyền giá trị khác nhau có thể dẫn đến kết quả không mong muốn.