Wysyłanie wiadomości w Google Chat

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

  • Formularz kontaktowy z polecenia po ukośniku.
    Rysunek 1. Aplikacja do obsługi czatu odpowiada na polecenie po ukośniku wiadomością tekstową i przyciskiem.
  • Formularz kontaktowy w oknie.
    Rysunek 2. Aplikacja do czatu otwiera okno, w którym użytkownicy mogą wpisywać informacje.
  • Wiadomość na karcie z widżetami wprowadzania danych w formularzu.
    Rysunek 5. A Aplikacja do obsługi czatu wysyła wiadomość z tekstem i kartą interaktywną.

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 skrypt, wykonaj czynności opisane w krótkim przewodniku po Apps Script.

Projektowanie wiadomości

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

  • Tekst zawierający hiperlinki, wzmianki z użyciem znaku @ i emotikony.
  • Jedna lub więcej kart, które mogą pojawiać się w wiadomości lub otwierać w nowym oknie jako okno dialogowe.
  • Co najmniej jeden widżet dodatkowy, czyli przycisk, który pojawia się po tekście lub kartach w wiadomości.

Więcej informacji o projektowaniu wiadomości znajdziesz w dokumentacji interfejsu Google Chat API:

Odpowiedz za pomocą wiadomości

Aplikacje do obsługi czatu mogą odpowiadać wiadomością na dowolne z tych wywołań lub interakcji:

  • Triggery wiadomości, np. gdy użytkownicy dodają @wzmiankę o aplikacji Chat lub wysyłają do niej wiadomość bezpośrednią.
  • Wywoływanie zdarzenia „Dodano do pokoju”, np. gdy użytkownicy instalują aplikację Google Chat z Google Workspace Marketplace lub dodają ją do pokoju.
  • Kliknięcia przycisków na kartach w wiadomościach lub oknach. Na przykład gdy użytkownicy wpisują informacje i klikają przycisk przesyłania.

W przeciwnym razie aplikacje w 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 działaniach znajdziesz w artykule Działania w Google Chat.

W tym przykładzie aplikacja do obsługi czatu tworzy i wysyła wiadomość tekstową za każdym razem, gdy zostanie dodana do pokoju. Aby wysłać wiadomość tekstową, gdy użytkownik doda Twoją aplikację do Google Chat do pokoju, aplikacja odpowiada na wyzwalacz 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 ten SMS:

Przykładowa wiadomość wprowadzająca

Więcej przykładów odpowiedzi za pomocą wiadomości znajdziesz w tych przewodnikach:

Aktualizowanie wiadomości

Aplikacje do obsługi czatu mogą też aktualizować wysyłane przez siebie wiadomości. Możesz na przykład zaktualizować wiadomość po tym, jak użytkownik prześle okno lub kliknie przycisk w wiadomości.

Aby zaktualizować wiadomość aplikacji w Google Chat, zwróć działanie DataActions z parametrem UpdateMessageAction, jak pokazano w tym przykładzie:

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

Zastąp MESSAGE zasobem Message z interfejsu Chat API.

Więcej informacji o działaniach znajdziesz w artykule Działania w Google Chat.

Aplikacje do czatu mogą też aktualizować wiadomości użytkowników, aby wyświetlać podgląd wysłanego przez nich linku. Więcej informacji znajdziesz w artykule Wyświetlanie podglądu linków w wiadomościach Google Chat.

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

Zamiast zwracać działanie dodatku, aplikacje do obsługi czatu mogą używać interfejsu Google Chat API, aby odpowiadać na interakcje. Na przykład aplikacje do obsługi czatu muszą wywoływać interfejs Google Chat API, aby wykonać dowolne z tych działań:

  • Wysyłaj wiadomości zgodnie z harmonogramem lub informuj o zmianach w zasobach zewnętrznych. Dotyczy to na przykład powiadomień o nowym problemie lub zgłoszeniu.
  • odpowiadać ponad 30 sekund po interakcji; Na przykład możesz odpowiedzieć wiadomością po zakończeniu długotrwałego zadania.
  • wysyłać wiadomości poza pokój, w którym doszło do interakcji;
  • 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() w zasobie Message. Instrukcje znajdziesz w artykule Wysyłanie wiadomości za pomocą interfejsu Google Chat API.