Cập nhật gói thành viên của người dùng trong phòng Google Chat

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 API Google Chat để 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 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 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

Cập nhật gói thành viên

Để cập nhật tư cách thành viên của không gian, hãy truyền những thông tin sau vào yêu cầu:

  • 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ủa Membership bằng cách sau:
    • Trường name được đặt thành gói thành viên cần cập nhật, bao gồm mã không gian và mã thành viên.
    • Các trường thành viên cần cập nhật thành các giá trị mới.
  • Truyền updateMask để chỉ định các chương trình thành viên cần cập nhật, bao gồm:
    • role: Vai trò của người dùng trong phòng Chat, xác định các hành động được phép của họ trong không gian đó. Các giá trị có thể sử dụng 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 các cuộc trò chuyện nhóm 1:1 và không đặ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 quyền quản trị để 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 các không gian mà spaceTypeSPACE (không gian được đặt tên).

Giao vai trò người quản lý không gian cho một thành viên thông thường 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 quy trình xác thực người dùng để biến một thành viên thường xuyên của không gian thành người quản lý không gian bằng cách chỉ định roleROLE_MANAGER:

Node.js

chat/client-libraries/cloud/update-membership-user-cred.js
import {createClientWithUserCredentials} from './authentication-utils.js';

const USER_AUTH_OAUTH_SCOPES = ['https://www.googleapis.com/auth/chat.memberships'];

// This sample shows how to update a membership with user credential
async function main() {
  // Create a client
  const chatClient = await createClientWithUserCredentials(USER_AUTH_OAUTH_SCOPES);

  // Initialize request argument(s)
  const request = {
    membership: {
      // Replace SPACE_NAME and MEMBER_NAME here
      name: 'spaces/SPACE_NAME/members/MEMBER_NAME',
      // Replace ROLE_NAME here with ROLE_MEMBER or ROLE_MANAGER
      role: 'ROLE_NAME'
    },
    updateMask: {
      // The field paths to update.
      paths: ['role']
    }
  };

  // Make the request
  const response = await chatClient.updateMembership(request);

  // Handle the response
  console.log(response);
}

main().catch(console.error);

Để chạy mẫu, 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ức ListSpaces() hoặc từ URL của không gian.
  • MEMBER_NAME: mã nhận dạng trong name của gói thành viên. Bạn có thể lấy mã nhận dạng bằng cách gọi phương thức ListMemberships() hoặc từ nội dung phản hồi được trả về sau khi tạo gói thành viên không đồng bộ bằng Chat API.
  • ROLE_NAME: vai trò mới cập nhật, ROLE_MANAGER.

API Google Chat sẽ cập nhật tư cách thành viên đã chỉ định thành người quản lý không gian và trả về một thực thể của Membership.

Đặt người quản lý không gian làm thành viên thông thường với vai trò người dùng

Ví dụ sau đây gọi API của Chat bằng phương thức xác thực người dùng để mời người quản lý không gian trở 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

chat/client-libraries/cloud/update-membership-user-cred.js
import {createClientWithUserCredentials} from './authentication-utils.js';

const USER_AUTH_OAUTH_SCOPES = ['https://www.googleapis.com/auth/chat.memberships'];

// This sample shows how to update a membership with user credential
async function main() {
  // Create a client
  const chatClient = await createClientWithUserCredentials(USER_AUTH_OAUTH_SCOPES);

  // Initialize request argument(s)
  const request = {
    membership: {
      // Replace SPACE_NAME and MEMBER_NAME here
      name: 'spaces/SPACE_NAME/members/MEMBER_NAME',
      // Replace ROLE_NAME here with ROLE_MEMBER or ROLE_MANAGER
      role: 'ROLE_NAME'
    },
    updateMask: {
      // The field paths to update.
      paths: ['role']
    }
  };

  // Make the request
  const response = await chatClient.updateMembership(request);

  // Handle the response
  console.log(response);
}

main().catch(console.error);

Để chạy mẫu, hãy thay thế đoạn mã 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ức ListSpaces() hoặc từ URL của không gian.
  • MEMBER_NAME: mã nhận dạng trong name của gói thành viên. Bạn có thể lấy mã nhận dạng bằng cách gọi phương thức ListMemberships() hoặc từ nội dung phản hồi được trả về sau khi tạo một gói thành viên không đồng bộ bằng API Chat.
  • ROLE_NAME: vai trò đã cập nhật, ROLE_MEMBER.

API Google Chat sẽ cập nhật tư cách thành viên đã chỉ định thành người quản lý không gian và trả về một thực thể của Membership.

Giao vai trò người quản lý không gian cho thành viên thường xuyên của không gian dưới dạng ứng dụng Chat

Việc xác thực ứng dụng yêu cầu quản trị viên phê duyệt một lần.

Tạo một khoá API

Để gọi 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 xem trước không công khai dành 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 khoá API.

Để tạo Khoá API, hãy mở dự án Google Cloud của ứng dụng rồi làm như sau:

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

    Chuyển đến phần Thông tin xác thực

  2. Nhấp vào Tạo thông tin xác thực > Khoá API.
  3. 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 các chế độ cài đặt nâng cao và hạn chế 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 một tập lệnh để gọi API Chat

Ví dụ sau đây gọi API của Chat bằng tính năng xác thực ứng dụng để chỉ định một thành viên thông thường trong không gian làm người quản lý không gian bằng cách chỉ định role làm ROLE_MANAGER trong body nhằm chỉ định các thuộc tính mới cập nhật của thành viên:

Python

  1. Trong thư mục đang hoạt động, hãy tạo một tệp có tên chat_membership_update_to_manager_app.py.
  2. Đưa 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, 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().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()
    
  3. 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ức spaces.list trong API Chat hoặc từ URL của không gian.

    • MEMBERSHIP: tên gói thành viên mà bạn có thể lấy từ phương thức spaces.members.list trong API Chat.

  4. Trong thư mục đang hoạt động, hãy tạo bản dựng và chạy mẫu:

    python3 chat_membership_update_to_manager_app.py

Chỉ định người quản lý không gian làm thành viên thường xuyên dưới 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.

Tạo một khoá API

Để gọi 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 xem trước không công khai dành 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 khoá API.

Để tạo Khoá API, hãy mở dự án Google Cloud của ứng dụng rồi làm như sau:

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

    Chuyển đến phần Thông tin xác thực

  2. Nhấp vào Tạo thông tin xác thực > Khoá API.
  3. 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 các chế độ cài đặt nâng cao và hạn chế 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 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 quy trình xác thực ứng dụng để biến người quản lý không gian thành thành viên không gian thông thường bằng cách chỉ định roleROLE_MEMBER trong body chỉ định các thuộc tính thành viên đã cập nhật:

Python

  1. Trong thư mục đang hoạt động, hãy tạo một tệp có tên chat_membership_update_to_member_app.py.
  2. Đưa 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, 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().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()
    
  3. 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ức spaces.list trong Chat API hoặc từ URL của không gian.

    • MEMBERSHIP: tên gói thành viên mà bạn có thể lấy từ phương thức spaces.members.list trong API Chat.

  4. Trong thư mục đang 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 gói thành viên khi 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 thành viên cho mọi không gian trong tổ chức dùng 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:

Để 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.