Tạo tin nhắn văn bản

Trang này giải thích cách tạo và gửi tin nhắn văn bản dưới dạng ứng dụng Google Chat. Để biết thêm thông tin về tin nhắn, 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

Node.js

Python

Apps Script

Tạo tin nhắn văn bản

Phần này mô tả cách tạo tin nhắn văn bản theo 2 cách: bằng cách phản hồi hoạt động tương tác của người dùng và gọi API Google Chat không đồng bộ.

Trả lời người dùng

Trong ví dụ này, ứng dụng Chat của bạn sẽ tạo và gửi tin nhắn văn bản bất cứ khi nào ứng dụng được thêm vào một không gian. Để tìm hiểu các phương pháp hay nhất dành cho người dùng mới tham gia, hãy xem bài viết Giúp người dùng và không gian làm quen với quá trình làm quen hữu ích.

Để gửi tin nhắn văn bản khi người dùng thêm ứng dụng Chat vào một không gian, ứng dụng Chat sẽ phản hồi một sự kiện tương tác ADDED_TO_SPACE.

Để phản hồi các sự kiện tương tác ADDED_TO_SPACE bằng tin nhắn văn bản, hãy sử dụng mã sau:

Node.js

/**
 * Sends an onboarding message when the Chat app is added to a space.
 *
 * @param {Object} event The event object from Chat API.
 * @return {Object} Response from the Chat app. An onboarding message that
 * introduces the app and helps people get started with it.
 */
exports.onMessage = function onMessage(req, res) {
  if (req.method === 'GET' || !req.body.message) {
    res.send(
      'Hello! This function is meant to be used in a Google Chat space.');
  }

  // Send an onboarding message when added to a Chat space
  if(req.body.type === 'ADDED_TO_SPACE') {
    res.json({
      'text': 'Hi, Scheduler at your service. I help you manage your calendar
      from Google Chat. Take a look at your schedule today by typing
      `/checkCalendar`, or schedule a meeting with `/scheduleMeeting`. To
      learn what else I can do, type `/help`.'
    });
  }
};

Apps Script

/**
 * Sends an onboarding message when the Chat app is added to a space.
 *
 * @param {Object} event The event object from Chat API.
 * @return {Object} Response from the Chat app. An onboarding message that
 * introduces the app and helps people get started with it.
 */
function onAddToSpace(event) {

  return {
    'text': 'Hi, Scheduler at your service. I help you manage your calendar
    from Google Chat. Take a look at your schedule today by typing
    `/checkCalendar`, or schedule a meeting with `/scheduleMeeting`. To learn
    what else I can do, type `/help`.'
  }
}

Mã mẫu trả về tin nhắn văn bản sau:

Ví dụ về thông báo giới thiệu.

Gọi API Google Chat

Phần sau đây giải thích cách tạo tin nhắn văn bản bằng cách gọi API Google Chat không đồng bộ.

Việc gọi API Chat không đồng bộ yêu cầu xác thực. Khi ứng dụng Chat tạo tin nhắn văn bản, ứng dụng Chat có thể sử dụng phương thức xác thực ứng dụng (để gửi tin nhắn dưới dạng ứng dụng Chat) hoặc phương thức xác thực người dùng (để gửi tin nhắn thay mặt cho người dùng). Phần này giải thích cách gửi tin nhắn văn bản bằng một trong hai loại xác thực.

Để thiết lập tính năng xác thực và tìm hiểu cách tạo thông báo một cách không đồng bộ, hãy xem hướng dẫn về API Chat.

Tạo tin nhắn văn bản bằng phương thức xác thực ứng dụng

Dưới đây là cách gửi tin nhắn văn bản bằng tính nă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_create_text_message_app.py.
  2. Đưa mã sau vào chat_create_text_message_app.py:

    from httplib2 import Http
    from oauth2client.service_account import ServiceAccountCredentials
    from apiclient.discovery import build
    
    # Specify required scopes.
    SCOPES = ['https://www.googleapis.com/auth/chat.bot']
    
    # Specify service account details.
    CREDENTIALS = ServiceAccountCredentials.from_json_keyfile_name(
        'credentials.json', SCOPES)
    
    # Build the URI and authenticate with the service account.
    chat = build('chat', 'v1', http=CREDENTIALS.authorize(Http()))
    
    # Create a Chat message.
    result = chat.spaces().messages().create(
    
        # The space to create the message in.
        #
        # Replace SPACE with a space name.
        # Obtain the space name from the spaces resource of Chat API,
        # or from a space's URL.
        parent='spaces/SPACE',
    
        # The message to create.
        body={'text': 'Hello, world!'}
    
    ).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ừ 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_create_text_message_app.py
    

API Chat trả về một bản sao của Message có thông tin chi tiết về tin nhắn được gửi.

Tạo tin nhắn văn bản bằng thông tin xác thực người dùng

Dưới đây là cách gửi tin nhắn văn bản bằng quy trình 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_create_text_message_user.py.
  2. Đưa mã sau vào chat_create_text_message_user.py:

    import os.path
    
    from google.auth.transport.requests import Request
    from google.oauth2.credentials import Credentials
    from google_auth_oauthlib.flow import InstalledAppFlow
    from googleapiclient.discovery import build
    from googleapiclient.errors import HttpError
    
    # 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.create"]
    
    def main():
        '''
        Authenticates with Chat API via user credentials,
        then creates a text message in a Chat space.
        '''
    
        # Start with no credentials.
        creds = None
    
        # 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().create(
    
            # The space to create the message in.
            #
            # Replace SPACE with a space name.
            # Obtain the space name from the spaces resource of Chat API,
            # or from a space's URL.
            parent='spaces/SPACE',
    
            # The message to create.
            body={'text': 'Hello, world!'}
    
        ).execute()
    
        # Prints details about the created membership.
        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_create_text_message_user.py
    

API Chat trả về một bản sao của Message có thông tin chi tiết về tin nhắn được gửi.

Khắc phục sự cố

Khi ứng dụng Google Chat hoặc thẻ trả về lỗi, giao diện Chat sẽ hiển thị thông báo "Đã xảy ra lỗi." hoặc "Không thể xử lý yêu cầu của bạn". Đôi khi, giao diện người dùng của Chat không hiện thông báo lỗi nào nhưng ứng dụng hoặc thẻ trong Chat tạo ra kết quả không mong muốn (ví dụ: thông báo bằng thẻ có thể không xuất hiện).

Mặc dù thông báo lỗi có thể không hiển thị trong giao diện người dùng Chat, nhưng chúng tôi cung cấp thông báo lỗi mô tả và dữ liệu nhật ký để giúp bạn khắc phục lỗi khi bật tính năng ghi nhật ký lỗi cho các ứng dụng trong Chat. Để được trợ giúp về cách xem, gỡ lỗi và khắc phục lỗi, hãy xem bài viết Khắc phục lỗi trong Google Chat.