Hướng dẫn này giải thích cách sử dụng phương thức delete()
trên tài nguyên Membership
của API Google Chat để xoá thành viên khỏi một không gian, còn gọi là xoá gói thành viên. Bạn không thể xoá người quản lý không gian nếu họ là người quản lý duy nhất trong không gian. Chỉ định một người dùng khác làm người quản lý không gian trước khi xoá các gói thành viên này.
Nếu là quản trị viên Google Workspace, bạn có thể xoá người dùng, Google Groups hoặc ứng dụng Chat khỏi 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 hoặc ứng dụng Google Chat có được mời tham gia, có tham gia hay không tham gia không gian hay không.
Điều kiện tiên quyết
Node.js
- Tài khoản Google Workspace dành cho doanh nghiệp hoặc doanh nghiệp lớn có quyền truy cập vào Google Chat.
- Thiết lập môi trường:
- Tạo dự án trên Google Cloud.
- Định cấu hình màn hình xin phép bằng OAuth.
- Bật và định cấu hình API Google Chat bằng tên, biểu tượng và nội dung mô tả cho ứng dụng Chat.
- Cài đặt Thư viện ứng dụng đám mây Node.js.
- Tạo thông tin xác thực quyền truy cập dựa trên cách bạn muốn xác thực trong yêu cầu API Google Chat:
- Để xác thực dưới dạng người dùng Chat, hãy tạo thông tin xác thực mã ứng dụng khách OAuth và lưu thông tin xác thực dưới dạng tệp JSON có tên
client_secrets.json
vào thư mục cục bộ. - Để xác thực dưới dạng ứng dụng Chat, hãy tạo thông tin xác thực tài khoản dịch vụ và lưu thông tin xác thực dưới dạng tệp JSON có tên
credentials.json
.
- Để xác thực dưới dạng người dùng Chat, hãy tạo thông tin xác thực mã ứng dụng khách OAuth và lưu thông tin xác thực dưới dạng tệp JSON có tên
- Chọn phạm vi uỷ quyền dựa trên việc bạn muốn xác thực dưới dạng người dùng hay ứng dụng Chat.
- Một phòng Google Chat. Để tạo không gian bằng API Google Chat, hãy xem phần Tạo không gian. Để tạo một kênh trong Chat, hãy truy cập vào tài liệu trong Trung tâm trợ giúp.
Xoá thành viên khỏi không gian với tư cách là người dùng
Để xoá một người dùng, Google Group hoặc ứng dụng Chat khỏi một không gian có quy trình xác thực người dùng, hãy truyền những thông tin sau vào yêu cầu của bạn:
- Chỉ định phạm vi uỷ quyền
chat.memberships
. Người dùng uỷ quyền phải có quyền xoá người dùng hoặc Google Groups khỏi không gian. Để xoá một ứng dụng Chat, hãy chỉ định phạm vi uỷ quyềnchat.memberships.app
(các ứng dụng chỉ có thể xoá tư cách thành viên của chính ứng dụng đó chứ không phải của các ứng dụng khác). 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. - Gọi phương thức
DeleteMembership()
. - Truyền
name
của gói thành viên cần xoá. Nếu quyền thành viên thuộc về người quản lý không gian duy nhất trong một không gian, hãy chỉ định người dùng khác làm người quản lý không gian trước khi xoá quyền thành viên này.
Sau đây là cách xoá gói thành viên bằng tính năng xác thực người dùng:
Node.js
Để chạy mẫu này, hãy thay thế 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()
.
Nếu thành công, phần nội dung phản hồi sẽ trả về gói thành viên bằng 'state': 'NOT_A_MEMBER'
, cho biết rằng thành viên đó không còn ở trong không gian nữa.
{ "name": "spaces/SPACE_NAME/members/MEMBER_NAME", "state": "NOT_A_MEMBER" }
Xoá thành viên khỏi không gian khi dùng ứng dụng Chat
Quy trình xác thực ứng dụng yêu cầu quyền phê duyệt của quản trị viên một lần.
Để xoá người dùng, Google Group hoặc ứng dụng Chat khỏi một không gian có tính năng xác thực ứng dụng, hãy truyền những thông tin sau vào yêu cầu của bạn:
- Chỉ định phạm vi uỷ quyền
chat.app.memberships
. Tính năng xoá tư cách thành viên của người quản lý không gian chỉ được hỗ trợ trong các không gian do ứng dụng Chat tạo. - Gọi phương thức
delete
trên tài nguyênmembership
. - Truyền
name
của gói thành viên cần xoá. Nếu quyền thành viên thuộc về người quản lý không gian duy nhất trong một không gian, hãy chỉ định người dùng khác làm người quản lý không gian trước khi xoá quyền thành viên này.
Tạo một khoá API
Để gọi một phương thức API Bản dùng thử cho nhà phát triển, bạn phải sử dụng phiên bản bản dùng thử không công khai cho nhà phát triển của tài liệu khám phá API. Để xác thực yêu cầu, bạn phải truyền một khoá API.
Để tạo Khoá API, hãy mở dự án Google Cloud của ứng dụng rồi làm như sau:
- Trong bảng điều khiển Google Cloud, hãy chuyển đến Trình đơn > API và dịch vụ > Thông tin xác thực.
- Nhấp vào Tạo thông tin xác thực > Khoá API.
- Khoá API mới của bạn sẽ xuất hiện.
- Nhấp vào biểu tượng Sao chép để sao chép khoá API để sử dụng trong mã của ứng dụng. Bạn cũng có thể tìm thấy khoá API trong phần "Khoá API" của thông tin xác thực dự án.
- Nhấp vào Hạn chế khoá để cập nhật chế độ cài đặt nâng cao và giới hạn việc sử dụng khoá API. Để biết thêm thông tin, hãy xem bài viết Áp dụng các quy tắc hạn chế đối với khoá API.
Viết tập lệnh gọi API Chat
Sau đây là cách xoá gói thành viên bằng tính năng xác thực ứng dụng:
Python
- Trong thư mục đang hoạt động, hãy tạo một tệp có tên
chat_membership_delete_app.py
. Thêm mã sau vào
chat_membership_delete_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 deletes the specified membership. ''' # 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, discoveryServiceUrl='https://chat.googleapis.com/$discovery/rest?version=v1&labels=DEVELOPER_PREVIEW&key=API_KEY') # Use the service endpoint to call Chat API. result = chat.spaces().members().delete( # The membership to delete. # # Replace SPACE with a space name. # Obtain the space name from the spaces resource of Chat API, # or from a space's URL. # # Replace MEMBER with a membership name. # Obtain the membership name from the memberships resource of # Chat API. To delete a Chat app's membership, replace MEMBER # with app; an alias for the app calling the API. name='spaces/SPACE/members/MEMBER' ).execute() # Print Chat API's response in your command line interface. # When deleting a membership, the response body is empty. print(result) if __name__ == '__main__': main()
Trong mã, hãy thay thế các nội dung sau:
API_KEY
: khoá API mà bạn đã tạo để tạo điểm cuối dịch vụ cho Chat API.SPACE
: tên không gian mà bạn có thể lấy từ phương thứcspaces.list
trong Chat API hoặc từ URL của không gian.MEMBER
: tên thành viên mà bạn có thể lấy từ phương thứcspaces.members.list
trong API Chat. Để xoá gói thành viên của một ứng dụng, hãy thay thếMEMBER
bằngapp
.
Trong thư mục đang hoạt động, hãy tạo bản dựng và chạy mẫu:
python3 chat_membership_delete_app.py
Nếu thành công, phần nội dung phản hồi sẽ trả về gói thành viên bằng 'state': 'NOT_A_MEMBER'
, cho biết rằng thành viên đó không còn ở trong không gian nữa.
{ "name": "spaces/SPACE/members/MEMBER", "state": "NOT_A_MEMBER" }
Các điểm hạn chế và điều cần cân nhắc
- Với tính năng xác thực ứng dụng, ứng dụng Chat có thể xoá người dùng nhưng Google Groups thì không.
Xoá người dùng hoặc Google Groups khỏi không gian 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 DeleteMembership()
để xoá người dùng, Google Groups hoặc ứng dụng Chat khỏi bất kỳ không gian nào 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 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 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 Google Chat với tư cách là quản trị viên Google Workspace.
Chủ đề có liên quan
- Nhận thông tin chi tiết về gói thành viên của người dùng hoặc ứng dụng Chat.
- Liệt kê thành viên trong không gian.
- Cập nhật trạng thái thành viên của người dùng trong một không gian trên Google Chat.
- Mời hoặc thêm người dùng hoặc ứng dụng Chat vào không gian.