Liệt kê sự kiện trong một phòng Google Chat

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

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ên SpaceEvent.
  • 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ường eventType.
  • 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

  1. 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.
  2. Đư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)
    
  3. Trong mã, hãy thay thế các nội dung sau:

  4. 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ên SpaceEvent 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.