Liệt kê thành viên trong không gian

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 membership của API Google Chat để liệt kê thành viên trong một không gian dưới dạng danh sách có thể lọc và phân trang thành viên trong một không gian. Đăng ký thành viên của trang thông tin với xác thực ứng dụng liệt kê thành viên trong những không gian mà ứng dụng Chat có quyền sử dụng, nhưng không bao gồm tư cách thành viên của ứng dụng Chat, bao gồm của chính nó. Đăng ký thành viên của trang thông tin với Xác thực người dùng liệt kê thành viên trong không gian mà người dùng đã xác thực có quyền truy cập.

Chiến lược phát hành đĩa đơn Tài nguyên Membership cho biết liệu người dùng thực hoặc ứng dụng Google Chat có được mời tham gia hay không, một phần hoặc không có trong 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ê thành viên trong một không gian có xác thực người dùng

Để liệt kê người dùng, nhóm trên Google Groups và ứng dụng Chat trong một không gian mà người dùng đã xác thực có quyền truy cập, hãy chuyển những thông tin sau vào yêu cầu của bạn:

Ví dụ sau đây liệt kê nhóm Google, người và thành viên trong ứng dụng hiển thị với người dùng đã xác thực.

Python

  1. Trong thư mục đang làm việc, hãy tạo một tệp có tên chat_member_list_user.py.
  2. Đưa mã sau vào chat_member_list_user.py:

    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"]
    
    def main():
        '''
        Authenticates with Chat API via user credentials,
        then lists Google Group, human, and app members in a specified space.
        '''
    
        # 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().members().list(
    
            # The space for which to list memberships.
            parent = 'spaces/SPACE',
    
            # Set this parameter to list Google Groups.
            showGroups = 'true'
    
        ).execute()
    
        # Prints the list of memberships.
        print(result)
    
    if __name__ == '__main__':
        main()
    
  3. Trong mã, thay thế SPACE bằng 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_member_list_user.py
    

API Google Chat trả về danh sách các thành viên trong Nhóm Google, người và ứng dụng từ không gian được chỉ định.

Liệt kê thành viên trong một không gian có xác thực ứng dụng

Để liệt kê người dùng và ứng dụng Chat trong một không gian mà ứng dụng đã xác thực có quyền truy cập, hãy truyền nội dung sau vào yêu cầu của bạn:

Ví dụ sau đây liệt kê các thành viên trong không gian là người (không phải người quản lý không gian) mà người này có thể nhìn thấy ứng dụng Chat:

Python

  1. Trong thư mục đang làm việc, hãy tạo một tệp có tên chat_member_list_app.py.
  2. Đưa mã sau vào chat_member_list_app.py:

    from google.oauth2 import service_account
    from apiclient.discovery import build
    
    # Specify required scopes.
    SCOPES = ['https://www.googleapis.com/auth/chat.bot']
    
    # Specify service account details.
    CREDENTIALS = (
        service_account.Credentials.from_service_account_file('credentials.json')
        .with_scopes(SCOPES)
    )
    
    # Build the URI and authenticate with the service account.
    chat = build('chat', 'v1', credentials=CREDENTIALS)
    
    # Use the service endpoint to call Chat API.
    result = chat.spaces().members().list(
    
            # The space for which to list memberships.
            parent = 'spaces/SPACE',
    
            # An optional filter that returns only human space members.
            filter = 'member.type = "HUMAN" AND role = "ROLE_MEMBER"'
    
        ).execute()
    
    print(result)
    
  3. Trong mã, thay thế SPACE bằng 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_member_list_app.py
    

API Google Chat trả về danh sách thành viên của không gian (không bao gồm không gian) người quản lý) khỏi không gian được chỉ định.

Tuỳ chỉnh chế độ phân trang hoặc lọc danh sách

Để liệt kê thành viên, hãy chuyển các tham số truy vấn sau đến tuỳ chỉnh cách phân trang hoặc lọc danh sách thành viên trong danh sách:

  • pageSize: Số lượng gói hội viên tối đa cần trả lại. Dịch vụ này có thể sẽ trả về ít hơn giá trị này. Nếu bạn không chỉ định thì chỉ được có tối đa 100 dấu cách đã trả lại. Giá trị tối đa là 1.000; các giá trị lớn hơn 1.000 sẽ được tự động đã thay đổi thành 1.000.
  • pageToken: Mã thông báo trang, nhận được từ một lệnh gọi 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.
  • filter: Bộ lọc truy vấn. Cần xác thực người dùng. Để biết thông tin chi tiết được hỗ trợ về truy vấn, hãy xem Phương thức spaces.members.list.