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
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ề
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ể đăng sự kiện tối đa 28 ngày trước thời điểm yêu cầu. Máy chủ sẽ trả về các sự kiện 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 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 các 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 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ê các sự kiện trong 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.
- Thiết lập môi trường:
- Tạo 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.
Liệt kê các sự kiện của không gian
Để liệt kê các sự kiện trong không gian từ một phòng Chat, hãy làm như sau:
- Gọi phương thức
list
trên tài nguyê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à 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ườngeventType
. - 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. Tốt nhất là bạn nên 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à thông báo trong một 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ã, hãy 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 Chat API hoặc từ URL của 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
Chat API trả về danh sách các sự kiện tài nguyên SpaceEvent
về gói thành viên và tin nhắn mới.
Tuỳ chỉnh tính năng 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ừ lệnh gọi sự kiện không gian danh sách trước đó. 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.