Na tej stronie opisujemy, jak aplikacja Google Chat może otwierać dialogi, aby odpowiadać użytkownikom.
Dialogi to okna z interfejsami opartymi na kartach, które otwierają się z pokoju czatu lub wiadomości. Okno dialogowe i jego zawartość są widoczne tylko dla użytkownika, który je otworzył.
Aplikacje do czatu mogą używać dialogów do żądania i gromadzenia informacji od użytkowników czatu, w tym formularzy wieloetapowych. Więcej informacji o tworzeniu danych wejściowych formularza znajdziesz w artykule Zbieranie i przetwarzanie informacji od użytkowników.
Wymagania wstępne
Node.js
Aplikacja Google Chat, w której włączono funkcje interaktywne. Aby utworzyć interaktywną aplikację Google Chat za pomocą usługi HTTP, wykonaj to krótkie wprowadzenie.
Python
Aplikacja Google Chat, w której włączono funkcje interaktywne. Aby utworzyć interaktywną aplikację Google Chat za pomocą usługi HTTP, wykonaj to krótkie wprowadzenie.
Java
Aplikacja Google Chat, w której włączono funkcje interaktywne. Aby utworzyć interaktywną aplikację Google Chat za pomocą usługi HTTP, wykonaj to krótkie wprowadzenie.
Google Apps Script
Aplikacja Google Chat, w której włączono funkcje interaktywne. Aby utworzyć interaktywną aplikację Google Chat w Apps Script, wykonaj samouczek.
Otwórz okno


W tej sekcji opisaliśmy, jak odpowiadać i konfigurować dialogy:
- Wywołanie żądania dialogu w reakcji na interakcję z użytkownikiem.
- Rozwiąż prośbę, wracając do okna i otwierając okno dialogowe.
- Gdy użytkownicy prześlą informacje, przetwórz dane, zamykając okno lub wyświetlając inne okno.
Wywołanie prośby o wyświetlenie okna
Aplikacja Google Chat może otwierać okna tylko w reakcji na interakcję użytkownika, np. polecenie lub kliknięcie przycisku w wiadomości na karcie.
Aby odpowiadać użytkownikom za pomocą okna dialogowego, aplikacja do czatu musi stworzyć interakcję, która uruchamia prośbę o dialog, na przykład:
- Odpowiadanie na polecenie. Aby wywołać prośbę z poziomu polecenia, podczas konfigurowania polecenia musisz zaznaczyć pole wyboru Otwieranie okna dialogowego.
- Reakcja na kliknięcie przycisku w wiadomości, która może być częścią karty lub znajdować się na dole wiadomości. Aby wywołać prośbę za pomocą przycisku w wiadomości, skonfiguruj działanie
onClick
przycisku, ustawiając wartość parametruinteraction
naOPEN_DIALOG
. - Odpowiedź na kliknięcie przycisku na stronie głównej aplikacji Czat Informacje o otwieraniu dialogów z poziomu strony głównej znajdziesz w artykule Tworzenie strony głównej aplikacji Google Chat.

/addContact
. Wiadomość zawiera też przycisk, który użytkownicy mogą kliknąć, aby wywołać polecenie.
Poniższy przykładowy kod pokazuje, jak wywołać prośbę o dialog za pomocą przycisku w wiadomości na karcie. Aby otworzyć okno, w polu button.interaction
jest ustawiona wartość OPEN_DIALOG
:
Node.js
Python
Java
Google Apps Script
W tym przykładzie wysyłamy wiadomość z karty, zwracając obiekt JSON karty. Możesz też użyć usługi karty w Apps Script.
Otwórz pierwsze okno dialogowe
Gdy użytkownik wywoła prośbę o dialog, aplikacja do obsługi czatu otrzyma zdarzenie interakcji reprezentowane w interfejsie Chat API jako typ event
. Jeśli interakcja powoduje wysłanie żądania dialogu, pole dialogEventType
zdarzenia ma wartość REQUEST_DIALOG
.
Aby otworzyć okno dialogowe, aplikacja Google Chat może odpowiedzieć na prośbę, zwracając obiekt actionResponse
z wartością type
DIALOG
i obiekt Message
. Aby określić zawartość dialogu, użyj tych obiektów:
- Obiekt
actionResponse
, w którego atrybucietype
ustawiona jest wartośćDIALOG
. - Obiekt
dialogAction
. Polebody
zawiera elementy interfejsu użytkownika (UI) do wyświetlenia na karcie, w tym co najmniej 1 widżetsections
. Aby zbierać informacje od użytkowników, możesz użyć widżetów formularza i widżetu przycisku. Więcej informacji o projektowaniu pól formularza znajdziesz w artykule Zbieranie i przetwarzanie informacji od użytkowników.
Poniższy przykładowy kod pokazuje, jak aplikacja Google Chat zwraca odpowiedź, która otwiera okno dialogowe:
Node.js
Python
Java
Google Apps Script
W tym przykładzie wysyłamy wiadomość z karty, zwracając obiekt JSON karty. Możesz też użyć usługi karty w Apps Script.
Obsługa przesyłania okna dialogowego
Gdy użytkownicy klikną przycisk, który przesyła okno dialogowe, Twoja aplikacja do czatu otrzyma zdarzenie interakcji CARD_CLICKED
, w którym parametr dialogEventType
ma wartość SUBMIT_DIALOG
. Aby dowiedzieć się, jak zbierać i przetwarzać informacje w ramach dialogu, zapoznaj się z artykułem Zbieranie i przetwarzanie informacji od użytkowników Google Chat.
Aplikacja Google Chat musi odpowiedzieć na zdarzenie interakcji, wykonując jedną z tych czynności:
- Zwracanie innego okna, aby wypełnić inną kartę lub formularz.
- Zamknij okno po zweryfikowaniu danych przesłanych przez użytkownika i opcjonalnie wyślij wiadomość z potwierdzeniem.
Opcjonalnie: zwracanie innego okna
Po przesłaniu przez użytkowników początkowego okna dialogowego aplikacje do czatu mogą wyświetlić jedno lub więcej dodatkowych okien, aby pomóc im sprawdzić informacje przed przesłaniem, wypełnić formularze wieloetapowe lub dynamicznie wypełnić zawartość formularzy.
Aby przetwarzać dane wprowadzane przez użytkowników, aplikacja Chat używa obiektu event.common.formInputs
. Więcej informacji o pobieraniu wartości z widżetów z danymi wejściowymi znajdziesz w artykule Zbieranie i przetwarzanie informacji o użytkownikach.
Aby śledzić dane wprowadzane przez użytkowników w pierwszym oknie, musisz dodać parametry do przycisku, który otwiera następne okno. Szczegółowe informacje znajdziesz w artykule Przenoszenie danych na inną kartę.
W tym przykładzie aplikacja do czatu otwiera pierwsze okno dialogowe, które prowadzi do drugiego okna z potwierdzeniem przed przesłaniem:
Node.js
Python
Java
Google Apps Script
W tym przykładzie wysyłamy wiadomość z karty, zwracając obiekt JSON karty. Możesz też użyć usługi karty w Apps Script.
Zamknij okno
Gdy użytkownicy klikną przycisk w dialogu, aplikacja Google Chat wykona powiązane z nim działanie i przekaże obiektowi zdarzenia te informacje:
eventType
toCARD_CLICKED
.dialogEventType
toSUBMIT_DIALOG
.
Aplikacja do obsługi czatu powinna zwrócić obiekt ActionResponse
, którego parametr type
ma wartość DIALOG
, a parametr dialogAction
jest wypełniony. Jeśli akcja się nie powiodła, wartość dialogAction.actionStatus
powinna wynosić OK
.
Opcjonalnie: wyświetlenie tymczasowego powiadomienia
Po zamknięciu okna możesz też wyświetlić tymczasowe powiadomienie tekstowe użytkownikowi, który wchodzi w interakcję z aplikacją.
Aplikacja Chat może odpowiedzieć pomyślnie lub wyświetlić powiadomienie o błędzie, zwracając obiekt ActionResponse
z ustawioną wartością actionStatus
.
W tym przykładzie sprawdzamy, czy parametry są prawidłowe, i zamykamy okno z powiadomieniem tekstowym, jeśli nie są:
Node.js
Python
Java
Google Apps Script
W tym przykładzie wysyłamy wiadomość z karty, zwracając obiekt JSON karty. Możesz też użyć usługi karty w Apps Script.
Szczegółowe informacje o przekazywaniu parametrów między dialogami znajdziesz w artykule Przenoszenie danych na inną kartę.
Opcjonalnie: wysyłanie wiadomości z potwierdzeniem na czacie
Po zamknięciu okna możesz też wysłać nową wiadomość na czacie lub zaktualizować już istniejącą.
Aby wysłać nową wiadomość, zwróć obiekt ActionResponse
, w którego właściwości type
ustawisz wartość NEW_MESSAGE
. W tym przykładzie okno zamyka się po wyświetleniu komunikatu tekstowego z potwierdzeniem:
Node.js
Python
Java
Google Apps Script
W tym przykładzie wysyłamy wiadomość z karty, zwracając obiekt JSON karty. Możesz też użyć usługi karty w Apps Script.
Aby zaktualizować wiadomość, zwróć obiekt actionResponse
zawierający zaktualizowaną wiadomość i ustaw wartość type
na jedną z tych:
UPDATE_MESSAGE
: aktualizuje wiadomość, która wywołała prośbę o dialog.UPDATE_USER_MESSAGE_CARDS
: aktualizuje kartę z podglądu linku.
Rozwiązywanie problemów
Gdy aplikacja Google Chat lub karta zwróci błąd, interfejs Google Chat wyświetli komunikat „Coś poszło nie tak”. lub „Nie udało się przetworzyć Twojej prośby”. Czasami interfejs czatu nie wyświetla żadnego komunikatu o błędzie, ale aplikacja lub karta czatu powoduje nieoczekiwany wynik, na przykład może nie wyświetlać się wiadomość na karcie.
Komunikat o błędzie może się nie wyświetlać w interfejsie czatu, ale gdy włączone jest rejestrowanie błędów w przypadku aplikacji czatu, dostępne są opisowe komunikaty o błędach i dane dziennika, które ułatwiają ich rozwiązywanie. Aby dowiedzieć się, jak wyświetlać, debugować i naprawiać błędy, przeczytaj artykuł Rozwiązywanie problemów z błędami Google Chat.
Powiązane artykuły
- Zobacz przykładową aplikację Contact Manager, która jest aplikacją do obsługi czatu, która używa dialogów do zbierania informacji kontaktowych.
- Otwieranie dialogów na stronie głównej aplikacji Google Chat
- Reagowanie na polecenia aplikacji Google Chat
- Przetwarzanie informacji wprowadzanych przez użytkowników