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ê các thành viên trong một không gian dưới dạng danh sách thành viên có thể phân trang và có thể lọc trong một không gian. Chế độ xác thực ứng dụng của trang thông tin liệt kê tư cách thành viên trong các không gian mà ứng dụng Chat có quyền truy cập, nhưng không bao gồm tư cách thành viên trong ứng dụng Chat, kể cả không gian của ứng dụng Chat. Trạng thái thành viên của trang thông tin có phần Xác thực người dùng liệt kê thành viên trong những không gian mà người dùng đã xác thực có quyền truy cập.
Tài nguyên Membership
cho biết việc người dùng hoặc ứng dụng Google Chat được mời tham gia, tham gia một phần hay vắng mặt trong một 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
Các thư viện ứng dụng mới nhất của Google dành cho Python. Để cài đặt hoặc cập nhật các thành phần này, hãy chạy lệnh sau trong giao diện dòng lệnh:
pip3 install --upgrade google-api-python-client google-auth-oauthlib google-auth
- Một dự án trên Google Cloud đã bật và định cấu hình API Google Chat. Để biết các bước, hãy xem bài viết Tạo ứng dụng Google Chat.
Đã định cấu hình quá trình uỷ quyền cho ứng dụng Chat. Gói thành viên của trang thông tin hỗ trợ cả hai phương thức xác thực sau:
- Xác thực người dùng bằng phạm vi uỷ quyền
chat.memberships.readonly
hoặcchat.memberships
. - Xác thực ứng dụng bằng phạm vi uỷ quyền
chat.bot
.
- Xác thực người dùng bằng phạm vi uỷ quyền
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 truyền nội dung sau vào yêu cầu của bạn:
- Với tính năng xác thực người dùng, hãy chỉ định phạm vi uỷ quyền
chat.memberships.readonly
hoặcchat.memberships
. - Gọi phương thức
list
trên tài nguyênmembership
. - Để liệt kê các nhóm trên Google Groups, hãy đặt tham số truy vấn
showGroups
thànhtrue
.
Ví dụ sau liệt kê nhóm Google, người và thành viên trong ứng dụng mà người dùng đã xác thực nhìn thấy.
Python
- 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
. Đư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()
Trong đoạn mã, hãy thay thế
SPACE
bằng tên không gian mà bạn có thể lấy từ phương thứcspaces.list
trong API Chat 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_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ới tính năng xác thực ứng dụng, hãy chỉ định phạm vi uỷ quyền
chat.bot
. - Gọi phương thức
list
trên tài nguyênmember
. - Để liệt kê các nhóm trên Google Groups, hãy đặt tham số truy vấn
showGroups
thànhtrue
.
Ví dụ sau đây liệt kê các thành viên của không gian là người (không phải người quản lý không gian) mà ứng dụng Chat có thể nhìn thấy:
Python
- 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
. Đư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)
Trong đoạn mã, hãy thay thế
SPACE
bằng tên không gian mà bạn có thể lấy từ phương thứcspaces.list
trong API Chat 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_member_list_app.py
API Google Chat trả về danh sách thành viên không gian của con người (ngoại trừ người quản lý không gian) từ không gian được chỉ định.
Tuỳ chỉnh chế độ phân trang hoặc lọc danh sách
Để liệt kê tư cách thành viên, hãy chuyển các tham số truy vấn sau đây để tuỳ chỉnh cách phân trang hoặc lọc tư cá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ụ có thể trả về ít hơn giá trị này. Nếu không chỉ định, hệ thống sẽ trả về tối đa 100 dấu cách. Giá trị tối đa là 1.000; các giá trị lớn hơn 1.000 sẽ 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. Việc chuyển một giá trị khác có thể dẫn đến kết quả không mong muốn.filter
: Bộ lọc truy vấn. Yêu cầu 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ứcspaces.members.list
.
Chủ đề có liên quan
- Xem thông tin chi tiết về gói thành viên của một người dùng hoặc ứng dụng Chat.
- Mời hoặc thêm người dùng hay ứng dụng trong Chat vào không gian.
- Cập nhật gói thành viên của người dùng trong phòng Google Chat.
- Xoá người dùng hoặc ứng dụng trong Chat khỏi không gian.