Xem thông tin chi tiết về không gian

Hướng dẫn này giải thích cách sử dụng phương thức get trên tài nguyên Space của API Google Chat để xem thông tin chi tiết về một không gian, chẳng hạn như tên hiển thị, nội dung mô tả và nguyên tắc.

Tài nguyên Space đại diện cho nơi mọi người và các ứng dụng trong Chat có thể gửi tin nhắn, chia sẻ tệp và cộng tác. Có một số loại không gian:

  • Tin nhắn trực tiếp (DM) là các cuộc trò chuyện giữa 2 người dùng hoặc một người dùng với một ứng dụng Chat.
  • Cuộc trò chuyện nhóm là các cuộc trò chuyện giữa ba người dùng trở lên và các ứng dụng trong Chat.
  • Không gian được đặt tên là các nơi cố định để mọi người gửi tin nhắn, chia sẻ tệp và cộng tác.

Việc xác thực bằng xác thực ứng dụng cho phép ứng dụng Chat có được các không gian mà ứng dụng Chat có quyền truy cập trong Google Chat (ví dụ: các không gian nơi ứng dụng là thành viên). Việc xác thực bằng phương pháp xác thực người dùng giúp bạn có được không gian mà người dùng đã xác thực có quyền truy cập.

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

Python

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

    pip3 install --upgrade google-api-python-client google-auth-oauthlib google-auth
    
  • Một dự án trên Google Cloud đã bật và thiết lập API Google Chat. Để biết các bước, hãy xem bài viết Tạo ứng dụng Google Chat.
  • Đã định cấu hình hoạt động uỷ quyền cho ứng dụng Chat. Khi có một không gian, bạn sẽ hỗ trợ cả hai phương thức xác thực sau:

Node.js

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

    npm install @google-cloud/local-auth @googleapis/chat
    
  • Một dự án trên Google Cloud đã bật và thiết lập API Google Chat. Để biết các bước, hãy xem bài viết Tạo ứng dụng Google Chat.
  • Đã định cấu hình hoạt động uỷ quyền cho ứng dụng Chat. Khi có một không gian, bạn sẽ hỗ trợ cả hai phương thức xác thực sau:

Mua không gian

Để tìm một không gian trong Google Chat, hãy chuyển nội dung sau vào yêu cầu của bạn:

  • Với tính năng xác thực ứng dụng, hãy chỉ định phạm vi uỷ quyền chat.bot. Với quy trình xác thực người dùng, hãy chỉ định phạm vi uỷ quyền chat.spaces.readonly hoặc chat.spaces.
  • Gọi phương thức get trên tài nguyên Space, truyền name của không gian để nhận. Lấy tên không gian từ tài nguyên không gian của Google Chat hoặc từ URL của một không gian.

Xem chi tiết không gian bằng xác thực người dùng

Dưới đây là cách lấy thông tin chi tiết về không gian bằng phương thức xác thực người dùng:

Python

  1. Trong thư mục đang làm việc, hãy tạo một tệp có tên chat_space_get_user.py.
  2. Đưa mã sau vào chat_space_get_user.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.spaces.readonly"]
    
    def main():
        '''
        Authenticates with Chat API via user credentials,
        then gets details about a specified 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().get(
    
              # The space to get.
              #
              # Replace SPACE with a space name.
              # Obtain the space name from the spaces resource of Chat API,
              # or from a space's URL.
              name='spaces/SPACE'
    
          ).execute()
    
        # Prints details about the space.
        print(result)
    
    if __name__ == '__main__':
        main()
    
  3. Trong mã, hãy thay thế SPACE bằng tên không gian. Bạn có thể lấy tên này từ phương thức spaces.list trong API Chat hoặc từ URL của không gian.

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

    python3 chat_space_get_user.py
    

Node.js

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

    const chat = require('@googleapis/chat');
    const {authenticate} = require('@google-cloud/local-auth');
    
    /**
    * Gets details about a Chat space by name.
    * @return {!Object}
    */
    async function getSpace() {
      const scopes = [
        'https://www.googleapis.com/auth/chat.spaces.readonly',
      ];
    
      const authClient =
          await authenticate({scopes, keyfilePath: 'client_secrets.json'});
    
      const chatClient = await chat.chat({version: 'v1', auth: authClient});
    
      return await chatClient.spaces.get({name: 'spaces/SPACE'});
    }
    
    getSpace().then(console.log);
    
  3. Trong mã, hãy thay thế SPACE bằng tên không gian. Bạn có thể lấy tên này từ phương thức spaces.list trong API Chat hoặc từ URL của không gian.

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

    node get-space.js
    

API Chat trả về một thực thể của Space có thông tin chi tiết về không gian được chỉ định.

Xem chi tiết không gian bằng tính năng xác thực ứng dụng

Dưới đây là cách lấy thông tin chi tiết về không gian bằng xác thực ứng dụng:

Python

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

    from google.oauth2 import service_account
    from apiclient.discovery import build
    
    # Specify required scopes.
    SCOPES = ['https://www.googleapis.com/auth/chat.bot']
    
    # Specify service account details.
    CREDENTIALS = (
        service_account.Credentials.from_service_account_file('credentials.json')
        .with_scopes(SCOPES)
    )
    
    # Build the URI and authenticate with the service account.
    chat = build('chat', 'v1', credentials=CREDENTIALS)
    
    # Use the service endpoint to call Chat API.
    result = chat.spaces().get(
    
        # The space to get.
        #
        # Replace SPACE with a space name.
        # Obtain the space name from the spaces resource of Chat API,
        # or from a space's URL.
        name='spaces/SPACE'
    
    ).execute()
    
    print(result)
    
  3. Trong mã, hãy thay thế SPACE bằng tên không gian. Bạn có thể lấy tên này từ phương thức spaces.list() trong API Chat hoặc từ URL của không gian.

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

    python3 chat_space_get_app.py
    

Node.js

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

    const chat = require('@googleapis/chat');
    
    /**
    * Gets details about a Chat space by name.
    * @return {!Promise<!Object>}
    */
    async function getSpace() {
      const scopes = [
        'https://www.googleapis.com/auth/chat.bot',
      ];
    
      const auth = new chat.auth.GoogleAuth({
        scopes,
        keyFilename: 'credentials.json',
      });
    
      const authClient = await auth.getClient();
      const chatClient = await chat.chat({version: 'v1', auth: authClient});
    
      return await chatClient.spaces.get({name: 'spaces/SPACE'});
    }
    
    getSpace().then(console.log);
    
  3. Trong mã, hãy thay thế SPACE bằng tên không gian. Bạn có thể lấy tên này từ phương thức spaces.list trong API Chat hoặc từ URL của không gian.

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

    node app-get-space.js
    

API Chat trả về một thực thể của Space cho biết thông tin chi tiết về không gian được chỉ định.