На этой странице описано, как ваше приложение чата может открывать диалоговые окна для ответа пользователям.
Диалоги представляют собой оконные интерфейсы на основе карточек, которые открываются из чата или сообщения. Диалог и его содержимое видны только пользователю, который его открыл.
Приложения чата могут использовать диалоговые окна для запроса и сбора информации от пользователей чата, включая многоэтапные формы. Дополнительные сведения о создании входных данных формы см. в разделе Сбор и обработка информации от пользователей .
Предварительные условия
Node.js
Приложение Google Chat с интерактивными функциями. Чтобы создать интерактивное приложение чата с использованием службы HTTP, выполните это краткое руководство .Питон
Приложение Google Chat с интерактивными функциями. Чтобы создать интерактивное приложение чата с использованием службы HTTP, выполните это краткое руководство .Ява
Приложение Google Chat с интерактивными функциями. Чтобы создать интерактивное приложение чата с использованием службы HTTP, выполните это краткое руководство .Скрипт приложений
Приложение Google Chat с интерактивными функциями. Чтобы создать интерактивное приложение чата с помощью Apps Script, выполните это краткое руководство .Открыть диалог


В этом разделе объясняется, как ответить и настроить диалог, выполнив следующие действия:
- Запускайте запрос диалога при взаимодействии с пользователем.
- Обработайте запрос, вернувшись и открыв диалоговое окно.
- После того как пользователи отправят информацию, обработайте отправку, закрыв диалоговое окно или вернув другое диалоговое окно.
Запустить запрос диалога
Приложение чата может открывать диалоговые окна только для ответа на взаимодействие с пользователем, например на команду или нажатие кнопки в сообщении на карточке.
Чтобы ответить пользователям с помощью диалогового окна, приложение Chat должно создать взаимодействие, которое запускает запрос диалогового окна, например следующее:
- Ответить на команду. Чтобы инициировать запрос от команды, необходимо установить флажок Открывает диалог при настройке команды .
- Ответьте на нажатие кнопки в сообщении , либо в карточке, либо в нижней части сообщения. Чтобы инициировать запрос от кнопки в сообщении, вы настраиваете действие кнопки
onClick
, устанавливая для нееinteraction
OPEN_DIALOG
. - Ответьте на нажатие кнопки на главной странице приложения Chat . Подробнее об открытии диалоговых окон с домашних страниц см. в разделе Создание домашней страницы для приложения Google Chat .

/addContact
.Сообщение также включает кнопку, которую пользователи могут нажать для запуска команды.
В следующем примере кода показано, как инициировать запрос диалогового окна с помощью кнопки в сообщении с карточкой. Чтобы открыть диалоговое окно, в поле button.interaction
установлено значение OPEN_DIALOG
:
Node.js
Питон
Ява
Скрипт приложений
В этом примере отправляется карточное сообщение, возвращая card JSON . Вы также можете использовать службу карточек Apps Script .
Открыть начальный диалог
Когда пользователь запускает запрос диалога, ваше приложение Chat получает событие взаимодействия, представленное как тип event
в Chat API. Если взаимодействие запускает запрос диалога, поле dialogEventType
события устанавливается в REQUEST_DIALOG
.
Чтобы открыть диалоговое окно, ваше приложение Chat может ответить на запрос, вернув объект actionResponse
с type
, установленным в DIALOG
и объект Message
. Чтобы указать содержимое диалога, вы включаете следующие объекты:
- Объект
actionResponse
сtype
DIALOG
. - Объект
dialogAction
. Полеbody
содержит элементы пользовательского интерфейса (UI), которые будут отображаться на карточке, включая один или несколькоsections
виджетов. Для сбора информации от пользователей вы можете указать виджеты ввода формы и виджет кнопки. Дополнительные сведения о разработке входных данных для форм см. в разделе Сбор и обработка информации от пользователей .
В следующем примере кода показано, как приложение Chat возвращает ответ, открывающий диалоговое окно:
Node.js
Питон
Ява
Скрипт приложений
В этом примере отправляется карточное сообщение, возвращая card JSON . Вы также можете использовать службу карточек Apps Script .
Обработка отправки диалога
Когда пользователи нажимают кнопку, которая отправляет диалоговое окно, ваше приложение Chat получает событие взаимодействия CARD_CLICKED
, где dialogEventType
установлено значение SUBMIT_DIALOG
. Чтобы понять, как собирать и обрабатывать информацию в диалоговом окне, см. раздел Сбор и обработка информации от пользователей чата .
Ваше приложение чата должно отреагировать на событие взаимодействия, выполнив одно из следующих действий:
- Верните другое диалоговое окно , чтобы заполнить другую карточку или форму.
- Закройте диалоговое окно после проверки данных, отправленных пользователем, и, при необходимости, отправьте сообщение с подтверждением.
Необязательно: вернуть другое диалоговое окно.
После того как пользователи отправят исходное диалоговое окно, приложения чата могут вернуть одно или несколько дополнительных диалоговых окон, которые помогут пользователям просмотреть информацию перед отправкой, заполнить многоэтапные формы или динамически заполнить содержимое формы.
Для обработки данных, вводимых пользователями, приложение Chat использует объект event.common.formInputs
. Дополнительные сведения о получении значений из виджетов ввода см. в разделе Сбор и обработка информации от пользователей .
Чтобы отслеживать любые данные, которые пользователи вводят из начального диалогового окна, необходимо добавить параметры к кнопке, открывающей следующее диалоговое окно. Подробности см. в разделе Перенос данных на другую карту .
В этом примере приложение чата открывает начальное диалоговое окно, которое ведет ко второму диалоговому окну для подтверждения перед отправкой:
Node.js
Питон
Ява
Скрипт приложений
В этом примере отправляется карточное сообщение, возвращая card JSON . Вы также можете использовать службу карточек Apps Script .
Закрыть диалог
Когда пользователи нажимают кнопку в диалоговом окне, ваше приложение Chat выполняет соответствующее действие и предоставляет объекту события следующую информацию:
-
eventType
—CARD_CLICKED
. -
dialogEventType
—SUBMIT_DIALOG
.
Приложение Chat должно возвращать объект ActionResponse
с type
установленным на DIALOG
, и заполненным объектом dialogAction
. Если действие не завершилось неудачно, то в dialogAction.actionStatus
должно быть OK
.
Необязательно: отображение временного уведомления
Когда вы закрываете диалоговое окно, вы также можете отобразить временное текстовое уведомление для пользователя, взаимодействующего с приложением.
Приложение Chat может ответить уведомлением об успехе или ошибке, вернув ActionResponse
с установленным actionStatus
.
В следующем примере проверяется допустимость параметров и закрывает диалоговое окно с текстовым уведомлением, если они недействительны:
Node.js
Питон
Ява
Скрипт приложений
В этом примере отправляется карточное сообщение, возвращая card JSON . Вы также можете использовать службу карточек Apps Script .
Подробности о передаче параметров между диалогами см. в разделе Перенос данных на другую карту .
Необязательно: отправьте подтверждающее сообщение в чат.
Закрывая диалоговое окно, вы также можете отправить новое сообщение чата или обновить существующее.
Чтобы отправить новое сообщение, верните объект ActionResponse
с type
NEW_MESSAGE
. В следующем примере диалоговое окно закрывается текстовым сообщением с подтверждением:
Node.js
Питон
Ява
Скрипт приложений
В этом примере отправляется карточное сообщение, возвращая card JSON . Вы также можете использовать службу карточек Apps Script .
Чтобы обновить сообщение, верните объект actionResponse
, который содержит обновленное сообщение и задает один из следующих type
:
-
UPDATE_MESSAGE
: Обновляет сообщение, вызвавшее запрос диалога . -
UPDATE_USER_MESSAGE_CARDS
: обновляет карточку из предварительного просмотра ссылки .
Устранение неполадок
Когда приложение или карточка Google Chat возвращает ошибку, в интерфейсе Chat отображается сообщение «Что-то пошло не так». или «Невозможно обработать ваш запрос». Иногда в пользовательском интерфейсе чата не отображается сообщение об ошибке, но приложение или карточка чата выдает неожиданный результат; например, сообщение с карточкой может не появиться.
Хотя сообщение об ошибке может не отображаться в пользовательском интерфейсе чата, доступны описательные сообщения об ошибках и данные журнала, которые помогут вам исправить ошибки, если включено ведение журнала ошибок для приложений чата. Информацию о просмотре, отладке и исправлении ошибок см. в разделе «Устранение неполадок и исправление ошибок Google Chat» .
Связанные темы
- Ознакомьтесь с примером диспетчера контактов — приложения чата, использующего диалоговые окна для сбора контактной информации.
- Открывайте диалоги на главной странице приложения Google Chat .
- Отвечать на команды приложения Google Chat
- Информация о процессе, введенная пользователями
На этой странице описано, как ваше приложение чата может открывать диалоговые окна для ответа пользователям.
Диалоги представляют собой оконные интерфейсы на основе карточек, которые открываются из чата или сообщения. Диалог и его содержимое видны только пользователю, который его открыл.
Приложения чата могут использовать диалоговые окна для запроса и сбора информации от пользователей чата, включая многоэтапные формы. Дополнительные сведения о создании входных данных формы см. в разделе Сбор и обработка информации от пользователей .
Предварительные условия
Node.js
Приложение Google Chat с интерактивными функциями. Чтобы создать интерактивное приложение чата с использованием службы HTTP, выполните это краткое руководство .Питон
Приложение Google Chat с интерактивными функциями. Чтобы создать интерактивное приложение чата с использованием службы HTTP, выполните это краткое руководство .Ява
Приложение Google Chat с интерактивными функциями. Чтобы создать интерактивное приложение чата с использованием службы HTTP, выполните это краткое руководство .Скрипт приложений
Приложение Google Chat с интерактивными функциями. Чтобы создать интерактивное приложение чата с помощью Apps Script, выполните это краткое руководство .Открыть диалог


В этом разделе объясняется, как ответить и настроить диалог, выполнив следующие действия:
- Запускайте запрос диалога при взаимодействии с пользователем.
- Обработайте запрос, вернувшись и открыв диалоговое окно.
- После того как пользователи отправят информацию, обработайте отправку, закрыв диалоговое окно или вернув другое диалоговое окно.
Запустить запрос диалога
Приложение чата может открывать диалоговые окна только для ответа на взаимодействие с пользователем, например на команду или нажатие кнопки в сообщении на карточке.
Чтобы ответить пользователям с помощью диалогового окна, приложение Chat должно создать взаимодействие, которое запускает запрос диалогового окна, например следующее:
- Ответить на команду. Чтобы инициировать запрос от команды, необходимо установить флажок Открывает диалог при настройке команды .
- Ответьте на нажатие кнопки в сообщении , либо в карточке, либо в нижней части сообщения. Чтобы инициировать запрос от кнопки в сообщении, вы настраиваете действие кнопки
onClick
, устанавливая для нееinteraction
OPEN_DIALOG
. - Ответьте на нажатие кнопки на главной странице приложения Chat . Подробнее об открытии диалоговых окон с домашних страниц см. в разделе Создание домашней страницы для приложения Google Chat .

/addContact
.Сообщение также включает кнопку, которую пользователи могут нажать для запуска команды.
В следующем примере кода показано, как инициировать запрос диалогового окна с помощью кнопки в сообщении с карточкой. Чтобы открыть диалоговое окно, в поле button.interaction
установлено значение OPEN_DIALOG
:
Node.js
Питон
Ява
Скрипт приложений
В этом примере отправляется карточное сообщение, возвращая card JSON . Вы также можете использовать службу карточек Apps Script .
Открыть начальный диалог
Когда пользователь запускает запрос диалога, ваше приложение Chat получает событие взаимодействия, представленное как тип event
в Chat API. Если взаимодействие запускает запрос диалога, поле dialogEventType
события устанавливается в REQUEST_DIALOG
.
Чтобы открыть диалоговое окно, ваше приложение Chat может ответить на запрос, вернув объект actionResponse
с type
, установленным в DIALOG
и объект Message
. Чтобы указать содержимое диалога, вы включаете следующие объекты:
- Объект
actionResponse
сtype
DIALOG
. - Объект
dialogAction
. Полеbody
содержит элементы пользовательского интерфейса (UI), которые будут отображаться на карточке, включая один или несколькоsections
виджетов. Для сбора информации от пользователей вы можете указать виджеты ввода формы и виджет кнопки. Дополнительные сведения о разработке входных данных для форм см. в разделе Сбор и обработка информации от пользователей .
В следующем примере кода показано, как приложение Chat возвращает ответ, открывающий диалоговое окно:
Node.js
Питон
Ява
Скрипт приложений
В этом примере отправляется карточное сообщение, возвращая card JSON . Вы также можете использовать службу карточек Apps Script .
Обработка отправки диалога
Когда пользователи нажимают кнопку, которая отправляет диалоговое окно, ваше приложение Chat получает событие взаимодействия CARD_CLICKED
, где dialogEventType
установлено значение SUBMIT_DIALOG
. Чтобы понять, как собирать и обрабатывать информацию в диалоговом окне, см. раздел Сбор и обработка информации от пользователей чата .
Ваше приложение чата должно отреагировать на событие взаимодействия, выполнив одно из следующих действий:
- Верните другое диалоговое окно , чтобы заполнить другую карточку или форму.
- Закройте диалоговое окно после проверки данных, отправленных пользователем, и, при необходимости, отправьте сообщение с подтверждением.
Необязательно: вернуть другое диалоговое окно.
После того как пользователи отправят исходное диалоговое окно, приложения чата могут вернуть одно или несколько дополнительных диалоговых окон, которые помогут пользователям просмотреть информацию перед отправкой, заполнить многоэтапные формы или динамически заполнить содержимое формы.
Для обработки данных, вводимых пользователями, приложение Chat использует объект event.common.formInputs
. Дополнительные сведения о получении значений из виджетов ввода см. в разделе Сбор и обработка информации от пользователей .
Чтобы отслеживать любые данные, которые пользователи вводят из начального диалогового окна, необходимо добавить параметры к кнопке, открывающей следующее диалоговое окно. Подробности см. в разделе Перенос данных на другую карту .
В этом примере приложение чата открывает начальное диалоговое окно, которое ведет ко второму диалоговому окну для подтверждения перед отправкой:
Node.js
Питон
Ява
Скрипт приложений
В этом примере отправляется карточное сообщение, возвращая card JSON . Вы также можете использовать службу карточек Apps Script .
Закрыть диалог
Когда пользователи нажимают кнопку в диалоговом окне, ваше приложение Chat выполняет соответствующее действие и предоставляет объекту события следующую информацию:
-
eventType
—CARD_CLICKED
. -
dialogEventType
—SUBMIT_DIALOG
.
Приложение Chat должно возвращать объект ActionResponse
с type
установленным на DIALOG
, и заполненным объектом dialogAction
. Если действие не завершилось неудачно, то в dialogAction.actionStatus
должно быть OK
.
Необязательно: отображение временного уведомления
Когда вы закрываете диалоговое окно, вы также можете отобразить временное текстовое уведомление для пользователя, взаимодействующего с приложением.
Приложение Chat может ответить уведомлением об успехе или ошибке, вернув ActionResponse
с установленным actionStatus
.
В следующем примере проверяется допустимость параметров и закрывает диалоговое окно с текстовым уведомлением, если они недействительны:
Node.js
Питон
Ява
Скрипт приложений
В этом примере отправляется карточное сообщение, возвращая card JSON . Вы также можете использовать службу карточек Apps Script .
Подробности о передаче параметров между диалогами см. в разделе Перенос данных на другую карту .
Необязательно: отправьте подтверждающее сообщение в чат.
Закрывая диалоговое окно, вы также можете отправить новое сообщение чата или обновить существующее.
Чтобы отправить новое сообщение, верните объект ActionResponse
с type
NEW_MESSAGE
. В следующем примере диалоговое окно закрывается текстовым сообщением с подтверждением:
Node.js
Питон
Ява
Скрипт приложений
В этом примере отправляется карточное сообщение, возвращая card JSON . Вы также можете использовать службу карточек Apps Script .
Чтобы обновить сообщение, верните объект actionResponse
, который содержит обновленное сообщение и задает один из следующих type
:
-
UPDATE_MESSAGE
: Обновляет сообщение, вызвавшее запрос диалога . -
UPDATE_USER_MESSAGE_CARDS
: обновляет карточку из предварительного просмотра ссылки .
Устранение неполадок
Когда приложение или карточка Google Chat возвращает ошибку, в интерфейсе Chat отображается сообщение «Что-то пошло не так». или «Невозможно обработать ваш запрос». Иногда в пользовательском интерфейсе чата не отображается сообщение об ошибке, но приложение или карточка чата выдает неожиданный результат; например, сообщение с карточкой может не появиться.
Хотя сообщение об ошибке может не отображаться в пользовательском интерфейсе чата, доступны описательные сообщения об ошибках и данные журнала, которые помогут вам исправить ошибки, если включено ведение журнала ошибок для приложений чата. Информацию о просмотре, отладке и исправлении ошибок см. в разделе «Устранение неполадок и исправление ошибок Google Chat» .
Связанные темы
- Ознакомьтесь с примером диспетчера контактов — приложения чата, использующего диалоговые окна для сбора контактной информации.
- Открывайте диалоги на главной странице приложения Google Chat .
- Отвечать на команды приложения Google Chat
- Информация о процессе, введенная пользователями
На этой странице описано, как ваше приложение чата может открывать диалоговые окна для ответа пользователям.
Диалоги представляют собой оконные интерфейсы на основе карточек, которые открываются из чата или сообщения. Диалог и его содержимое видны только пользователю, который его открыл.
Приложения чата могут использовать диалоговые окна для запроса и сбора информации от пользователей чата, включая многоэтапные формы. Дополнительные сведения о создании входных данных формы см. в разделе Сбор и обработка информации от пользователей .
Предварительные условия
Node.js
Приложение Google Chat с интерактивными функциями. Чтобы создать интерактивное приложение чата с использованием службы HTTP, выполните это краткое руководство .Питон
Приложение Google Chat с интерактивными функциями. Чтобы создать интерактивное приложение чата с использованием службы HTTP, выполните это краткое руководство .Ява
Приложение Google Chat с интерактивными функциями. Чтобы создать интерактивное приложение чата с использованием службы HTTP, выполните это краткое руководство .Скрипт приложений
Приложение Google Chat с интерактивными функциями. Чтобы создать интерактивное приложение чата с помощью Apps Script, выполните это краткое руководство .Открыть диалог


В этом разделе объясняется, как ответить и настроить диалог, выполнив следующие действия:
- Запускайте запрос диалога при взаимодействии с пользователем.
- Обработайте запрос, вернувшись и открыв диалоговое окно.
- После того как пользователи отправят информацию, обработайте отправку, закрыв диалоговое окно или вернув другое диалоговое окно.
Запустить запрос диалога
Приложение чата может открывать диалоговые окна только для ответа на взаимодействие с пользователем, например на команду или нажатие кнопки в сообщении на карточке.
Чтобы ответить пользователям с помощью диалогового окна, приложение Chat должно создать взаимодействие, которое запускает запрос диалогового окна, например следующее:
- Ответить на команду. Чтобы инициировать запрос от команды, необходимо установить флажок Открывает диалог при настройке команды .
- Ответьте на нажатие кнопки в сообщении , либо в карточке, либо в нижней части сообщения. Чтобы инициировать запрос от кнопки в сообщении, вы настраиваете действие кнопки
onClick
, устанавливая для нееinteraction
OPEN_DIALOG
. - Ответьте на нажатие кнопки на главной странице приложения Chat . Подробнее об открытии диалоговых окон с домашних страниц см. в разделе Создание домашней страницы для приложения Google Chat .

/addContact
.Сообщение также включает кнопку, которую пользователи могут нажать для запуска команды.
В следующем примере кода показано, как инициировать запрос диалогового окна с помощью кнопки в сообщении с карточкой. Чтобы открыть диалоговое окно, в поле button.interaction
установлено значение OPEN_DIALOG
:
Node.js
Питон
Ява
Скрипт приложений
В этом примере отправляется карточное сообщение, возвращая card JSON . Вы также можете использовать службу карточек Apps Script .
Открыть начальный диалог
Когда пользователь запускает запрос диалога, ваше приложение Chat получает событие взаимодействия, представленное как тип event
в Chat API. Если взаимодействие запускает запрос диалога, поле dialogEventType
события устанавливается в REQUEST_DIALOG
.
Чтобы открыть диалоговое окно, ваше приложение Chat может ответить на запрос, вернув объект actionResponse
с type
, установленным в DIALOG
и объект Message
. Чтобы указать содержимое диалога, вы включаете следующие объекты:
- Объект
actionResponse
сtype
DIALOG
. - Объект
dialogAction
. Полеbody
содержит элементы пользовательского интерфейса (UI), которые будут отображаться на карточке, включая один или несколькоsections
виджетов. Для сбора информации от пользователей вы можете указать виджеты ввода формы и виджет кнопки. Дополнительные сведения о разработке входных данных для форм см. в разделе Сбор и обработка информации от пользователей .
В следующем примере кода показано, как приложение Chat возвращает ответ, открывающий диалоговое окно:
Node.js
Питон
Ява
Скрипт приложений
В этом примере отправляется карточное сообщение, возвращая card JSON . Вы также можете использовать службу карточек Apps Script .
Обработка отправки диалога
Когда пользователи нажимают кнопку, которая отправляет диалоговое окно, ваше приложение Chat получает событие взаимодействия CARD_CLICKED
, где dialogEventType
установлено значение SUBMIT_DIALOG
. Чтобы понять, как собирать и обрабатывать информацию в диалоговом окне, см. раздел Сбор и обработка информации от пользователей чата .
Ваше приложение чата должно отреагировать на событие взаимодействия, выполнив одно из следующих действий:
- Верните другое диалоговое окно , чтобы заполнить другую карточку или форму.
- Закройте диалоговое окно после проверки данных, отправленных пользователем, и, при необходимости, отправьте сообщение с подтверждением.
Необязательно: вернуть другое диалоговое окно.
После того как пользователи отправят исходное диалоговое окно, приложения чата могут вернуть одно или несколько дополнительных диалоговых окон, которые помогут пользователям просмотреть информацию перед отправкой, заполнить многоэтапные формы или динамически заполнить содержимое формы.
Для обработки данных, вводимых пользователями, приложение Chat использует объект event.common.formInputs
. Дополнительные сведения о получении значений из виджетов ввода см. в разделе Сбор и обработка информации от пользователей .
Чтобы отслеживать любые данные, которые пользователи вводят из начального диалогового окна, необходимо добавить параметры к кнопке, открывающей следующее диалоговое окно. Подробности см. в разделе Перенос данных на другую карту .
В этом примере приложение чата открывает начальное диалоговое окно, которое ведет ко второму диалоговому окну для подтверждения перед отправкой:
Node.js
Питон
Ява
Скрипт приложений
В этом примере отправляется карточное сообщение, возвращая card JSON . Вы также можете использовать службу карточек Apps Script .
Закрыть диалог
Когда пользователи нажимают кнопку в диалоговом окне, ваше приложение Chat выполняет соответствующее действие и предоставляет объекту события следующую информацию:
-
eventType
—CARD_CLICKED
. -
dialogEventType
—SUBMIT_DIALOG
.
Приложение Chat должно возвращать объект ActionResponse
с type
установленным на DIALOG
, и заполненным объектом dialogAction
. Если действие не завершилось неудачно, то в dialogAction.actionStatus
должно быть OK
.
Необязательно: отображение временного уведомления
Когда вы закрываете диалоговое окно, вы также можете отобразить временное текстовое уведомление для пользователя, взаимодействующего с приложением.
Приложение Chat может ответить уведомлением об успехе или ошибке, вернув ActionResponse
с установленным actionStatus
.
В следующем примере проверяется допустимость параметров и закрывает диалоговое окно с текстовым уведомлением, если они недействительны:
Node.js
Питон
Ява
Скрипт приложений
В этом примере отправляется карточное сообщение, возвращая card JSON . Вы также можете использовать службу карточек Apps Script .
Подробности о передаче параметров между диалогами см. в разделе Перенос данных на другую карту .
Необязательно: отправьте подтверждающее сообщение в чат.
Закрывая диалоговое окно, вы также можете отправить новое сообщение чата или обновить существующее.
Чтобы отправить новое сообщение, верните объект ActionResponse
с type
NEW_MESSAGE
. В следующем примере диалоговое окно закрывается текстовым сообщением с подтверждением:
Node.js
Питон
Ява
Скрипт приложений
В этом примере отправляется карточное сообщение, возвращая card JSON . Вы также можете использовать службу карточек Apps Script .
Чтобы обновить сообщение, верните объект actionResponse
, который содержит обновленное сообщение и задает один из следующих type
:
-
UPDATE_MESSAGE
: Обновляет сообщение, вызвавшее запрос диалога . -
UPDATE_USER_MESSAGE_CARDS
: обновляет карточку из предварительного просмотра ссылки .
Устранение неполадок
Когда приложение или карточка Google Chat возвращает ошибку, в интерфейсе Chat отображается сообщение «Что-то пошло не так». или «Невозможно обработать ваш запрос». Иногда в пользовательском интерфейсе чата не отображается сообщение об ошибке, но приложение или карточка чата выдает неожиданный результат; например, сообщение с карточкой может не появиться.
Хотя сообщение об ошибке может не отображаться в пользовательском интерфейсе чата, доступны описательные сообщения об ошибках и данные журнала, которые помогут вам исправить ошибки, если включено ведение журнала ошибок для приложений чата. Информацию о просмотре, отладке и исправлении ошибок см. в разделе «Устранение неполадок и исправление ошибок Google Chat» .
Связанные темы
- Ознакомьтесь с примером диспетчера контактов — приложения чата, использующего диалоговые окна для сбора контактной информации.
- Открывайте диалоги на главной странице приложения Google Chat .
- Отвечать на команды приложения Google Chat
- Информация о процессе, введенная пользователями
На этой странице описано, как ваше приложение чата может открывать диалоговые окна для ответа пользователям.
Диалоги представляют собой оконные интерфейсы на основе карточек, которые открываются из чата или сообщения. Диалог и его содержимое видны только пользователю, который его открыл.
Приложения чата могут использовать диалоговые окна для запроса и сбора информации от пользователей чата, включая многоэтапные формы. Дополнительные сведения о создании входных данных формы см. в разделе Сбор и обработка информации от пользователей .
Предварительные условия
Node.js
Приложение Google Chat с интерактивными функциями. Чтобы создать интерактивное приложение чата с использованием службы HTTP, выполните это краткое руководство .Питон
Приложение Google Chat с интерактивными функциями. Чтобы создать интерактивное приложение чата с использованием службы HTTP, выполните это краткое руководство .Ява
Приложение Google Chat с интерактивными функциями. Чтобы создать интерактивное приложение чата с использованием службы HTTP, выполните это краткое руководство .Скрипт приложений
Приложение Google Chat с интерактивными функциями. Чтобы создать интерактивное приложение чата с помощью Apps Script, выполните это краткое руководство .Открыть диалог


В этом разделе объясняется, как ответить и настроить диалог, выполнив следующие действия:
- Запускайте запрос диалога при взаимодействии с пользователем.
- Обработайте запрос, вернувшись и открыв диалоговое окно.
- После того как пользователи отправят информацию, обработайте отправку, закрыв диалоговое окно или вернув другое диалоговое окно.
Запустить запрос диалога
Приложение чата может открывать диалоговые окна только для ответа на взаимодействие с пользователем, например на команду или нажатие кнопки в сообщении на карточке.
Чтобы ответить пользователям с помощью диалогового окна, приложение Chat должно создать взаимодействие, которое запускает запрос диалогового окна, например следующее:
- Ответить на команду. Чтобы инициировать запрос от команды, необходимо установить флажок Открывает диалог при настройке команды .
- Ответьте на нажатие кнопки в сообщении , либо в карточке, либо в нижней части сообщения. Чтобы инициировать запрос от кнопки в сообщении, вы настраиваете действие кнопки
onClick
, устанавливая для нееinteraction
OPEN_DIALOG
. - Ответьте на нажатие кнопки на главной странице приложения Chat . Подробнее об открытии диалоговых окон с домашних страниц см. в разделе Создание домашней страницы для приложения Google Chat .

/addContact
.Сообщение также включает кнопку, которую пользователи могут нажать для запуска команды.
В следующем примере кода показано, как инициировать запрос диалогового окна с помощью кнопки в сообщении с карточкой. Чтобы открыть диалоговое окно, в поле button.interaction
установлено значение OPEN_DIALOG
:
Node.js
Питон
Ява
Скрипт приложений
В этом примере отправляется карточное сообщение, возвращая card JSON . Вы также можете использовать службу карточек Apps Script .
Открыть начальный диалог
Когда пользователь запускает запрос диалога, ваше приложение Chat получает событие взаимодействия, представленное как тип event
в Chat API. Если взаимодействие запускает запрос диалога, поле dialogEventType
события устанавливается в REQUEST_DIALOG
.
Чтобы открыть диалоговое окно, ваше приложение Chat может ответить на запрос, вернув объект actionResponse
с type
, установленным в DIALOG
и объект Message
. Чтобы указать содержимое диалога, вы включаете следующие объекты:
- Объект
actionResponse
, с егоtype
установленным дляDIALOG
. - Объект
dialogAction
. Полеbody
содержит элементы пользовательского интерфейса (UI) для отображения на карте, включая один или несколькоsections
виджетов. Чтобы собрать информацию от пользователей, вы можете указать виджеты ввода формы и виджет кнопок. Чтобы узнать больше о разработке входов форм, см. Информацию о сборе и обработке от пользователей .
Следующий образец кода показывает, как приложение чата возвращает ответ, который открывает диалог:
Node.js
Питон
Ява
Приложения скрипт
Этот пример отправляет карточное сообщение, возвращая карту JSON . Вы также можете использовать службу карт сценариев приложений .
Обработка диалогового представления
Когда пользователи нажимают кнопку, которая подчиняет диалоговое окно, ваше приложение в чате получает событие взаимодействия CARD_CLICKED
, где dialogEventType
SUBMIT_DIALOG
. Чтобы понять, как собирать и обработать информацию в диалоговом окне, см. Соберите информацию и обработка информации от пользователей чата .
Ваше приложение для чата должно ответить на событие взаимодействия, выполнив одно из следующих действий:
- Верните еще один диалог , чтобы заполнить другую карту или форму.
- Закройте диалог после проверки данных, которые пользователь отправил, и, необязательно, отправьте подтверждающее сообщение.
Необязательно: вернуть еще один диалог
После того, как пользователи отправляют начальный диалог, приложения чата могут возвращать одно или несколько дополнительных диалогов, чтобы помочь пользователям просмотреть информацию перед отправкой, заполнять многоэтапные формы или динамически заполнить контент формы.
Чтобы обработать данные, которые вводят пользователи, приложение Chat использует объект event.common.formInputs
. Чтобы узнать больше о получении значений из входных виджетов, см . Соберите информацию и обработка информации от пользователей .
Чтобы отслеживать любые данные, которые пользователи вводят из начального диалога, вы должны добавить параметры к кнопке, которая открывает следующий диалог. Для получения подробной информации см. Данные передачи на другую карту .
В этом примере приложение чата открывает начальный диалог, который приводит ко второму диалогу для подтверждения перед отправкой:
Node.js
Питон
Ява
Приложения скрипт
Этот пример отправляет карточное сообщение, возвращая карту JSON . Вы также можете использовать службу карт сценариев приложений .
Закройте диалог
Когда пользователи нажимают кнопку в диалоговом окне, ваше приложение чата выполняет связанное с этим действие и предоставляет объект события следующую информацию:
-
eventType
-CARD_CLICKED
. -
dialogEventType
- этоSUBMIT_DIALOG
.
Приложение Chat должно вернуть объект ActionResponse
с его type
настройки для DIALOG
, а диалога и заполненного dialogAction
. Если действие не удалось OK
то dialogAction.actionStatus
.
Необязательно: отображать временное уведомление
Когда вы закрываете диалог, вы также можете отобразить временное текстовое уведомление пользователю, которое взаимодействует с приложением.
Приложение Chat может ответить с уведомлением о успехе или ошибках, возвращая ActionResponse
с набором actionStatus
.
В следующем примере проверяется, что параметры действительны, и закрывает диалог с уведомлением о текстах, когда недействительна:
Node.js
Питон
Ява
Приложения скрипт
Этот пример отправляет карточное сообщение, возвращая карту JSON . Вы также можете использовать службу карт сценариев приложений .
Для получения подробной информации о передаче параметров между диалогами см. Данные передачи на другую карту .
Необязательно: отправить сообщение об подтверждении чата
Когда вы закрываете диалог, вы также можете отправить новое сообщение чата или обновить существующее.
Чтобы отправить новое сообщение, верните объект ActionResponse
с type
, установленным на NEW_MESSAGE
. Следующий пример закрывает диалог с помощью подтверждения текстового сообщения:
Node.js
Питон
Ява
Приложения скрипт
Этот пример отправляет карточное сообщение, возвращая карту JSON . Вы также можете использовать службу карт сценариев приложений .
Чтобы обновить сообщение, верните объект actionResponse
, который содержит обновленное сообщение, и устанавливает type
на одно из следующих:
-
UPDATE_MESSAGE
: обновляет сообщение, которое вызвало запрос на диалоговое окно . -
UPDATE_USER_MESSAGE_CARDS
: обновляет карту из предварительного просмотра ссылки .
Устранение неполадок
Когда приложение или карта Google Чат возвращает ошибку, интерфейс чата наносит сообщение в сообщение «что -то пошло не так». или «Невозможно обработать ваш запрос». Иногда пользовательский интерфейс чата не отображает никакого сообщения об ошибке, но приложение или карта чата дают неожиданный результат; Например, карточное сообщение может не появиться.
Хотя сообщение об ошибке может не отображаться в пользовательском интерфейсе чата, доступны описательные сообщения об ошибках и данные журнала, чтобы помочь вам исправить ошибки при включении регистрации ошибок для приложений в чате. Для просмотра помощи, отладки и исправления ошибок см. Устранение неполадок и исправить ошибки в чате Google .
Связанные темы
- Посмотреть пример Contact Manager , который представляет собой приложение для чата, которое использует диалоги для сбора контактной информации.
- Откройте диалоги с домашней страницы приложения Google Chat .
- Ответьте на команды приложения Google Chat
- Информация о процессе, введенная пользователями