Mời hoặc thêm người dùng, nhóm trên Google Groups hoặc ứng dụng Google Chat vào một không gian

Hướng dẫn này giải thích cách sử dụng phương thức create trên tài nguyên membership của API Google Chat để mời hoặc thêm người dùng, nhóm trên Google Groups hoặc Ứng dụng Chat đến một không gian còn được gọi là tạo gói thành viên. Khi tạo gói thành viên, nếu thành viên được chỉ định có bạn đã tắt tính năng tự động chấp nhận chính sách, thì họ sẽ được mời và họ phải chấp nhận không gian trước khi tham gia. Nếu không, khi tạo một gói thành viên, thành viên đó sẽ được thêm trực tiếp vào không gian được chỉ định.

Chiến lược phát hành đĩa đơn Tài nguyên Membership cho biết liệu người dùng thực hoặc ứng dụng Google Chat có được mời tham gia hay không, một phần hoặc không có trong không gian.

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

Python

  • Python 3.6 trở lên
  • pip công cụ quản lý gói
  • Các thư viện ứng dụng mới nhất của Google dành cho Python. Cách cài đặt hoặc cập nhật các tính năng này: chạy lệnh sau trong giao diện dòng lệnh:

    pip3 install --upgrade google-api-python-client google-auth-oauthlib
    
  • 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 thực hiện, hãy xem Tạo ứng dụng Google Chat.
  • Đã định cấu hình uỷ quyền cho ứng dụng Chat. Đang tạo cần có gói thành viên Xác thực người dùng có phạm vi uỷ quyền chat.memberships hoặc chat.memberships.app.

Node.js

  • Node.js và npm
  • Các thư viện ứng dụng mới nhất của Google dành cho Node.js. Để cài đặt chúng, hãy chạy sau đây trong giao diện dòng lệnh:

    npm install @google-cloud/local-auth @googleapis/chat
    
  • 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 thực hiện, hãy xem Tạo ứng dụng Google Chat.
  • Đã định cấu hình uỷ quyền cho ứng dụng Chat. Đang tạo cần có gói thành viên Xác thực người dùng có phạm vi uỷ quyền chat.memberships hoặc chat.memberships.app.

Mời hoặc thêm người dùng vào không gian

Để mời hoặc thêm người dùng vào không gian, hãy chuyển thông tin sau vào yêu cầu:

  • Chỉ định phạm vi uỷ quyền chat.memberships.
  • Gọi Phương thức create trên membership tài nguyên.
  • Đặt parent thành tên tài nguyên của không gian để tạo thành viên.
  • Đặt member thành users/{user}, trong đó {user} là người mà bạn muốn tạo gói thành viên cho và là:
    • Mã nhận dạng cho người trong API Mọi người. Ví dụ: nếu API Mọi người người resourceNamepeople/123456789, sau đó đặt membership.member.name đến users/123456789.
    • Mã nhận dạng cho người dùng trong API thư mục.
    • Địa chỉ email của người dùng. Ví dụ: users/222larabrown@gmail.com hoặc users/larabrown@cymbalgroup.com Nếu người dùng sử dụng Tài khoản Google hoặc thuộc một tổ chức Google Workspace khác, bạn phải sử dụng địa chỉ email.

Ví dụ sau đây sẽ thêm một người dùng vào một không gian:

Python

  1. Trong thư mục đang làm việc, hãy tạo một tệp có tên chat_membership_user_create.py.
  2. Đưa mã sau vào chat_membership_user_create.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"]
    
    def main():
        '''
        Authenticates with Chat API via user credentials,
        then adds a user to a Chat space by creating a membership.
        '''
    
        # 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().create(
    
            # The space in which to create a membership.
            parent = 'spaces/SPACE',
    
            # Specify which user the membership is for.
            body = {
              'member': {
                'name':'users/USER',
                'type': 'HUMAN'
              }
            }
    
        ).execute()
    
        # Prints details about the created membership.
        print(result)
    
    if __name__ == '__main__':
        main()
    
  3. Trong mã, thay thế các nội dung sau:

    • 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 qua URL của một không gian.

    • USER: mã nhận dạng người dùng.

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

    python3 chat_membership_user_create.py
    

Node.js

  1. Trong thư mục đang làm việc, hãy tạo một tệp có tên add-user-to-space.js.
  2. Đưa mã sau vào add-user-to-space.js:

    const chat = require('@googleapis/chat');
    const {authenticate} = require('@google-cloud/local-auth');
    
    /**
    * Adds the user to the Chat space.
    * @return {!Promise<!Object>}
    */
    async function addUserToSpace() {
      const scopes = [
        'https://www.googleapis.com/auth/chat.memberships',
      ];
    
      const authClient =
          await authenticate({scopes, keyfilePath: 'client_secrets.json'});
    
      const chatClient = await chat.chat({version: 'v1', auth: authClient});
    
      return await chatClient.spaces.members.create({
        parent: 'spaces/SPACE',
        requestBody: {member: {name: 'users/USER', type: 'HUMAN'}}
      });
    }
    
    addUserToSpace().then(console.log);
    
  3. Trong mã, thay thế các nội dung sau:

    • 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 qua URL của một không gian.

    • USER: mã nhận dạng người dùng.

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

    node add-user-to-space.js
    

API Chat trả về một phiên bản của membership cung cấp thông tin chi tiết về tư cách thành viên của người dùng đã được tạo.

Mời hoặc thêm một nhóm trên Google Groups vào không gian

Để mời hoặc thêm một nhóm trên Google Groups vào một không gian, hãy truyền nội dung sau vào yêu cầu:

  • Chỉ định phạm vi uỷ quyền chat.memberships.
  • Gọi Phương thức create trên membership tài nguyên.
  • Đặt parent thành tên tài nguyên của không gian để tạo thành viên.
  • Thiết lập groupMember thành groups/{group}, trong đó {group} là mã nhóm mà bạn muốn tạo gói thành viên. Bạn có thể truy xuất mã của nhóm bằng cách sử dụng API Cloud Identity. Ví dụ: nếu API Cloud Identity trả về một nhóm có tên groups/123456789, sau đó đặt membership.groupMember.name thành groups/123456789.

Bạn không thể thêm Google Groups vào cuộc trò chuyện nhóm hoặc tin nhắn trực tiếp, mà chỉ có thể vào không gian được đặt tên. Ví dụ sau đây sẽ thêm một nhóm vào không gian được đặt tên:

Python

  1. Trong thư mục đang làm việc, hãy tạo một tệp có tên chat_membership_group_create.py.
  2. Đưa mã sau vào chat_membership_group_create.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"]
    
    def main():
        '''
        Authenticates with Chat API via user credentials,
        then adds a group to a Chat space by creating a membership.
        '''
    
        # 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().create(
    
            # The named space in which to create a membership.
            parent = 'spaces/SPACE',
    
            # Specify which group the membership is for.
            body = {
              'groupMember': {
                'name':'groups/GROUP',
              }
            }
    
        ).execute()
    
        # Prints details about the created membership.
        print(result)
    
    if __name__ == '__main__':
        main()
    
  3. Trong mã, thay thế các nội dung sau:

    • 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 qua URL của một không gian.

    • GROUP: một mã nhóm.

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

    python3 chat_membership_group_create.py
    

Node.js

  1. Trong thư mục đang làm việc, hãy tạo một tệp có tên add-group-to-space.js.
  2. Đưa mã sau vào add-group-to-space.js:

    const chat = require('@googleapis/chat');
    const {authenticate} = require('@google-cloud/local-auth');
    
    /**
    * Adds the group to the Chat space.
    * @return {!Promise<!Object>}
    */
    async function addUserToSpace() {
      const scopes = [
        'https://www.googleapis.com/auth/chat.memberships',
      ];
    
      const authClient =
          await authenticate({scopes, keyfilePath: 'client_secrets.json'});
    
      const chatClient = await chat.chat({version: 'v1', auth: authClient});
    
      return await chatClient.spaces.members.create({
        parent: 'spaces/SPACE',
        requestBody: {groupMember: {name: 'groups/GROUP'}}
      });
    }
    
    addUserToSpace().then(console.log);
    
  3. Trong mã, thay thế các nội dung sau:

    • 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 qua URL của một không gian.

    • GROUP: một mã nhóm.

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

    node add-group-to-space.js
    

API Chat trả về một phiên bản của membership để cung cấp thông tin chi tiết về tư cách thành viên trong nhóm đã được tạo.

Thêm ứng dụng Chat vào một không gian

Một ứng dụng Chat không thể thêm một ứng dụng khác làm thành viên của một ứng dụng . Cách thêm một ứng dụng Chat vào một không gian hoặc tin nhắn trực tiếp giữa hai người dùng, hãy chuyển nội dung sau vào yêu cầu của bạn:

  • Chỉ định phạm vi uỷ quyền chat.memberships.app.
  • Gọi Phương thức create trên tài nguyên membership.
  • Đặt parent thành tên tài nguyên của không gian để tạo thành viên.
  • Đặt member thành users/app; một bí danh đại diện cho ứng dụng gọi API Chat.

Ví dụ sau đây sẽ thêm một ứng dụng Chat vào một không gian:

Python

  1. Trong thư mục đang làm việc, hãy tạo một tệp có tên chat_membership_app_create.py.
  2. Đưa mã sau vào chat_membership_app_create.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.app"]
    
    def main():
        '''
        Authenticates with Chat API via user credentials,
        then adds the Chat app to a Chat 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().create(
    
            # The space in which to create a membership.
            parent = 'spaces/SPACE',
    
            # Set the Chat app as the entity that gets added to the space.
            # 'app' is an alias for the Chat app calling the API.
            body = {
                'member': {
                  'name':'users/app',
                  'type': 'BOT'
                }
            }
    
        ).execute()
    
        # Prints details about the created membership.
        print(result)
    
    if __name__ == '__main__':
        main()
    
  3. Trong mã, thay thế SPACE bằng tên không gian, mà bạn có thể lấy từ Phương thức spaces.list trong API Chat hoặc qua URL của một không gian.

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

    python3 chat_membership_app_create.py
    

Node.js

  1. Trong thư mục đang làm việc, hãy tạo một tệp có tên add-app-to-space.js.
  2. Đưa mã sau vào add-app-to-space.js:

    const chat = require('@googleapis/chat');
    const {authenticate} = require('@google-cloud/local-auth');
    
    /**
    * Adds the app to the Chat space.
    * @return {!Promise<!Object>}
    */
    async function addAppToSpace() {
      const scopes = [
        'https://www.googleapis.com/auth/chat.memberships.app',
      ];
    
      const authClient =
          await authenticate({scopes, keyfilePath: 'client_secrets.json'});
    
      const chatClient = await chat.chat({version: 'v1', auth: authClient});
    
      return await chatClient.spaces.members.create({
        parent: 'spaces/SPACE',
        requestBody: {member: {name: 'users/app', type: 'BOT'}}
      });
    }
    
    addAppToSpace().then(console.log);
    
  3. Trong mã, thay thế SPACE bằng tên không gian, mà bạn có thể lấy từ Phương thức spaces.list trong API Chat hoặc qua URL của một không gian.

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

    node add-app-to-space.js
    

API Chat trả về một phiên bản của membership nêu chi tiết gói thành viên trong ứng dụng đã được tạo.