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 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

  • 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
    

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ê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à 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 xem 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. 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

  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ã, 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ức spaces.list trong API Chat hoặc qua URL của một không gian.
  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
    

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ê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ừ 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.