Gửi tin nhắn trên Google Chat

Trang này giải thích cách các ứng dụng Google Chat có thể gửi tin nhắn để trả lời các lượt tương tác của người dùng.

Trong Google Chat, các tiện ích bổ sung sẽ xuất hiện với người dùng dưới dạng ứng dụng Google Chat. Để tìm hiểu thêm, hãy xem bài viết Tổng quan về việc mở rộng Google Chat.

  • Biểu mẫu liên hệ từ lệnh dấu gạch chéo.
    Hình 1. Một ứng dụng Chat phản hồi lệnh dấu gạch chéo bằng một tin nhắn văn bản và nút.
  • Biểu mẫu liên hệ trong hộp thoại.
    Hình 2. Ứng dụng Chat mở một hộp thoại để người dùng có thể nhập thông tin.
  • Thông báo dạng thẻ có các tiện ích nhập dữ liệu vào biểu mẫu.
    Hình 5. Một ứng dụng Chat gửi một tin nhắn có văn bản và một thẻ tương tác.

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

Node.js

Một tiện ích bổ sung của Google Workspace mở rộng Google Chat. Để tạo một ứng dụng, hãy hoàn tất phần Bắt đầu nhanh về HTTP.

Apps Script

Một tiện ích bổ sung của Google Workspace mở rộng Google Chat. Để tạo một ứng dụng, hãy hoàn tất phần Bắt đầu nhanh với Apps Script.

Thiết kế thông báo

Ứng dụng trò chuyện có thể đưa bất kỳ nội dung nào sau đây vào tin nhắn:

  • Văn bản chứa siêu liên kết, @thao tác đề cập và biểu tượng cảm xúc.
  • Một hoặc nhiều thẻ có thể xuất hiện trong một thông báo hoặc mở trong một cửa sổ mới dưới dạng hộp thoại.
  • Một hoặc nhiều tiện ích phụ kiện, là các nút xuất hiện sau bất kỳ văn bản hoặc thẻ nào trong thư.

Để tìm hiểu về cách thiết kế tin nhắn, hãy xem tài liệu sau về API Google Chat:

Trả lời bằng tin nhắn

Ứng dụng trò chuyện có thể phản hồi bằng một tin nhắn đối với bất kỳ điều kiện kích hoạt hoặc hoạt động tương tác nào sau đây:

  • Trình kích hoạt tin nhắn, chẳng hạn như khi người dùng @đề cập hoặc gửi tin nhắn trực tiếp đến một ứng dụng Chat.
  • Điều kiện kích hoạt Đã thêm vào không gian, chẳng hạn như khi người dùng cài đặt ứng dụng Chat từ Google Workspace Marketplace hoặc thêm ứng dụng đó vào một không gian.
  • Lượt nhấp vào nút từ thẻ trong tin nhắn hoặc hộp thoại. Ví dụ: khi người dùng nhập thông tin và nhấp vào gửi.

Nếu không, các ứng dụng Chat có thể chủ động gửi tin nhắn bằng cách gọi API Google Chat.

Để trả lời bằng một tin nhắn, hãy trả về thao tác DataActions bằng đối tượng CreateMessageAction:

{ "hostAppDataAction": { "chatDataAction": { "createMessageAction": {
  "message": MESSAGE
}}}

Thay thế MESSAGE bằng tài nguyên Message từ API Chat. Để tìm hiểu thêm về cách hoạt động của các hành động, hãy xem bài viết Hành động trong Chat.

Trong ví dụ sau, ứng dụng Chat 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. Để 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 điều kiện kích hoạt Đã thêm vào không gian bằng cách trả về thao tác DataActions:

Node.js

/**
 * Sends an onboarding message when the Chat app is added to a space.
 *
 * @param {Object} req The request object from Google Workspace Add-on.
 * @param {Object} res The response object from the Chat app. An onboarding message that
 *                     introduces the app and helps people get started with it.
 */
exports.cymbalApp = function cymbalApp(req, res) {
  const chatEvent = req.body.chat;
  // Send an onboarding message when added to a Chat space
  if (chatEvent.addedToSpacePayload) {
    res.json({ hostAppDataAction: { chatDataAction: { createMessageAction: { message: {
      text: 'Hi, Cymbal 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 onAddedToSpace(event) {
  return { hostAppDataAction: { chatDataAction: { createMessageAction: { message: {
    text: 'Hi, Cymbal 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ề thông báo văn bản sau:

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

Để biết thêm ví dụ về cách trả lời bằng tin nhắn, hãy xem các hướng dẫn sau:

Cập nhật tin nhắn

Ứng dụng trò chuyện cũng có thể cập nhật tin nhắn mà ứng dụng gửi. Ví dụ: để cập nhật thông báo sau khi người dùng gửi một hộp thoại hoặc nhấp vào một nút thông báo.

Để cập nhật tin nhắn trong ứng dụng Chat, hãy trả về thao tác DataActions bằng UpdateMessageAction, như trong ví dụ sau:

{ "hostAppDataAction": { "chatDataAction": { "updateMessageAction": {
  "message": MESSAGE
}}}}

Thay thế MESSAGE bằng tài nguyên Message từ API Chat.

Để tìm hiểu thêm về cách hoạt động của các hành động, hãy xem bài viết Hành động trong Chat.

Ứng dụng trò chuyện cũng có thể cập nhật tin nhắn của người dùng để trả về bản xem trước của đường liên kết mà họ đã gửi. Để biết thông tin chi tiết, hãy xem bài viết Xem trước đường liên kết trong tin nhắn trên Google Chat.

Trả lời các lượt tương tác hoặc gửi tin nhắn chủ động bằng API Google Chat

Thay vì trả về một thao tác bổ sung, ứng dụng Chat có thể cần sử dụng API Google Chat để phản hồi một lượt tương tác. Ví dụ: các ứng dụng Chat phải gọi API Google Chat để thực hiện bất kỳ thao tác nào sau đây:

  • Gửi thông báo theo lịch hoặc về những thay đổi đối với tài nguyên bên ngoài. Ví dụ: thông báo về một vấn đề hoặc trường hợp mới.
  • Trả lời sau hơn 30 giây kể từ khi có lượt tương tác. Ví dụ: để phản hồi bằng một thông báo sau khi hoàn tất một tác vụ chạy trong thời gian dài.
  • Gửi tin nhắn bên ngoài không gian nơi diễn ra lượt tương tác.
  • Thay mặt người dùng Chat gửi tin nhắn.

Để gửi tin nhắn bằng API Chat, bạn phải thiết lập quy trình xác thực và gọi phương thức create() trên tài nguyên Message. Để biết các bước, hãy xem phần Gửi tin nhắn bằng API Google Chat.