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 để lấy thông tin chi tiết về nội dung người dùng đọc trạng thái trong một không gian. Để biết trạng thái đã đọc của một thư trong một chuỗi thư, xem Xem thông tin chi tiết về trạng thái đọc chuỗi của người dùng.

Chiến lược phát hành đĩa đơn Tài nguyên SpaceReadState là một tài nguyên singleton biểu thị thông tin chi tiết về một tin nhắn đọc gần đây nhất của người dùng mà bạn chỉ định trong phòng Google Chat.

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

Python

Node.js

Apps Script

Nhận trạng thái đọc không gian của người dùng thực hiện lệnh 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 thêm những thông tin sau trong yêu cầu của bạn:

  • Chỉ định chat.users.readstate hoặc chat.users.readstate.readonly phạm vi uỷ quyền.
  • Gọi Phương thức getSpaceReadState trên SpaceReadState tài nguyên.
  • Truyền name của trạng thái đọc không gian để lấy, bao gồm cả mã nhận dạng người dùng hoặc email đại diện và mã không gian. Việc lấy trạng thái đọc của không gian chỉ hỗ trợ nhận trạng thái đã đọc trạng thái của người dùng gọi, có thể được chỉ định bằng cách đặt một trong 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 thực hiện lệnh gọi. Ví dụ: users/USER/spaces/SPACE/spaceReadState.

Ví dụ sau đây lấy trạng thái đọc không gian của người dùng thực hiện lệnh gọi:

Python

  1. Trong thư mục đang làm việc, hãy tạo một tệp có tên 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ã, 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.
  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 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ã, 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.
  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 cách sử dụ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 tương tự như hàm này vào dự án Apps Script mã:

    /**
    * 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 đã chỉ định và trả về một bản sao của Tài nguyên SpaceReadState.