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 update() phương thức 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 chủ sở hữu 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 một người dùng thực hoặc ứng dụng Google Chat có được mời, có tham gia hay không tham gia vào một không gian.

Điều kiện tiên quyết

Node.js

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

Để cập nhật gói thành viên của không gian, hãy truyền các thông tin sau trong yêu cầu:

  • Chỉ định phạm vi uỷ quyền:
    • Khi xác thực người dùng, hãy chỉ định phạm vi uỷ quyền chat.memberships.
    • Khi 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 gói thành viên bằng cách xác thực ứng dụng, bạn chỉ có thể cập nhật gói thành viên trong các không gian do ứng dụng Chat tạo. Phương thức xác thực ứng dụng yêu cầu quản trị viên phê duyệt một lần .
  • Gọi phương thức UpdateMembership().
  • Truyền membership dưới dạng một thực thể của Membership với các thông tin 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ã không gian và mã thành viên.
    • Các trường tư cách thành viên cần cập nhật được đặt thành giá trị mới.
  • Truyền updateMask để chỉ định các khía cạnh của tư cách thành viên cần cập nhật, bao gồm những thông tin sau:
    • role: Vai trò của người dùng trong không gian Chat, xác định các hành động được phép của họ trong không gian. Để biết giải thích chi tiết về quyền, hãy xem MembershipRole trong tài liệu tham khảo API Chat. Các giá trị có thể sử dụng là:
      • ROLE_MEMBER: Thành viên của không gian. Trong giao diện người dùng Chat, vai trò này được gọi là Thành viên.
      • ROLE_ASSISTANT_MANAGER: Người quản lý không gian. Trong giao diện người dùng Chat, vai trò này được gọi là Người quản lý.
      • ROLE_MANAGER: Chủ sở hữu không gian. Trong giao diện người dùng Chat, vai trò này được gọi là Chủ sở hữu.

Thay đổi thành viên thành chủ sở hữu (xác thực người dùng)

Ví dụ sau đây gọi API Chat bằng cách sử dụng xác thực người dùng để biến một thành viên không gian thông thường thành chủ sở hữu 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);
}

await main();

Để chạy mẫu, hãy thay thế các thông tin 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 ListSpaces() phương thức hoặc từ URL của không gian.
  • MEMBER_NAME: mã nhận dạng từ gói thành viên name. 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 API Chat.
  • ROLE_NAME: vai trò đã cập nhật, ROLE_MANAGER. Bạn có thể đặt giá trị này thành bất kỳ giá trị nào của MembershipRole. Ví dụ: để biến thành viên thông thường thành người quản lý không gian, hãy thay đổi ROLE_NAME thành ROLE_ASSISTANT_MANAGER.

API Google Chat cập nhật gói thành viên được chỉ định thành chủ sở hữu không gian và trả về một thực thể của Membership.

Thay đổi chủ sở hữu thành thành viên (xác thực người dùng)

Ví dụ sau đây gọi API Chat bằng cách xác thực người dùng để biến chủ sở hữu không gian thành thành viên không gian thông thường bằng cách chỉ định roleROLE_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);
}

await main();

Để chạy mẫu, hãy thay thế các thông tin 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 ListSpaces() phương thức hoặc từ URL của không gian.
  • MEMBER_NAME: mã nhận dạng từ gói thành viên name. 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 API Chat.
  • ROLE_NAME: vai trò đã cập nhật, ROLE_MEMBER.

API Google Chat cập nhật gói thành viên được chỉ định thành chủ sở hữu không gian và trả về một thực thể của Membership.

Thay đổi thành viên thành chủ sở hữu (xác thực ứng dụng Chat)

Phương thức xác thực ứng dụng yêu cầu quản trị viên phê duyệt một lầ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 xác thực ứng dụng để biến một thành viên không gian thông thường thành chủ sở hữu không gian bằng cách chỉ định roleROLE_MANAGER trong body chỉ định các thuộc tính gói thành viên đã cập nhật:

Python

  1. Trong thư mục làm việc, hãy tạo một tệp có tên là chat_membership_update_to_owner_app.py.
  2. Đưa mã sau vào chat_membership_update_to_owner_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 owner.
        '''
    
        # 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',
    
            # Replace ROLE with a MembershipRole value.
            # Obtain the MembershipRole values from the membership of Chat API.
            body={'role': 'ROLE'}
    
          ).execute()
    
        # Prints details about the updated membership.
        print(result)
    
    if __name__ == '__main__':
        main()
    
  3. Trong mã, hãy thay thế các thông tin sau:

    • SPACE: tên không gian mà bạn có thể lấy từ spaces.list phương thức 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ừ spaces.members.list phương thức trong API Chat.

    • ROLE: vai trò đã cập nhật, ROLE_MANAGER. Bạn có thể đặt giá trị này thành bất kỳ giá trị nào của MembershipRole. Ví dụ: để biến thành viên thông thường thành người quản lý không gian, hãy thay đổi ROLE thành ROLE_ASSISTANT_MANAGER.

  4. Trong thư mục làm việc, hãy tạo và chạy mẫu:

    python3 chat_membership_update_to_owner_app.py

Thay đổi chủ sở hữu thành thành viên (xác thực ứng dụng Chat)

Phương thức xác thực ứng dụng yêu cầu quản trị viên phê duyệt một lầ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 chủ sở hữu 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 gói thành viên đã cập nhật:

Python

  1. 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.
  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 owner to change
        it to a regular member.
        '''
    
        # 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()
    
  3. Trong mã, hãy thay thế các thông tin sau:

  4. 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 gói 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 gói thành viên cho 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:

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