Xem chi tiết về tin nhắn

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 Message của API Google Chat để trả về thông tin chi tiết về tin nhắn văn bản hoặc thẻ.

Tài nguyên Message đại diện cho một thông báo văn bản hoặc thẻ trong Google Chat. Bạn có thể create, get, update hoặc delete cho tin nhắn trong API Google Chat bằng cách gọi các phương thức tương ứng. Để tìm hiểu thêm về tin nhắn văn bản và tin nhắn bằng thẻ, hãy xem bài viết Tổng quan về tin nhắn trong 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.
  • Hoạt động uỷ quyền đã được định cấu hình cho ứng dụng Chat. Khi nhận được tin nhắn, hỗ trợ cả hai phương thức xác thực:

    • Xác thực người dùng, với phạm vi uỷ quyền chat.messages.readonly hoặc chat.messages, có thể nhận thông báo mà người dùng có quyền truy cập.
    • Xác thực ứng dụng, với phạm vi uỷ quyền chat.bot, có thể nhận thông báo đã gửi đến ứng dụng.

Nhận thông báo có xác thực người dùng

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

  • Chỉ định phạm vi uỷ quyền chat.messages.readonly hoặc chat.messages.
  • Gọi phương thức get trên tài nguyên Message.
  • Đặt name thành tên tài nguyên của thông báo để nhận.

Ví dụ sau đây sẽ nhận một thông báo kèm theo 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_message_get_user.py.
  2. Đưa mã sau vào chat_message_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.messages.readonly"]
    
    def main():
        '''
        Authenticates with Chat API via user credentials,
        then gets a message.
        '''
    
        # 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().messages().get(
    
            # The message 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.
            #
            # Replace MESSAGE with a message name.
            # Obtain the message name from the response body returned
            # after creating a message asynchronously with Chat REST API.
            name = 'spaces/SPACE/messages/MESSAGE'
    
        ).execute()
    
        # Prints details about the created membership.
        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.
    • MESSAGE: tên thông báo mà bạn có thể lấy từ phần nội dung phản hồi được trả về sau khi tạo thông báo không đồng bộ bằng API Chat hoặc bằng tên tuỳ chỉnh được chỉ định cho thông báo khi tạo.
  4. Trong thư mục đang làm việc, hãy tạo và chạy mẫu:

    python3 chat_message_get_user.py
    

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

Nhận tin nhắn có xác thực ứng dụng

Để biết thông tin chi tiết về một thông báo có xác thực ứng dụng, hãy chuyển nội dung sau trong yêu cầu của bạn:

Ví dụ sau đây sẽ nhận một thông báo kèm theo 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_get_message_app.py.
  2. Đưa mã sau vào chat_get_message_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)
    
    # Get a Chat message.
    result = chat.spaces().messages().get(
    
        # The message 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.
        #
        # Replace MESSAGE with a message name.
        # Obtain the message name from the response body returned
        # after creating a message asynchronously with Chat REST API.
        name='spaces/SPACE/messages/MESSAGE'
    
      ).execute()
    
    # Print Chat API's response in your command line interface.
    print(result)
    
  3. Trong mã, hãy thay thế các đoạn mã sau:

    • SPACE: name của không gian đăng tin nhắn 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.

    • MESSAGE: tên thông báo mà bạn có thể lấy từ phần nội dung phản hồi được trả về sau khi tạo thông báo không đồng bộ bằng API Chat hoặc bằng tên tuỳ chỉnh được chỉ định cho thông báo khi tạo.

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

    python3 chat_get_message_app.py
    

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