Wysyłanie wiadomości w Google Chat

Na tej stronie wyjaśniamy, jak aplikacje Google Chat mogą wysyłać wiadomości w odpowiedzi na interakcje użytkowników.

W Google Chat dodatki są widoczne dla użytkowników jako aplikacje Google Chat. Więcej informacji znajdziesz w artykule Więcej informacji o rozszerzaniu Google Chat.

  • Formularz kontaktowy z polecenia po ukośniku.
    Rysunek 1. Aplikacja do czatu reaguje na polecenie po ukośniku, wyświetlając wiadomość tekstową i przycisk.
  • Formularz kontaktowy w oknie.
    Rysunek 2. Aplikacja do czatu otwiera okno, w którym użytkownicy mogą wpisać informacje.
  • Wiadomość na karcie z widżetami formularza
    Rysunek 5. Aplikacja Google Chat wysyła wiadomość z tekstem i interaktywną kartą.

Wymagania wstępne

Node.js

dodatek do Google Workspace, który rozszerza Google Chat; Aby go utworzyć, wykonaj czynności opisane w krótkim przewodniku po HTTP.

Google Apps Script

dodatek do Google Workspace, który rozszerza Google Chat; Aby utworzyć taki projekt, zapoznaj się z krótkim przewodnikiem po Apps Script.

Projektowanie wiadomości

Aplikacje do czatu mogą zawierać w wiadomości:

  • tekst zawierający hiperlinki, wzmianki @ i emotikony.
  • co najmniej 1 kartę, która może się wyświetlać w wiadomości lub otwierać się w nowym oknie jako okno dialogowe.
  • co najmniej 1 widżet dodatkowy, czyli przycisk, który pojawia się po tekście lub kartach w wiadomości;

Informacje o projektowaniu wiadomości znajdziesz w tych dokumentach interfejsu Google Chat API:

Odpowiedz za pomocą wiadomości

Aplikacje do czatu mogą odpowiadać wiadomością na dowolne z tych zdarzeń lub interakcji:

W przeciwnym razie aplikacje Google Chat mogą wysyłać wiadomości proaktywnie, wywołując interfejs Google Chat API.

Aby odpowiedzieć wiadomością, zwróć działanie DataActions z obiektem CreateMessageAction:

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

Zastąp MESSAGE zasobem Message z interfejsu Chat API. Więcej informacji o tym, jak działają działania, znajdziesz w artykule Działania w Google Chat.

W tym przykładzie aplikacja do czatu tworzy i wysyła SMS-a za każdym razem, gdy zostanie dodana do pokoju. Aby wysłać wiadomość tekstową, gdy użytkownik doda Twoją aplikację do czatu do pokoju, aplikacja czatu reaguje na zdarzenie Dodano do pokoju, zwracając działanie 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`.'
    }}}}});
  }
};

Google 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`.'
  }}}}};
}

Przykładowy kod zwraca następujący SMS:

Przykładowy komunikat wprowadzający

Dodatkowe przykłady odpowiedzi w postaci wiadomości znajdziesz w tych przewodnikach:

Aktualizowanie wiadomości

Aplikacje do czatu mogą też aktualizować wysyłane wiadomości. Na przykład, aby zaktualizować wiadomość po tym, jak użytkownik przesłał okno dialogowe lub kliknął przycisk w wiadomości.

Aby zaktualizować wiadomość w Google Chat, zwracaj działanieDataActions z UpdateMessageAction, jak w tym przykładzie:

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

Zastąp MESSAGE zasobem Message z interfejsu Chat API.

Więcej informacji o tym, jak działają działania, znajdziesz w artykule Działania w Google Chat.

Aplikacje do czatu mogą też aktualizować wiadomość od użytkownika, aby wyświetlić podgląd linku, który został wysłany. Więcej informacji znajdziesz w artykule Podgląd linków w wiadomościach Google Chat.

Odpowiadanie na interakcje lub wysyłanie wiadomości proaktywnych za pomocą interfejsu Google Chat API

Zamiast zwracać działanie dodatku aplikacje do obsługi czatu mogą potrzebować interfejsu Google Chat API do odpowiadania na interakcje. Na przykład aplikacje czatu muszą wywoływać interfejs Google Chat API, aby:

  • wysyłać wiadomości zgodnie z harmonogramem lub informować o zmianach w zasobach zewnętrznych; Na przykład powiadomienia o nowym problemie lub zgłoszeniu.
  • odpowiedź na pytanie, które zostało zadane ponad 30 sekund temu; Możesz na przykład odpowiedzieć wiadomością po zakończeniu długotrwałego zadania.
  • wysyłać wiadomości poza pokojem, w którym miała miejsce interakcja;
  • Wysyłanie wiadomości w imieniu użytkownika Google Chat.

Aby wysłać wiadomość za pomocą interfejsu Chat API, musisz skonfigurować uwierzytelnianie i wywołać metodę create() zasobu Message. Szczegółowe instrukcje znajdziesz w artykule Wysyłanie wiadomości za pomocą interfejsu Google Chat API.