Xem thông tin chi tiết về trạng thái đọc không gian của người dùng

Hướng dẫn này giải thích cách sử dụng phương thức getSpaceReadState trên tài nguyên SpaceReadState của API Google Chat để biết thông tin chi tiết về trạng thái đọc của người dùng trong một không gian. Để biết trạng thái đã đọc của một tin nhắn trong một chuỗi tin nhắn, hãy xem phần Nhận thông tin chi tiết về trạng thái đọc chuỗi tin nhắn của người dùng.

Tài nguyên SpaceReadState là tài nguyên singleton trình bày thông tin chi tiết về tin nhắn đọc gần đây nhất của người dùng được chỉ định trong không gian Google Chat.

Đ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
    
  • 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. Để nhận được thông tin chi tiết về trạng thái đọc của người dùng trong một không gian, bạn cần phải xác thực người dùng có phạm vi uỷ quyền chat.users.readstate hoặc chat.users.readstate.readonly.

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. Để nhận được thông tin chi tiết về trạng thái đọc của người dùng trong một không gian, bạn cần phải xác thực người dùng có phạm vi uỷ quyền chat.users.readstate hoặc chat.users.readstate.readonly.

Apps Script

  • Một tài khoản Google Workspace có quyền truy cập vào Google Chat.
  • Một ứng dụng Chat đã phát hành. Để tạo ứng dụng Chat, hãy làm theo phần quickstart này.
  • Đã định cấu hình hoạt động uỷ quyền cho ứng dụng Chat. Để nhận được thông tin chi tiết về trạng thái đọc của người dùng trong một không gian, bạn cần phải xác thực người dùng có phạm vi uỷ quyền chat.users.readstate hoặc chat.users.readstate.readonly.

Xem trạng thái đọc không gian của người dùng gọi

Để biết thông tin chi tiết về trạng thái đọc của người dùng trong một không gian, hãy đưa nội dung sau vào yêu cầu của bạn:

  • Chỉ định phạm vi uỷ quyền chat.users.readstate hoặc chat.users.readstate.readonly.
  • Gọi phương thức getSpaceReadState trên tài nguyên SpaceReadState.
  • Truyền name của trạng thái đọc không gian để lấy, bao gồm mã nhận dạng người dùng hoặc email đại diện và mã không gian. Việc nhận trạng thái đọc không gian chỉ hỗ trợ việc nhận trạng thái đọc của người dùng đang gọi. Bạn có thể chỉ định trạng thái này bằng cách đặt một trong các mục sau:
    • Bí danh me. Ví dụ: users/me/spaces/SPACE/spaceReadState.
    • Địa chỉ email Workspace của người dùng gọi. Ví dụ: users/user@example.com/spaces/SPACE/spaceReadState.
    • Mã nhận dạng người dùng của người dùng gọi. Ví dụ: users/USER/spaces/SPACE/spaceReadState.

Ví dụ sau đây minh hoạ trạng thái đọc không gian của người dùng gọi:

Python

  1. Trong thư mục đang làm việc, hãy tạo một tệp có tên là chat_spaceReadState_get.py.
  2. Đưa mã sau vào chat_spaceReadState_get.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.users.readstate.readonly"]
    
    def main():
        '''
        Authenticates with Chat API via user credentials,
        then gets the space read state for the calling user.
        '''
    
        # 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.users().spaces().getSpaceReadState(
    
            # The space read state to get.
            #
            # Replace USER with the calling user's ID, Workspace email,
            # or the alias me.
            #
            # Replace SPACE with a space name.
            # Obtain the space name from the spaces resource of Chat API,
            # or from a space's URL.
            name='users/me/spaces/SPACE/spaceReadState'
    
          ).execute()
    
        # Prints the API's response.
        print(result)
    
    if __name__ == '__main__':
        main()
    
  3. Trong mã, hãy thay thế các đoạn mã 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 từ 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_spaceReadState_get.py
    

Node.js

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

    const chat = require('@googleapis/chat');
    const {authenticate} = require('@google-cloud/local-auth');
    
    /**
    * Authenticates with Chat API via user credentials,
    * then gets the space read state for the calling user.
    * @return {!Promise<!Object>}
    */
    async function getSpaceReadState() {
    
      /**
      * Authenticate with Google Workspace
      * and get user authorization.
      */
      const scopes = [
        'https://www.googleapis.com/auth/chat.users.readstate.readonly',
      ];
    
      const authClient =
          await authenticate({scopes, keyfilePath: 'client_secrets.json'});
    
      /**
      * Build a service endpoint for Chat API.
      */
      const chatClient = await chat.chat({version: 'v1', auth: authClient});
    
      /**
      * Use the service endpoint to call Chat API.
      */
      return await chatClient.users.spaces.getSpaceReadState({
    
        /**
        * The space read state to get.
        *
        * Replace USER with the calling user's ID, Workspace email,
        * or the alias me.
        *
        * Replace SPACE with a space name.
        * Obtain the space name from the spaces resource of Chat API,
        * or from a space's URL.
        */
        name: 'users/me/spaces/SPACE/spaceReadState'
      });
    }
    
    /**
    * Use the service endpoint to call Chat API.
    */
    getSpaceReadState().then(console.log);
    
  3. Trong mã, hãy thay thế các đoạn mã 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 từ 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:

    node chat_spaceReadState_get.js
    

Apps Script

Ví dụ này gọi API Chat bằng Dịch vụ trò chuyện nâng cao.

  1. Thêm phạm vi uỷ quyền chat.users.readstate.readonly vào tệp appsscript.json của dự án Apps Script:

    "oauthScopes": [
      "https://www.googleapis.com/auth/chat.users.readstate.readonly"
    ]
    
  2. Thêm một hàm như hàm này vào mã của dự án Apps Script:

    /**
    * Authenticates with Chat API via user credentials,
    * then gets the space read state for the calling user.
    * @param {string} spaceReadStateName The resource name of the space read state.
    */
    function getSpaceReadState(spaceReadStateName) {
      try {
        Chat.Users.Spaces.getSpaceReadState(spaceReadStateName);
      } catch (err) {
        // TODO (developer) - Handle exception
        console.log('Failed to get read state with error %s', err.message);
      }
    }
    

API Google Chat nhận trạng thái đọc không gian được chỉ định và trả về một thực thể của tài nguyên SpaceReadState.