Hướng dẫn này giải thích cách sử dụng phương thức update()
trên tài nguyên Membership
của Google Chat API để thay đổi các thuộc tính về tư cách thành viên, chẳng hạn như thay đổi thành viên không gian thành người quản lý không gian hoặc thay đổi người quản lý không gian thành thành viên không gian.
Nếu là quản trị viên Google Workspace, bạn có thể gọi phương thức update()
để cập nhật tư cách thành viên của bất kỳ không gian nào trong tổ chức Google Workspace của mình.
Tài nguyên Membership
cho biết liệu người dùng là con người hay ứng dụng Google Chat được mời, có tham gia hay không tham gia một không gian.
Điều kiện tiên quyết
Node.js
- Tài khoản Google Workspace Business hoặc Enterprise có quyền truy cập vào Google Chat.
- Thiết lập môi trường:
- Tạo một dự án trên Google Cloud.
- Định cấu hình màn hình đồng ý OAuth.
- Bật và định cấu hình Google Chat API bằng tên, biểu tượng và nội dung mô tả cho ứng dụng Chat của bạn.
- Cài đặt Thư viện ứng dụng Cloud Node.js.
- Tạo thông tin đăng nhập để truy cập dựa trên cách bạn muốn xác thực trong yêu cầu Google Chat API:
- Để xác thực với tư cách là người dùng Chat, hãy tạo thông tin xác thực mã ứng dụng OAuth và lưu thông tin xác thực dưới dạng tệp JSON có tên là
credentials.json
vào thư mục cục bộ của bạn. - Để xác thực dưới dạng ứng dụng Chat, hãy tạo thông tin đăng nhập tài khoản dịch vụ và lưu thông tin đăng nhập dưới dạng tệp JSON có tên là
credentials.json
.
- Để xác thực với tư cách là người dùng Chat, hãy tạo thông tin xác thực mã ứng dụng OAuth và lưu thông tin xác thực dưới dạng tệp JSON có tên là
- Chọn phạm vi uỷ quyền dựa trên việc bạn muốn xác thực với tư cách là người dùng hay ứng dụng Chat.
Cập nhật gói thành viên
Để cập nhật gói thành viên của một không gian, hãy truyền các thông tin sau trong yêu cầu của bạn:
- Chỉ định một phạm vi uỷ quyền:
- Với xác thực người dùng, hãy chỉ định phạm vi uỷ quyền
chat.memberships
. - Với xác thực ứng dụng, hãy chỉ định phạm vi uỷ quyền
chat.app.memberships
. Khi cập nhật một thành viên bằng tính năng xác thực ứng dụng, bạn chỉ có thể cập nhật thành viên trong các không gian do ứng dụng Chat tạo. Để xác thực ứng dụng, bạn cần có sự phê duyệt một lần của quản trị viên.
- Với xác thực người dùng, hãy chỉ định phạm vi uỷ quyền
- Gọi phương thức
UpdateMembership()
. - Truyền
membership
dưới dạng một thực thể củaMembership
với nội dung sau:- Trường
name
được đặt thành tư cách thành viên cần cập nhật, bao gồm mã nhận dạng không gian và mã nhận dạng thành viên. - Các trường thành viên cần cập nhật được đặt thành giá trị mới.
- Trường
- Truyền
updateMask
để chỉ định các khía cạnh của gói thành viên cần cập nhật, bao gồm những khía cạnh sau:role
: Vai trò của người dùng trong một không gian trên Chat, xác định những hành động được phép của họ trong không gian đó. Các giá trị có thể là:ROLE_MEMBER
: Một thành viên của không gian. Người dùng có các quyền cơ bản, chẳng hạn như gửi tin nhắn đến không gian. Trong cuộc trò chuyện 1:1 và cuộc trò chuyện nhóm chưa đặt tên, mọi người đều có vai trò này.ROLE_MANAGER
: Người quản lý không gian. Người dùng có tất cả các quyền cơ bản cộng với các quyền quản trị cho phép họ quản lý không gian, chẳng hạn như thêm hoặc xoá thành viên. Chỉ được hỗ trợ trong những không gian cóspaceType
làSPACE
(không gian có tên).
Giao vai trò người quản lý không gian cho thành viên thông thường của không gian với tư cách là người dùng
Ví dụ sau đây gọi Chat API bằng cách sử dụng xác thực người dùng để biến một thành viên thông thường của không gian thành người quản lý không gian bằng cách chỉ định role
làm ROLE_MANAGER
:
Node.js
Để chạy mẫu, hãy thay thế những nội dung sau:
SPACE_NAME
: mã nhận dạng từname
của không gian. Bạn có thể lấy mã nhận dạng bằng cách gọi phương thứcListSpaces()
hoặc từ URL của không gian.MEMBER_NAME
: mã nhận dạng từname
của thành viên. Bạn có thể lấy mã nhận dạng bằng cách gọi phương thứcListMemberships()
hoặc từ nội dung phản hồi được trả về sau khi tạo một thành viên không đồng bộ bằng Chat API.ROLE_NAME
: vai trò mới cập nhật,ROLE_MANAGER
.
Google Chat API cập nhật tư cách thành viên được chỉ định thành người quản lý không gian và trả về một phiên bản của Membership
.
Chuyển người quản lý không gian thành thành viên thông thường
Ví dụ sau đây gọi Chat API bằng cách sử dụng xác thực người dùng để biến người quản lý không gian thành thành viên thông thường của không gian bằng cách chỉ định role
làm ROLE_MEMBER
:
Node.js
Để chạy mẫu, hãy thay thế những nội dung sau:
SPACE_NAME
: mã nhận dạng từname
của không gian. Bạn có thể lấy mã nhận dạng bằng cách gọi phương thứcListSpaces()
hoặc từ URL của không gian.MEMBER_NAME
: mã nhận dạng từname
của thành viên. Bạn có thể lấy mã nhận dạng bằng cách gọi phương thứcListMemberships()
hoặc từ nội dung phản hồi được trả về sau khi tạo một thành viên không đồng bộ bằng Chat API.ROLE_NAME
: vai trò mới cập nhật,ROLE_MEMBER
.
Google Chat API cập nhật tư cách thành viên được chỉ định thành người quản lý không gian và trả về một phiên bản của Membership
.
Giao vai trò người quản lý không gian cho thành viên thông thường của không gian dưới dạng một ứng dụng Chat
Để xác thực ứng dụng, bạn cần có sự phê duyệt một lần của quản trị viên.
Viết một tập lệnh gọi API Chat
Ví dụ sau đây gọi Chat API bằng cách sử dụng xác thực ứng dụng để biến một thành viên thông thường của không gian thành người quản lý không gian bằng cách chỉ định role
làm ROLE_MANAGER
trong body
chỉ định các thuộc tính thành viên đã cập nhật:
Python
- Trong thư mục làm việc, hãy tạo một tệp có tên là
chat_membership_update_to_manager_app.py
. Thêm mã sau vào
chat_membership_update_to_manager_app.py
:from google.oauth2 import service_account from apiclient.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.app.memberships"] def main(): ''' Authenticates with Chat API using app authentication, then updates a specified space member to change it from a regular member to a space manager. ''' # Specify service account details. creds = ( service_account.Credentials.from_service_account_file('credentials.json') .with_scopes(SCOPES) ) # 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().patch( # The membership to update, and the updated role. # # Replace SPACE with a space name. # Obtain the space name from the spaces resource of Chat API, # or from a space's URL. # # Replace MEMBERSHIP with a membership name. # Obtain the membership name from the membership of Chat API. name='spaces/SPACE/members/MEMBERSHIP', updateMask='role', body={'role': 'ROLE_MANAGER'} ).execute() # Prints details about the updated membership. print(result) if __name__ == '__main__': main()
Trong mã, hãy thay thế những nội dung sau:
SPACE
: tên của một không gian. Bạn có thể lấy tên này từ phương thứcspaces.list
trong Chat API hoặc từ URL của một không gian.MEMBERSHIP
: tên thành viên mà bạn có thể lấy từ phương thứcspaces.members.list
trong Chat API.
Trong thư mục làm việc, hãy tạo và chạy mẫu:
python3 chat_membership_update_to_manager_app.py
Giao vai trò thành viên thông thường cho người quản lý không gian dưới dạng một ứng dụng Chat
Để xác thực ứng dụng, bạn cần có sự phê duyệt một lần của quản trị viên.
Viết một tập lệnh gọi API Chat
Ví dụ sau đây gọi API Chat bằng cách sử dụng xác thực ứng dụng để biến người quản lý không gian thành thành viên thông thường của không gian bằng cách chỉ định role
làm ROLE_MEMBER
trong body
chỉ định các thuộc tính thành viên đã cập nhật:
Python
- Trong thư mục làm việc, hãy tạo một tệp có tên là
chat_membership_update_to_member_app.py
. Thêm mã sau vào
chat_membership_update_to_member_app.py
:from google.oauth2 import service_account from apiclient.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.app.memberships"] def main(): ''' Authenticates with Chat API via user credentials, then updates a specified space member to change it from a regular member to a space manager. ''' # Specify service account details. creds = ( service_account.Credentials.from_service_account_file('credentials.json') .with_scopes(SCOPES) ) # 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().patch( # The membership to update, and the updated role. # # Replace SPACE with a space name. # Obtain the space name from the spaces resource of Chat API, # or from a space's URL. # # Replace MEMBERSHIP with a membership name. # Obtain the membership name from the membership of Chat API. name='spaces/SPACE/members/MEMBERSHIP', updateMask='role', body={'role': 'ROLE_MEMBER'} ).execute() # Prints details about the updated membership. print(result) if __name__ == '__main__': main()
Trong mã, hãy thay thế những nội dung sau:
SPACE
: tên của một không gian. Bạn có thể lấy tên này từ phương thứcspaces.list
trong Chat API hoặc từ URL của một không gian.MEMBERSHIP
: tên thành viên mà bạn có thể lấy từ phương thứcspaces.members.list
trong Chat API.
Trong thư mục làm việc, hãy tạo và chạy mẫu:
python3 chat_membership_update_to_member_app.py
Cập nhật thành viên với tư cách là quản trị viên Google Workspace
Nếu là quản trị viên Google Workspace, bạn có thể gọi phương thức update()
để cập nhật tư cách thành viên cho mọi không gian trong tổ chức Google Workspace của mình.
Để gọi phương thức này với tư cách là quản trị viên Google Workspace, hãy làm như sau:
- Gọi phương thức bằng cách sử dụng quy trình xác thực người dùng và chỉ định một phạm vi uỷ quyền hỗ trợ việc gọi phương thức bằng đặc quyền quản trị viên.
- Trong yêu cầu, hãy chỉ định tham số truy vấn
useAdminAccess
thànhtrue
.
Để biết thêm thông tin và ví dụ, hãy xem bài viết Quản lý không gian trong Google Chat với tư cách là quản trị viên Google Workspace.
Chủ đề có liên quan
- Mời hoặc thêm người dùng hoặc ứng dụng Google Chat vào một không gian.
- Lấy thông tin chi tiết về tư cách thành viên của người dùng hoặc ứng dụng Chat.
- Liệt kê thành viên trong một không gian.
- Xoá người dùng hoặc ứng dụng Chat khỏi không gian.