Package google.apps.card.v1

Индекс

Действие

Действие, описывающее поведение при отправке формы. Например, вы можете вызвать скрипт Apps Script для обработки формы. Если действие срабатывает, значения формы отправляются на сервер.

Доступно для приложений Google Chat и дополнений Google Workspace.

Поля
function

string

Пользовательская функция, вызываемая при щелчке по содержащему элементу или при его иной активации.

Пример использования см. в разделе «Чтение данных формы» .

parameters[]

ActionParameter

Список параметров действия.

load_indicator

LoadIndicator

Указывает индикатор загрузки, который отображается при вызове действия.

persist_values

bool

Указывает, сохраняются ли значения формы после выполнения действия. Значение по умолчанию — false .

Если true , значения формы сохраняются после запуска действия. Чтобы пользователь мог вносить изменения во время обработки действия, установите LoadIndicator в NONE . Для сообщений в виде карточек в чат-приложениях необходимо также установить ResponseType действия в значение UPDATE_MESSAGE и использовать тот же card_id что и карточка, содержащая действие.

Если false , значения формы очищаются при срабатывании действия. Чтобы предотвратить внесение пользователем изменений во время обработки действия, установите для LoadIndicator SPINNER .

interaction

Interaction

Необязательно. Обязательно при открытии диалогового окна .

Что делать в ответ на взаимодействие с пользователем, например, когда пользователь нажимает кнопку в сообщении-карточке?

Если параметр не указан, приложение реагирует, выполняя action — например, открывая ссылку или запуская функцию — как обычно.

Указав параметр interaction , приложение может реагировать особыми интерактивными способами. Например, установив interaction на OPEN_DIALOG , приложение может открыть диалоговое окно . При указании этого параметра индикатор загрузки не отображается. Если параметр указан для дополнения, вся карточка удаляется, и на экране клиента ничего не отображается.

Доступно для приложений Google Chat, но недоступно для дополнений Google Workspace.

required_widgets[]

string

Необязательно. Заполните этот список названиями виджетов, необходимых для корректной отправки данного действия.

Если при вызове этого действия у перечисленных здесь виджетов отсутствует значение, отправка формы будет прервана.

Доступно для приложений Google Chat и дополнений Google Workspace.

all_widgets_are_required

bool

Необязательно. Если это так, то все виджеты считаются обязательными для данного действия.

Доступно для приложений Google Chat и дополнений Google Workspace.

Параметр действия

Список строковых параметров, которые необходимо передать при вызове метода действия. Например, рассмотрим три кнопки отложенного будильника: отложить сейчас, отложить через день или отложить на следующей неделе. Вы можете использовать action method = snooze() , передав тип и время отложенного будильника в списке строковых параметров.

Для получения более подробной информации см. CommonEventObject .

Доступно для приложений Google Chat и дополнений Google Workspace.

Поля
key

string

Название параметра для скрипта действия.

value

string

Значение параметра.

Взаимодействие

Необязательно. Обязательно при открытии диалогового окна .

Что делать в ответ на взаимодействие с пользователем, например, когда пользователь нажимает кнопку в сообщении-карточке?

Если параметр не указан, приложение реагирует, выполняя action — например, открывая ссылку или запуская функцию — как обычно.

Указав тип interaction , приложение может реагировать особыми интерактивными способами. Например, установив interaction на OPEN_DIALOG , приложение может открыть диалоговое окно .

Если указано иное, индикатор загрузки не отображается. Если указано иное для дополнения, вся карточка удаляется, и в клиентском приложении ничего не отображается.

Доступно для приложений Google Chat, но недоступно для дополнений Google Workspace.

Перечисления
INTERACTION_UNSPECIFIED Значение по умолчанию. action выполняется в обычном режиме.
OPEN_DIALOG

Открывает диалоговое окно — оконный интерфейс на основе карточек, который приложения для чата используют для взаимодействия с пользователями.

Поддерживается только в чат-приложениях в ответ на нажатия кнопок в сообщениях-карточках. Если указано для дополнения, вся карточка удаляется, и в клиенте ничего не отображается.

Доступно для приложений Google Chat, но недоступно для дополнений Google Workspace.

LoadIndicator

Указывает индикатор загрузки, который отображается при вызове действия.

Доступно для приложений Google Chat и дополнений Google Workspace.

Перечисления
SPINNER Отображает индикатор загрузки контента.
NONE Ничего не отображается.

BorderStyle

Параметры оформления границы карточки или виджета, включая тип и цвет границы.

Доступно для приложений Google Chat и дополнений Google Workspace.

Поля
type

BorderType

Тип границы.

stroke_color

Color

Цвета, используемые при типе BORDER_TYPE_STROKE .

Чтобы задать цвет обводки, укажите значения для полей red , green и blue . Значение должно быть числом с плавающей запятой от 0 до 1, основанным на цветовой модели RGB, где 0 (0/255) означает отсутствие цвета, а 1 (255/255) — максимальную интенсивность цвета.

Например, следующий код устанавливает цвет на красный с максимальной интенсивностью:

"color": {
   "red": 1,
   "green": 0,
   "blue": 0,
}

Поле alpha недоступно для цвета обводки. Если оно указано, это поле игнорируется.

corner_radius

int32

Радиус скругления углов для границы.

BorderType

Отображает типы границ, применяемые к виджетам.

Доступно для приложений Google Chat и дополнений Google Workspace.

Перечисления
BORDER_TYPE_UNSPECIFIED Не использовать. Не указано.
NO_BORDER Нет границ.
STROKE Значение по умолчанию. Структура.

Кнопка

Текстовая кнопка, кнопка с иконкой или кнопка, включающая текст и иконку, на которую могут нажимать пользователи. Пример использования в приложениях Google Chat см. в разделе «Добавить кнопку» .

Чтобы сделать изображение кликабельной кнопкой, укажите Image (а не ImageComponent ) и задайте действие onClick .

Доступно для приложений Google Chat и дополнений Google Workspace.

Поля
text

string

Текст, отображаемый внутри кнопки.

icon

Icon

Значок, отображаемый внутри кнопки. Если заданы и icon , и text , то значок отображается перед текстом.

color

Color

Необязательный параметр. Цвет кнопки. Если задан, type кнопки устанавливается как FILLED , а цвет text и icon устанавливается на контрастный цвет для лучшей читаемости. Например, если цвет кнопки установлен на синий, любой текст или значки на кнопке будут белыми.

Чтобы задать цвет кнопки, укажите значения для полей red , green и blue . Значение должно быть числом с плавающей запятой от 0 до 1, основанным на цветовой модели RGB, где 0 (0/255) означает отсутствие цвета, а 1 (255/255) — максимальную интенсивность цвета.

Например, следующий код устанавливает цвет на красный с максимальной интенсивностью:

"color": {
   "red": 1,
   "green": 0,
   "blue": 0,
}

Поле alpha недоступно для выбора цвета кнопки. Если оно указано, это поле игнорируется.

on_click

OnClick

Обязательно. Действие, которое выполняется при нажатии пользователем кнопки, например, открытие гиперссылки или запуск пользовательской функции.

disabled

bool

Если true , кнопка отображается в неактивном состоянии и не реагирует на действия пользователя.

alt_text

string

Альтернативный текст, используемый для обеспечения доступности.

Добавьте описательный текст, который сообщит пользователям, что делает кнопка. Например, если кнопка открывает гиперссылку, вы можете написать: «Открывает новую вкладку браузера и переходит к документации для разработчиков Google Chat по адресу https://developers.google.com/workspace/chat» .

type

Type

Необязательный параметр. Тип кнопки. Если не задано, тип кнопки по умолчанию — OUTLINED . Если задано поле color , тип кнопки принудительно устанавливается на FILLED , и любое значение, заданное для этого поля, игнорируется.

Тип

Необязательный параметр. Тип кнопки. Если задано поле color , type принудительно устанавливается на FILLED .

Доступно для приложений Google Chat, но недоступно для дополнений Google Workspace.

Перечисления
TYPE_UNSPECIFIED Не использовать. Не указано.
OUTLINED Кнопки с контуром — это кнопки со средней степенью акцента. Обычно они содержат действия, которые важны, но не являются основными действиями в приложении чата или дополнении.
FILLED Заполненная кнопка имеет контейнер сплошного цвета. Она оказывает наибольшее визуальное воздействие и рекомендуется для важных и основных действий в чат-приложении или дополнении.
FILLED_TONAL Заполненная тональная кнопка представляет собой промежуточный вариант между заполненными и обведенными кнопками. Она полезна в ситуациях, когда кнопка с более низким приоритетом требует немного большего акцента, чем кнопка с обведенной рамкой.
BORDERLESS В своем стандартном состоянии кнопка не имеет невидимого контейнера. Она часто используется для действий с самым низким приоритетом, особенно при отображении нескольких вариантов.

ButtonList

Список кнопок, расположенных горизонтально. Пример использования в приложениях Google Chat см. в разделе «Добавить кнопку» .

Доступно для приложений Google Chat и дополнений Google Workspace.

Поля
buttons[]

Button

Набор кнопок.

Карта

Карточный интерфейс, отображаемый в сообщении Google Chat или в дополнении Google Workspace.

Карточки поддерживают заданную структуру, интерактивные элементы пользовательского интерфейса, такие как кнопки, и мультимедийный контент, например изображения. Используйте карточки для представления подробной информации, сбора информации от пользователей и направления пользователей к следующему шагу.

Создавайте и просматривайте карточки с помощью конструктора карточек.

Откройте конструктор карточек.

Чтобы узнать, как создавать карточки, ознакомьтесь со следующей документацией:

Примечание: на каждую карточку можно добавить до 100 виджетов. Виджеты, превышающие этот лимит, игнорируются. Это ограничение распространяется как на сообщения и диалоги в карточках в приложениях Google Chat, так и на карточки в надстройках Google Workspace.

Пример: Сообщение-открытка для приложения Google Chat

Пример контактной карты

Для создания примера сообщения в Google Chat используйте следующий JSON:

{
  "cardsV2": [
    {
      "cardId": "unique-card-id",
      "card": {
        "header": {
           "title": "Sasha",
           "subtitle": "Software Engineer",
           "imageUrl":
           "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png",
           "imageType": "CIRCLE",
           "imageAltText": "Avatar for Sasha"
         },
         "sections": [
           {
             "header": "Contact Info",
             "collapsible": true,
             "uncollapsibleWidgetsCount": 1,
             "widgets": [
               {
                 "decoratedText": {
                   "startIcon": {
                     "knownIcon": "EMAIL"
                   },
                   "text": "sasha@example.com"
                 }
               },
               {
                 "decoratedText": {
                   "startIcon": {
                     "knownIcon": "PERSON"
                   },
                   "text": "<font color=\"#80e27e\">Online</font>"
                 }
               },
               {
                 "decoratedText": {
                   "startIcon": {
                     "knownIcon": "PHONE"
                   },
                   "text": "+1 (555) 555-1234"
                 }
               },
               {
                 "buttonList": {
                   "buttons": [
                     {
                       "text": "Share",
                       "onClick": {
                        "openLink": {
                           "url": "https://example.com/share"
                         }
                       }
                     },
                     {
                       "text": "Edit",
                       "onClick": {
                         "action": {
                           "function": "goToView",
                           "parameters": [
                             {
                               "key": "viewType",
                               "value": "EDIT"
                             }
                           ]
                         }
                       }
                     }
                   ]
                 }
               }
             ]
           }
         ]
       }
    }
  ]
}
Поля
header

CardHeader

Заголовок карточки. Заголовок обычно содержит основное изображение и заголовок. Заголовки всегда располагаются в верхней части карточки.

sections[]

Section

Содержит набор виджетов. Каждый раздел имеет свой собственный, необязательный заголовок. Разделы визуально разделены разделительной линией. Пример использования в приложениях Google Chat см. в разделе «Определение раздела карточки» .

section_divider_style

DividerStyle

Стиль разделителя между заголовком, разделами и нижним колонтитулом.

card_actions[]

CardAction

Действия карточки. Действия добавляются в меню панели инструментов карточки.

Доступно для дополнений Google Workspace и недоступно для приложений Google Chat.

Например, следующий JSON-код формирует меню действий в виде карточки с опциями Settings и Send Feedback :

"card_actions": [
  {
    "actionLabel": "Settings",
    "onClick": {
      "action": {
        "functionName": "goToView",
        "parameters": [
          {
            "key": "viewType",
            "value": "SETTING"
         }
        ],
        "loadIndicator": "LoadIndicator.SPINNER"
      }
    }
  },
  {
    "actionLabel": "Send Feedback",
    "onClick": {
      "openLink": {
        "url": "https://example.com/feedback"
      }
    }
  }
]
name

string

Название карты. Используется в качестве идентификатора карты при навигации по картам.

Доступно для дополнений Google Workspace и недоступно для приложений Google Chat.

display_style

DisplayStyle

В дополнениях Google Workspace задаются свойства отображения элемента peekCardHeader .

Доступно для дополнений Google Workspace и недоступно для приложений Google Chat.

peek_card_header

CardHeader

При отображении контекстного контента заголовок карточки "Предварительный просмотр" выступает в качестве заполнителя, позволяющего пользователю переходить между карточками на главной странице и контекстными карточками.

Доступно для дополнений Google Workspace и недоступно для приложений Google Chat.

expression_data[]

ExpressionData

Данные выражения для карты.

Доступно для дополнений Google Workspace, расширяющих функциональность Google Workspace Studio. Недоступно для приложений Google Chat.

CardAction

Действие на карточке — это действие, связанное с данной карточкой. Например, карточка счета-фактуры может включать такие действия, как удаление счета-фактуры, отправка счета-фактуры по электронной почте или открытие счета-фактуры в браузере.

Доступно для дополнений Google Workspace и недоступно для приложений Google Chat.

Поля
action_label

string

Метка, отображаемая в качестве пункта меню действий.

on_click

OnClick

Действие onClick для этого элемента действия.

CardFixedFooter

Постоянно отображающийся (липкий) нижний колонтитул, который появляется внизу карточки.

Установка fixedFooter без указания primaryButton или secondaryButton приводит к ошибке.

В приложениях для чата можно использовать фиксированные нижние колонтитулы в диалогах , но не в сообщениях-карточках . Пример использования в приложениях Google Chat см. в разделе « Добавление постоянного нижнего колонтитула» .

Доступно для приложений Google Chat и дополнений Google Workspace.

Поля
primary_button

Button

Основная кнопка фиксированного нижнего колонтитула. Кнопка должна быть текстовой, с заданным текстом и цветом.

secondary_button

Button

Вторичная кнопка фиксированного нижнего колонтитула. Кнопка должна быть текстовой, с заданным текстом и цветом. Если задан параметр secondaryButton , необходимо также задать primaryButton .

CardHeader

Представляет собой заголовок карточки. Пример использования в приложениях Google Chat см. в разделе «Добавление заголовка» .

Доступно для приложений Google Chat и дополнений Google Workspace.

Поля
title

string

Обязательно. Заголовок верхней части карточки. Высота заголовка фиксирована: если указаны и заголовок, и подзаголовок, каждый занимает одну строку. Если указан только заголовок, он занимает обе строки.

subtitle

string

Подзаголовок заголовка карточки. Если указан, отображается на отдельной строке под title .

image_type

ImageType

Форма, используемая для обрезки изображения.

Доступно для приложений Google Chat и дополнений Google Workspace.

image_url

string

HTTPS-адрес изображения в заголовке карточки.

image_alt_text

string

Альтернативный текст этого изображения, используемый для обеспечения доступности.

DisplayStyle

В надстройках Google Workspace этот параметр определяет способ отображения карточки.

Доступно для дополнений Google Workspace и недоступно для приложений Google Chat.

Перечисления
DISPLAY_STYLE_UNSPECIFIED Не использовать. Не указано.
PEEK Заголовок карточки отображается внизу боковой панели, частично закрывая текущую верхнюю карточку в стопке. Щелчок по заголовку помещает карточку в стопку. Если у карточки нет заголовка, используется сгенерированный заголовок.
REPLACE Значение по умолчанию. Карта отображается путем замены вида верхней карты в стопке карт.

Стиль разделителя

Тип разделителя на карточке. В настоящее время используется только для разделения секций карточки.

Доступно для приложений Google Chat и дополнений Google Workspace.

Перечисления
DIVIDER_STYLE_UNSPECIFIED Не использовать. Не указано.
SOLID_DIVIDER Вариант по умолчанию. Отобразить сплошной разделитель.
NO_DIVIDER Если задан этот параметр, разделитель не отображается. Этот стиль полностью удаляет разделитель из макета. Результат эквивалентен полному отсутствию разделителя.

Вложенный виджет

Список виджетов, которые могут отображаться во содержащемся макете, например, CarouselCard . Доступно для приложений Google Chat, но недоступно для дополнений Google Workspace.

Поля

data по полям Союза.

data могут быть только одного из следующих типов:

text_paragraph

TextParagraph

Виджет для отображения текстовых абзацев.

button_list

ButtonList

Виджет в виде списка с кнопками.

image

Image

Виджет для отображения изображений.

Раздел

Раздел содержит набор виджетов, которые отображаются вертикально в том порядке, в котором они указаны.

Доступно для приложений Google Chat и дополнений Google Workspace.

Поля
header

string

Текст, отображаемый в верхней части раздела. Поддерживается простой HTML-форматированный текст. Для получения дополнительной информации о форматировании текста см. разделы «Форматирование текста в приложениях Google Chat» и «Форматирование текста в надстройках Google Workspace».

widgets[]

Widget

Все виджеты в разделе. Должен содержать как минимум один виджет.

collapsible

bool

Указывает, можно ли свернуть этот раздел.

Сворачиваемые разделы скрывают некоторые или все виджеты, но пользователи могут развернуть раздел, чтобы отобразить скрытые виджеты, нажав «Показать больше» . Пользователи могут снова скрыть виджеты, нажав «Показать меньше» .

Чтобы определить, какие виджеты скрыты, укажите параметр uncollapsibleWidgetsCount .

uncollapsible_widgets_count

int32

Количество несворачиваемых виджетов, которые остаются видимыми даже при свернутом разделе.

Например, если раздел содержит пять виджетов, а параметр uncollapsibleWidgetsCount установлен на 2 , то по умолчанию всегда отображаются первые два виджета, а последние три свернуты. Параметр uncollapsibleWidgetsCount учитывается только тогда, когда collapsible имеет true .

id

string

Уникальный идентификатор, присваиваемый разделу и используемый для идентификации раздела, подлежащего изменению. Идентификатор имеет ограничение в 64 символа и должен быть в формате [a-zA-Z0-9-]+ .

Доступно для дополнений Google Workspace, расширяющих функциональность Google Workspace Studio. Недоступно для приложений Google Chat.

collapse_control

CollapseControl

Необязательно. Определите кнопки развертывания и сворачивания раздела. Эта кнопка будет отображаться только в том случае, если раздел является сворачиваемым. Если это поле не задано, используется кнопка по умолчанию.

Видимость

Указывает, является ли элемент пользовательского интерфейса видимым или скрытым.

Доступно для дополнений Google Workspace, расширяющих функциональность Google Workspace Studio. Недоступно для приложений Google Chat.

Перечисления
VISIBILITY_UNSPECIFIED Неуказанная видимость. Не использовать.
VISIBLE Элемент пользовательского интерфейса виден.
HIDDEN Элемент пользовательского интерфейса скрыт.

Карусель, также известная как слайдер, вращается и отображает список виджетов в формате слайд-шоу, а кнопки позволяют переключаться между предыдущим и следующим виджетом.

Например, это JSON-представление карусели, содержащей три виджета с текстовыми абзацами.

{
  "carouselCards": [
    {
      "widgets": [
        {
          "textParagraph": {
            "text": "First text paragraph in carousel",
          }
        }
      ]
    },
    {
      "widgets": [
        {
          "textParagraph": {
            "text": "Second text paragraph in carousel",
          }
        }
      ]
    },
    {
      "widgets": [
        {
          "textParagraph": {
            "text": "Third text paragraph in carousel",
          }
        }
      ]
    }
  ]
}

Доступно для приложений Google Chat, но недоступно для дополнений Google Workspace.

Поля
carousel_cards[]

CarouselCard

Список карточек, включенных в карусель.

CarouselCard

Карточка, которую можно отображать в виде элемента карусели. Доступно для приложений Google Chat, но недоступно для дополнений Google Workspace.

Поля
widgets[]

NestedWidget

Список виджетов, отображаемых в карусельной карточке. Виджеты отображаются в том порядке, в котором они указаны.

footer_widgets[]

NestedWidget

Список виджетов, отображаемых в нижней части карточки карусели. Виджеты отображаются в том порядке, в котором они указаны.

Чип

Текст, значок или комбинация текста и значка, на которые пользователи могут нажать.

Доступно для приложений Google Chat и дополнений Google Workspace.

Поля
icon

Icon

Изображение значка. Если заданы и icon , и text , то значок отображается перед текстом.

label

string

Текст, отображаемый внутри чипа.

on_click

OnClick

Необязательно. Действие, которое будет выполнено при щелчке пользователя по чипу, например, открытие гиперссылки или запуск пользовательской функции.

enabled
(deprecated)

bool

Определяет, находится ли чип в активном состоянии и реагирует ли он на действия пользователя. По умолчанию — true . Устарело. Используйте disabled вместо этого.

disabled

bool

Определяет, находится ли чип в неактивном состоянии и игнорирует ли действия пользователя. По умолчанию — false .

alt_text

string

Альтернативный текст, используемый для обеспечения доступности.

Укажите описательный текст, который сообщит пользователям, что делает чип. Например, если чип открывает гиперссылку, напишите: «Открывает новую вкладку браузера и переходит к документации для разработчиков Google Chat по адресу https://developers.google.com/workspace/chat» .

Список чипов

Список микросхем, расположенных горизонтально, может либо прокручиваться по горизонтали, либо переноситься на следующую строку.

Доступно для приложений Google Chat и дополнений Google Workspace.

Поля
layout

Layout

Указанная структура списка микросхем.

chips[]

Chip

Набор микросхем.

Макет

Структура списка микросхем.

Перечисления
LAYOUT_UNSPECIFIED Не использовать. Не указано.
WRAPPED Значение по умолчанию. Список микросхем переносится на следующую строку, если недостаточно горизонтального пространства.
HORIZONTAL_SCROLLABLE Если фишки не помещаются в отведенное для них место, они перемещаются горизонтально.

CollapseControl

Представляет собой элементы управления разворачиванием и сворачиванием.

Доступно для приложений Google Chat и дополнений Google Workspace.

Поля
horizontal_alignment

HorizontalAlignment

Горизонтальное выравнивание кнопок развертывания и сворачивания.

expand_button

Button

Необязательно. Определите настраиваемую кнопку для разворачивания раздела. Необходимо задать значения как в поле expand_button, так и в поле collapse_button. Если задано только одно из полей, это не повлияет на результат. Если это поле не задано, используется кнопка по умолчанию.

collapse_button

Button

Необязательно. Определите настраиваемую кнопку для сворачивания раздела. Необходимо задать значения как в поле expand_button, так и в поле collapse_button. Если задано только одно из полей, это не повлияет на результат. Если это поле не задано, используется кнопка по умолчанию.

Колонки

Виджет Columns отображает до 2 столбцов в карточке или диалоговом окне. Вы можете добавить виджеты в каждый столбец; виджеты отображаются в том порядке, в котором они указаны. Пример использования в приложениях Google Chat см. в разделе « Отображение карточек и диалоговых окон в столбцах» .

Высота каждого столбца определяется высотой более высокого столбца. Например, если первый столбец выше второго, то оба столбца будут иметь высоту первого столбца. Поскольку каждый столбец может содержать разное количество виджетов, нельзя определять строки или выравнивать виджеты между столбцами.

Столбцы отображаются рядом друг с другом. Вы можете настроить ширину каждого столбца с помощью поля HorizontalSizeStyle . Если ширина экрана пользователя слишком мала, второй столбец будет переноситься ниже первого:

  • В веб-браузере второй столбец переносится на следующую строку, если ширина экрана меньше или равна 480 пикселям.
  • На устройствах iOS второй столбец переносится на следующую строку, если ширина экрана меньше или равна 300 pt.
  • На устройствах Android второй столбец переносится на следующую строку, если ширина экрана меньше или равна 320 dp.

Чтобы добавить более двух столбцов или использовать строки, воспользуйтесь виджетом Grid .

Доступно для приложений Google Chat и дополнений Google Workspace. К дополнениям, поддерживающим столбцы, относятся:

  • Диалоговое окно, отображаемое при открытии пользователями дополнения из черновика электронного письма.
  • Диалоговое окно, отображаемое при открытии пользователями дополнения из меню «Добавить вложение» в событии календаря Google.
Поля
column_items[]

Column

Массив столбцов. В карточку или диалоговое окно можно включить до 2 столбцов.

Столбец

Колонна.

Дополнения Google Workspace и приложения для чата

Поля
horizontal_size_style

HorizontalSizeStyle

Определяет, как столбец заполняет ширину карточки.

horizontal_alignment

HorizontalAlignment

Указывает, будут ли виджеты выравниваться по левому, правому краю или по центру колонки.

vertical_alignment

VerticalAlignment

Указывает, будут ли виджеты выравниваться по верхнему, нижнему или центру колонки.

widgets[]

Widgets

Массив виджетов, размещенных в столбце. Виджеты отображаются в том порядке, в котором они указаны.

HorizontalSizeStyle

Определяет, как столбец заполняет ширину карточки. Ширина каждого столбца зависит как от параметра HorizontalSizeStyle , так и от ширины виджетов внутри столбца.

Дополнения Google Workspace и приложения для чата

Перечисления
HORIZONTAL_SIZE_STYLE_UNSPECIFIED Не использовать. Не указано.
FILL_AVAILABLE_SPACE Значение по умолчанию. Столбец заполняет доступное пространство, до 70% ширины карточки. Если для обоих столбцов установлено значение FILL_AVAILABLE_SPACE , каждый столбец заполняет 50% пространства.
FILL_MINIMUM_SPACE Столбец занимает минимально возможное пространство, не более 30% ширины карточки.

Вертикальное выравнивание

Указывает, будут ли виджеты выравниваться по верхнему, нижнему или центру колонки.

Дополнения Google Workspace и приложения для чата

Перечисления
VERTICAL_ALIGNMENT_UNSPECIFIED Не использовать. Не указано.
CENTER Значение по умолчанию. Выравнивает виджеты по центру колонки.
TOP Выравнивает виджеты по верхнему краю колонки.
BOTTOM Выравнивает виджеты по нижнему краю колонки.

Виджеты

Список поддерживаемых виджетов, которые можно включить в колонку.

Дополнения Google Workspace и приложения для чата

Поля

data по полям Союза.

data могут быть только одного из следующих типов:

text_paragraph

TextParagraph

Виджет TextParagraph .

image

Image

Виджет Image .

decorated_text

DecoratedText

Виджет DecoratedText .

button_list

ButtonList

Виджет ButtonList .

text_input

TextInput

Виджет TextInput .

selection_input

SelectionInput

Виджет SelectionInput .

date_time_picker

DateTimePicker

Виджет DateTimePicker .

chip_list

ChipList

Виджет ChipList .

Состояние

Представляет собой условие, которое может быть использовано для запуска действия.

Доступно для дополнений Google Workspace, расширяющих функциональность Google Workspace Studio. Недоступно для приложений Google Chat.

Поля
action_rule_id

string

Уникальный идентификатор правила действия (ActionRule).

condition поля объединения. condition может быть только одним из следующих:
expression_data_condition

ExpressionDataCondition

Состояние, определяемое данными экспрессии.

ExpressionDataCondition

Представляет собой состояние, которое оценивается с помощью CEL.

Доступно для дополнений Google Workspace, расширяющих функциональность Google Workspace Studio. Недоступно для приложений Google Chat.

Поля
condition_type

ConditionType

Тип заболевания.

ConditionType

Тип заболевания.

Перечисления
CONDITION_TYPE_UNSPECIFIED Тип заболевания не указан.
EXPRESSION_EVALUATION_SUCCESS Оценка экспрессии прошла успешно.
EXPRESSION_EVALUATION_FAILURE Оценка экспрессии оказалась неудачной.

DataSourceConfig

Объект конфигурации, помогающий настроить источники данных для виджета.

Доступно для дополнений Google Workspace, расширяющих функциональность Google Workspace Studio. Недоступно для приложений Google Chat.

Поля
Поле объединения data_source . Источник данных. data_source может принимать только одно из следующих значений:
remote_data_source

Action

Данные получены от удалённого поставщика данных.

platform_data_source

PlatformDataSource

Данные получены из приложения Google Workspace.

min_characters_trigger

int32

Минимальное количество символов, которое пользователь должен ввести до того, как сработает этот поставщик данных (т.е. до того, как он начнет возвращать результаты).

DateTimePicker

Позволяет пользователям вводить дату, время или и дату, и время одновременно. Поддерживает проверку данных при отправке формы. Если для Action.all_widgets_are_required установлено значение true или этот виджет указан в Action.required_widgets , отправка формы блокируется, если не выбрано значение. Пример использования в приложениях Google Chat см. в разделе «Позвольте пользователю выбрать дату и время» .

Пользователи могут вводить текст или использовать средство выбора дат и времени. Если пользователь введет неверную дату или время, средство выбора отобразит ошибку, предлагая пользователю ввести информацию правильно.

Доступно для приложений Google Chat и дополнений Google Workspace.

Поля
name

string

Имя, по которому объект DateTimePicker идентифицируется в событии ввода формы.

Подробную информацию о работе с полями ввода формы см. в разделе «Получение данных формы» .

label

string

Текст, предлагающий пользователям ввести дату, время или дату и время. Например, если пользователи записываются на прием, используйте метку, такую ​​как Appointment date или Appointment date and time .

type

DateTimePickerType

Поддерживает ли виджет ввод даты, времени или даты и времени одновременно.

value_ms_epoch

int64

Значение по умолчанию, отображаемое в виджете, в миллисекундах с момента начала эпохи Unix .

Укажите значение в зависимости от типа элемента управления ( DateTimePickerType ):

  • DATE_AND_TIME : календарная дата и время в формате UTC. Например, чтобы представить 1 января 2023 года в 12:00 UTC, используйте 1672574400000 .
  • DATE_ONLY : календарная дата в 00:00:00 UTC. Например, для обозначения 1 января 2023 года используйте 1672531200000 .
  • TIME_ONLY : время в формате UTC. Например, чтобы обозначить 12:00 PM, используйте 43200000 (или 12 * 60 * 60 * 1000 ).
timezone_offset_date

int32

Число, представляющее смещение часового пояса относительно UTC в минутах. Если задано, value_ms_epoch отображается в указанном часовом поясе. Если не задано, значение по умолчанию соответствует настройкам часового пояса пользователя.

on_change_action

Action

Срабатывает, когда пользователь нажимает кнопку «Сохранить» или «Очистить» в интерфейсе DateTimePicker .

Поле объединения data_source . Указанный источник данных для представления даты и времени. data_source может принимать только одно из следующих значений:
host_app_data_source

HostAppDataSourceMarkup

Уникальный для каждого приложения Google Workspace источник данных, например, электронные письма Gmail, события Google Calendar или сообщения Google Chat.

Доступно для дополнений Google Workspace, расширяющих функциональность Google Workspace Studio. Недоступно для приложений Google Chat.

DateTimePickerType

Формат даты и времени в виджете DateTimePicker . Определяет, могут ли пользователи вводить дату, время или и дату, и время одновременно.

Доступно для приложений Google Chat и дополнений Google Workspace.

Перечисления
DATE_AND_TIME Пользователи вводят дату и время.
DATE_ONLY Пользователи вводят дату.
TIME_ONLY Пользователи вводят время.

Декорированный текст

Виджет, отображающий текст с дополнительными элементами оформления, такими как метка над или под текстом, значок перед текстом, виджет выделения или кнопка после текста. Пример использования в приложениях Google Chat см. в разделе «Отображение текста с декоративными элементами» .

Доступно для приложений Google Chat и дополнений Google Workspace.

Поля
icon
(deprecated)

Icon

Устарело, вместо него используется startIcon .

start_icon

Icon

Значок, отображаемый перед текстом.

start_icon_vertical_alignment

VerticalAlignment

Необязательный параметр. Вертикальное выравнивание значка запуска. Если параметр не задан, значок будет расположен по центру по вертикали.

Доступно для приложений Google Chat, но недоступно для дополнений Google Workspace.

top_label

string

Текст, отображаемый над text , всегда обрезается.

top_label_text

TextParagraph

TextParagraph эквивалентен top_label . Всегда обрезает текст. Позволяет использовать более сложное форматирование, чем top_label .

Доступно для приложений Google Chat, но недоступно для дополнений Google Workspace.

text

string

Обязательно. Основной текст.

Поддерживается простое форматирование. Для получения дополнительной информации о форматировании текста см. разделы «Форматирование текста в приложениях Google Chat» и «Форматирование текста в надстройках Google Workspace».

content_text

TextParagraph

TextParagraph эквивалент text . Позволяет использовать более сложное форматирование, чем text .

Доступно для приложений Google Chat, но недоступно для дополнений Google Workspace.

wrap_text

bool

Параметр переноса текста. Если true , текст переносится и отображается в несколько строк. В противном случае текст обрезается.

Применяется только к text , а не к topLabel и bottomLabel .

bottom_label

string

Текст, отображаемый ниже text , всегда переносится на следующий текст.

bottom_label_text

TextParagraph

TextParagraph эквивалентен bottom_label . Всегда переносит текст. Позволяет использовать более сложное форматирование, чем bottom_label .

Доступно для приложений Google Chat, но недоступно для дополнений Google Workspace.

on_click

OnClick

Это действие запускается, когда пользователи нажимают topLabel или bottomLabel .

control Union Field. Кнопка, переключатель, флажок или изображение, отображаемое справа от текста в виджете decoratedText . control может быть только одним из следующих:
button

Button

Кнопка, нажатие которой запускает действие.

switch_control

SwitchControl

Переключатель, при нажатии на который пользователь может изменить его состояние и запустить действие.

end_icon

Icon

Значок, отображаемый после текста.

Поддерживает встроенные и пользовательские значки.

SwitchControl

Либо переключатель в виде кнопки, либо флажок внутри виджета decoratedText .

Доступно для приложений Google Chat и дополнений Google Workspace.

Поддерживается только в виджете decoratedText .

Поля
name

string

Имя, по которому виджет переключателя идентифицируется в событии ввода формы.

Подробную информацию о работе с полями ввода формы см. в разделе «Получение данных формы» .

value

string

Значение, введенное пользователем, возвращается в рамках события ввода данных в форму.

Подробную информацию о работе с полями ввода формы см. в разделе «Получение данных формы» .

selected

bool

Если true , переключатель выбран.

on_change_action

Action

Действие, которое необходимо выполнить при изменении состояния переключателя, например, какую функцию запустить.

control_type

ControlType

Как переключатель отображается в пользовательском интерфейсе.

Доступно для приложений Google Chat и дополнений Google Workspace.

ControlType

Как переключатель отображается в пользовательском интерфейсе.

Доступно для приложений Google Chat и дополнений Google Workspace.

Перечисления
SWITCH Переключатель тумблерного типа.
CHECKBOX Устарело, вместо него используется CHECK_BOX .
CHECK_BOX Флажок.

Разделитель

Этот тип не содержит полей.

Отображает разделитель между виджетами в виде горизонтальной линии. Пример использования в приложениях Google Chat см. в разделе «Добавление горизонтального разделителя между виджетами» .

Доступно для приложений Google Chat и дополнений Google Workspace.

Например, следующий JSON-код создает разделитель:

"divider": {}

EventAction

Представляет собой действие, которое можно выполнить над элементом пользовательского интерфейса.

Доступно для дополнений Google Workspace, расширяющих функциональность Google Workspace Studio. Недоступно для приложений Google Chat.

Поля
action_rule_id

string

Уникальный идентификатор правила действия (ActionRule).

post_event_triggers[]

Trigger

Список триггеров, которые будут срабатывать после выполнения EventAction.

Полевые action профсоюза. Действие, которое необходимо выполнить. action может быть только одним из следующих:
common_widget_action

CommonWidgetAction

Стандартное действие виджета.

CommonWidgetAction

Представляет собой действие, не специфичное для конкретного виджета.

Доступно для дополнений Google Workspace, расширяющих функциональность Google Workspace Studio. Недоступно для приложений Google Chat.

Поля
Полевые action профсоюза. Действие, которое необходимо выполнить. action может быть только одним из следующих:
update_visibility_action

UpdateVisibilityAction

Действие, изменяющее видимость виджета.

UpdateVisibilityAction

Представляет собой действие, которое обновляет видимость виджета.

Доступно для дополнений Google Workspace, расширяющих функциональность Google Workspace Studio. Недоступно для приложений Google Chat.

Поля
visibility

Visibility

Новая наглядность.

ExpressionData

Представляет данные, используемые для оценки выражения.

Доступно для дополнений Google Workspace, расширяющих функциональность Google Workspace Studio. Недоступно для приложений Google Chat.

Поля
id

string

Уникальный идентификатор ExpressionData.

expression

string

Нескомпилированное выражение.

conditions[]

Condition

Список условий, определяемых результатом оценки выражения.

event_actions[]

EventAction

Список действий, в которых можно использовать ExpressionData.

Сетка

Отображает сетку с набором элементов. Элементы могут содержать только текст или изображения. Для адаптивных столбцов или для отображения чего-либо, кроме текста или изображений, используйте Columns . Пример использования в приложениях Google Chat см. в разделе «Отображение сетки с набором элементов» .

A grid supports any number of columns and items. The number of rows is determined by items divided by columns. A grid with 10 items and 2 columns has 5 rows. A grid with 11 items and 2 columns has 6 rows.

Available for Google Chat apps and Google Workspace add-ons.

For example, the following JSON creates a 2 column grid with a single item:

"grid": {
  "title": "A fine collection of items",
  "columnCount": 2,
  "borderStyle": {
    "type": "STROKE",
    "cornerRadius": 4
  },
  "items": [
    {
      "image": {
        "imageUri": "https://www.example.com/image.png",
        "cropStyle": {
          "type": "SQUARE"
        },
        "borderStyle": {
          "type": "STROKE"
        }
      },
      "title": "An item",
      "textAlignment": "CENTER"
    }
  ],
  "onClick": {
    "openLink": {
      "url": "https://www.example.com"
    }
  }
}
Поля
title

string

The text that displays in the grid header.

items[]

GridItem

The items to display in the grid.

border_style

BorderStyle

The border style to apply to each grid item.

column_count

int32

The number of columns to display in the grid. A default value is used if this field isn't specified, and that default value is different depending on where the grid is shown (dialog versus companion).

on_click

OnClick

This callback is reused by each individual grid item, but with the item's identifier and index in the items list added to the callback's parameters.

GridItem

Represents an item in a grid layout. Items can contain text, an image, or both text and an image.

Available for Google Chat apps and Google Workspace add-ons.

Поля
id

string

A user-specified identifier for this grid item. This identifier is returned in the parent grid's onClick callback parameters.

image

ImageComponent

The image that displays in the grid item.

title

string

The grid item's title.

subtitle

string

The grid item's subtitle.

layout

GridItemLayout

The layout to use for the grid item.

GridItemLayout

Represents the various layout options available for a grid item.

Available for Google Chat apps and Google Workspace add-ons.

Перечисления
GRID_ITEM_LAYOUT_UNSPECIFIED Don't use. Unspecified.
TEXT_BELOW The title and subtitle are shown below the grid item's image.
TEXT_ABOVE The title and subtitle are shown above the grid item's image.

Икона

An icon displayed in a widget on a card. For an example in Google Chat apps, see Add an icon .

Supports built-in and custom icons.

Available for Google Chat apps and Google Workspace add-ons.

Поля
alt_text

string

Optional. A description of the icon used for accessibility. If unspecified, the default value Button is provided. As a best practice, you should set a helpful description for what the icon displays, and if applicable, what it does. For example, A user's account portrait , or Opens a new browser tab and navigates to the Google Chat developer documentation at https://developers.google.com/workspace/chat .

If the icon is set in a Button , the altText appears as helper text when the user hovers over the button. However, if the button also sets text , the icon's altText is ignored.

image_type

ImageType

The crop style applied to the image. In some cases, applying a CIRCLE crop causes the image to be drawn larger than a built-in icon.

Union field icons . The icon displayed in the widget on the card. icons can be only one of the following:
known_icon

string

Display one of the built-in icons provided by Google Workspace.

For example, to display an airplane icon, specify AIRPLANE . For a bus, specify BUS .

For a full list of supported icons, see built-in icons .

icon_url

string

Display a custom icon hosted at an HTTPS URL.

Например:

"iconUrl":
"https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png"

Supported file types include .png and .jpg .

material_icon

MaterialIcon

Display one of the Google Material Icons .

For example, to display a checkbox icon , use

"material_icon": {
  "name": "check_box"
}

Available for Google Chat apps and unavailable for Google Workspace add-ons.

Изображение

An image that is specified by a URL and can have an onClick action. For an example, see Add an image .

Available for Google Chat apps and Google Workspace add-ons.

Поля
image_url

string

The HTTPS URL that hosts the image.

Например:

https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png
on_click

OnClick

When a user clicks the image, the click triggers this action.

alt_text

string

The alternative text of this image that's used for accessibility.

ImageComponent

Represents an image.

Available for Google Chat apps and Google Workspace add-ons.

Поля
image_uri

string

The image URL.

alt_text

string

The accessibility label for the image.

crop_style

ImageCropStyle

The crop style to apply to the image.

border_style

BorderStyle

The border style to apply to the image.

ImageCropStyle

Represents the crop style applied to an image.

Available for Google Chat apps and Google Workspace add-ons.

For example, here's how to apply a 16:9 aspect ratio:

cropStyle {
 "type": "RECTANGLE_CUSTOM",
 "aspectRatio": 16/9
}
Поля
type

ImageCropType

The crop type.

aspect_ratio

double

The aspect ratio to use if the crop type is RECTANGLE_CUSTOM .

For example, here's how to apply a 16:9 aspect ratio:

cropStyle {
 "type": "RECTANGLE_CUSTOM",
 "aspectRatio": 16/9
}

ImageCropType

Represents the crop style applied to an image.

Available for Google Chat apps and Google Workspace add-ons.

Перечисления
IMAGE_CROP_TYPE_UNSPECIFIED Don't use. Unspecified.
SQUARE Default value. Applies a square crop.
CIRCLE Applies a circular crop.
RECTANGLE_CUSTOM Applies a rectangular crop with a custom aspect ratio. Set the custom aspect ratio with aspectRatio .
RECTANGLE_4_3 Applies a rectangular crop with a 4:3 aspect ratio.

MaterialIcon

A Google Material Icon , which includes over 2500+ options.

For example, to display a checkbox icon with customized weight and grade, write the following:

{
  "name": "check_box",
  "fill": true,
  "weight": 300,
  "grade": -25
}

Available for Google Chat apps and unavailable for Google Workspace add-ons.

Поля
name

string

The icon name defined in the Google Material Icon , for example, check_box . Any invalid names are abandoned and replaced with empty string and results in the icon failing to render.

fill

bool

Whether the icon renders as filled. Default value is false.

To preview different icon settings, go to Google Font Icons and adjust the settings under Customize .

weight

int32

The stroke weight of the icon. Choose from {100, 200, 300, 400, 500, 600, 700}. If absent, default value is 400. If any other value is specified, the default value is used.

To preview different icon settings, go to Google Font Icons and adjust the settings under Customize .

grade

int32

Weight and grade affect a symbol's thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used.

To preview different icon settings, go to Google Font Icons and adjust the settings under Customize .

OnClick

Represents how to respond when users click an interactive element on a card, such as a button.

Available for Google Chat apps and Google Workspace add-ons.

Поля

Union field data .

data can be only one of the following:

action

Action

If specified, an action is triggered by this onClick .

card

Card

A new card is pushed to the card stack after clicking if specified.

Available for Google Workspace add-ons and unavailable for Google Chat apps.

overflow_menu

OverflowMenu

If specified, this onClick opens an overflow menu.

OnClose

What the client does when a link opened by an OnClick action is closed.

Implementation depends on client platform capabilities. For example, a web browser might open a link in a pop-up window with an OnClose handler.

If both OnOpen and OnClose handlers are set, and the client platform can't support both values, OnClose takes precedence.

Available for Google Workspace add-ons and unavailable for Google Chat apps.

Перечисления
NOTHING Default value. The card doesn't reload; nothing happens.
RELOAD

Reloads the card after the child window closes.

If used in conjunction with OpenAs.OVERLAY , the child window acts as a modal dialog and the parent card is blocked until the child window closes.

OpenAs

When an OnClick action opens a link, then the client can either open it as a full-size window (if that's the frame used by the client), or an overlay (such as a pop-up). The implementation depends on the client platform capabilities, and the value selected might be ignored if the client doesn't support it. FULL_SIZE is supported by all clients.

Available for Google Workspace add-ons and unavailable for Google Chat apps.

Перечисления
FULL_SIZE The link opens as a full-size window (if that's the frame used by the client).
OVERLAY The link opens as an overlay, such as a pop-up.

OverflowMenu

A widget that presents a pop-up menu with one or more actions that users can invoke. For example, showing non-primary actions in a card. You can use this widget when actions don't fit in the available space. To use, specify this widget in the OnClick action of widgets that support it. For example, in a Button .

Available for Google Chat apps and Google Workspace add-ons.

Поля
items[]

OverflowMenuItem

Required. The list of menu options.

OverflowMenuItem

An option that users can invoke in an overflow menu.

Available for Google Chat apps and Google Workspace add-ons.

Поля
start_icon

Icon

The icon displayed in front of the text.

text

string

Required. The text that identifies or describes the item to users.

on_click

OnClick

Required. The action invoked when a menu option is selected. This OnClick cannot contain an OverflowMenu , any specified OverflowMenu is dropped and the menu item disabled.

disabled

bool

Whether the menu option is disabled. Defaults to false.

SelectionInput

A widget that creates one or more UI items that users can select. Supports form submission validation for dropdown and multiselect menus only. When Action.all_widgets_are_required is set to true or this widget is specified in Action.required_widgets , the submission action is blocked unless a value is selected. For example, a dropdown menu or checkboxes. You can use this widget to collect data that can be predicted or enumerated. For an example in Google Chat apps, see Add selectable UI elements .

Chat apps can process the value of items that users select or input. For details about working with form inputs, see Receive form data .

To collect undefined or abstract data from users, use the TextInput widget.

Available for Google Chat apps and Google Workspace add-ons.

Поля
name

string

Required. The name that identifies the selection input in a form input event.

For details about working with form inputs, see Receive form data .

label

string

The text that appears above the selection input field in the user interface.

Specify text that helps the user enter the information your app needs. For example, if users are selecting the urgency of a work ticket from a drop-down menu, the label might be "Urgency" or "Select urgency".

type

SelectionType

The type of items that are displayed to users in a SelectionInput widget. Selection types support different types of interactions. For example, users can select one or more checkboxes, but they can only select one value from a dropdown menu.

items[]

SelectionItem

An array of selectable items. For example, an array of radio buttons or checkboxes. Supports up to 100 items.

on_change_action

Action

If specified, the form is submitted when the selection changes. If not specified, you must specify a separate button that submits the form.

For details about working with form inputs, see Receive form data .

multi_select_min_query_length

int32

For multiselect menus, the number of text characters that a user inputs before the menu returns suggested selection items.

If unset, the multiselect menu uses the following default values:

  • If the menu uses a static array of SelectionInput items, defaults to 0 characters and immediately populates items from the array.
  • If the menu uses a dynamic data source ( multi_select_data_source ), defaults to 3 characters before querying the data source to return suggested items.
data_source_configs[]

DataSourceConfig

Optional. The data source configs for the selection control. This field provides more fine-grained control over the data source.

If specified, the multi_select_max_selected_items field, multi_select_min_query_length field, external_data_source field and platform_data_source field are ignored.

Available for Google Workspace add-ons that extend Google Workspace Studio. Available for the Dropdown widget widget in Google Chat apps as part of the Developer Preview Program .

multi_select_max_selected_items

int32

For multiselect menus, the maximum number of items that a user can select. Minimum value is 1 item. If unspecified, defaults to 3 items.

hint_text

string

Optional. Text that appears below the selection input field meant to assist users by prompting them to enter a certain value. This text is always visible.

Available for Google Workspace add-ons that extend Google Workspace Studio. Unavailable for Google Chat apps.

Union field multi_select_data_source . For a multiselect menu, a data source that dynamically populates selection items.

Available for Google Chat apps and unavailable for Google Workspace add-ons. multi_select_data_source can be only one of the following:

external_data_source

Action

An external data source, such as a relational database.

platform_data_source

PlatformDataSource

A data source from Google Workspace.

PlatformDataSource

For a SelectionInput widget that uses a multiselect menu, a data source from Google Workspace. Used to populate items in a multiselect menu.

Available for Google Chat apps and unavailable for Google Workspace add-ons.

Поля
Union field data_source . The data source. data_source can be only one of the following:
common_data_source

CommonDataSource

A data source shared by all Google Workspace applications, such as users in a Google Workspace organization.

host_app_data_source

HostAppDataSourceMarkup

A data source that's unique to a Google Workspace host application, such spaces in Google Chat.

This field supports the Google API Client Libraries but isn't available in the Cloud Client Libraries. To learn more, see Install the client libraries .

CommonDataSource

A data source shared by all Google Workspace applications .

Available for Google Chat apps and unavailable for Google Workspace add-ons.

Перечисления
UNKNOWN Default value. Don't use.
USER Google Workspace users. The user can only view and select users from their Google Workspace organization.

SelectionItem

An item that users can select in a selection input, such as a checkbox or switch. Supports up to 100 items.

Available for Google Chat apps and Google Workspace add-ons.

Поля
text

string

The text that identifies or describes the item to users.

value

string

The value associated with this item. The client should use this as a form input value.

For details about working with form inputs, see Receive form data .

selected

bool

Whether the item is selected by default. If the selection input only accepts one value (such as for radio buttons or a dropdown menu), only set this field for one item.

bottom_text

string

For multiselect menus, a text description or label that's displayed below the item's text field.

Union field start_icon . For multiselect menus, the URL for the icon displayed next to the item's text field. Supports PNG and JPEG files. Must be an HTTPS URL. For example, https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png . start_icon can be only one of the following:
start_icon_uri

string

SelectionType

The format for the items that users can select. Different options support different types of interactions. For example, users can select multiple checkboxes, but can only select one item from a dropdown menu.

Each selection input supports one type of selection. Mixing checkboxes and switches, for example, isn't supported.

Available for Google Chat apps and Google Workspace add-ons.

Перечисления
CHECK_BOX A set of checkboxes. Users can select one or more checkboxes.
RADIO_BUTTON A set of radio buttons. Users can select one radio button.
SWITCH A set of switches. Users can turn on one or more switches.
DROPDOWN

A dropdown menu. Users can select one item from the menu.

For Google Chat apps, as part of the Developer Preview Program , you can populate items using a dynamic data source and autosuggest items as users type in the menu. For example, users can start typing the name of a Google Chat space and the widget autosuggests the space. To dynamically populate items for a dropdown menu, use one of the following types of data sources:

  • Google Workspace data: Items are populated using data from Google Workspace, such as Google Workspace users or Google Chat spaces.
  • External data: Items are populated from an external data source outside of Google Workspace.

For examples of how to implement dropdown menus for Chat apps, see Add a dropdown menu and Dynamically populate drop-down menus .

Available for Google Chat apps and Google Workspace add-ons.

MULTI_SELECT

A menu with a text box. Users can type and select one or more items. For Google Workspace add-ons, you must populate items using a static array of SelectionItem objects.

For Google Chat apps, you can also populate items using a dynamic data source and autosuggest items as users type in the menu. For example, users can start typing the name of a Google Chat space and the widget autosuggests the space. To dynamically populate items for a multiselect menu, use one of the following types of data sources:

  • Google Workspace data: Items are populated using data from Google Workspace, such as Google Workspace users or Google Chat spaces.
  • External data: Items are populated from an external data source outside of Google Workspace.

For examples of how to implement multiselect menus for Chat apps, see Add a multiselect menu .

Available for Google Chat apps and Google Workspace add-ons.

Предложения

Suggested values that users can enter. These values appear when users click inside the text input field. As users type, the suggested values dynamically filter to match what the users have typed.

For example, a text input field for programming language might suggest Java, JavaScript, Python, and C++. When users start typing Jav , the list of suggestions filters to show Java and JavaScript .

Suggested values help guide users to enter values that your app can make sense of. When referring to JavaScript, some users might enter javascript and others java script . Suggesting JavaScript can standardize how users interact with your app.

When specified, TextInput.type is always SINGLE_LINE , even if it's set to MULTIPLE_LINE .

Available for Google Chat apps and Google Workspace add-ons.

Поля
items[]

SuggestionItem

A list of suggestions used for autocomplete recommendations in text input fields.

SuggestionItem

One suggested value that users can enter in a text input field.

Available for Google Chat apps and Google Workspace add-ons.

Поля

Union field content .

content can be only one of the following:

text

string

The value of a suggested input to a text input field. This is equivalent to what users enter themselves.

TextInput

A field in which users can enter text. Supports suggestions and on-change actions. Supports form submission validation. When Action.all_widgets_are_required is set to true or this widget is specified in Action.required_widgets , the submission action is blocked unless a value is entered. For an example in Google Chat apps, see Add a field in which a user can enter text .

Chat apps receive and can process the value of entered text during form input events. For details about working with form inputs, see Receive form data .

When you need to collect undefined or abstract data from users, use a text input. To collect defined or enumerated data from users, use the SelectionInput widget.

Available for Google Chat apps and Google Workspace add-ons.

Поля
name

string

The name by which the text input is identified in a form input event.

For details about working with form inputs, see Receive form data .

label

string

The text that appears above the text input field in the user interface.

Specify text that helps the user enter the information your app needs. For example, if you are asking someone's name, but specifically need their surname, write surname instead of name .

Required if hintText is unspecified. Otherwise, optional.

hint_text

string

Text that appears below the text input field meant to assist users by prompting them to enter a certain value. This text is always visible.

Required if label is unspecified. Otherwise, optional.

value

string

The value entered by a user, returned as part of a form input event.

For details about working with form inputs, see Receive form data .

type

Type

How a text input field appears in the user interface. For example, whether the field is single or multi-line.

on_change_action

Action

What to do when a change occurs in the text input field. For example, a user adding to the field or deleting text.

Examples of actions to take include running a custom function or opening a dialog in Google Chat.

initial_suggestions

Suggestions

Suggested values that users can enter. These values appear when users click inside the text input field. As users type, the suggested values dynamically filter to match what the users have typed.

For example, a text input field for programming language might suggest Java, JavaScript, Python, and C++. When users start typing Jav , the list of suggestions filters to show just Java and JavaScript .

Suggested values help guide users to enter values that your app can make sense of. When referring to JavaScript, some users might enter javascript and others java script . Suggesting JavaScript can standardize how users interact with your app.

When specified, TextInput.type is always SINGLE_LINE , even if it's set to MULTIPLE_LINE .

Available for Google Chat apps and Google Workspace add-ons.

auto_complete_action

Action

Optional. Specify what action to take when the text input field provides suggestions to users who interact with it.

If unspecified, the suggestions are set by initialSuggestions and are processed by the client.

If specified, the app takes the action specified here, such as running a custom function.

Available for Google Workspace add-ons and unavailable for Google Chat apps.

validation

Validation

Specify the input format validation necessary for this text field.

Available for Google Chat apps and Google Workspace add-ons.

placeholder_text

string

Text that appears in the text input field when the field is empty. Use this text to prompt users to enter a value. For example, Enter a number from 0 to 100 .

Available for Google Chat apps and unavailable for Google Workspace add-ons.

Union field data_source .

data_source can be only one of the following:

host_app_data_source

HostAppDataSourceMarkup

A data source that's unique to a Google Workspace host application, such as Gmail emails, Google Calendar events, or Google Chat messages.

Available for Google Workspace add-ons that extend Google Workspace Studio. Unavailable for Google Chat apps.

Тип

How a text input field appears in the user interface. For example, whether it's a single line input field, or a multi-line input. If initialSuggestions is specified, type is always SINGLE_LINE , even if it's set to MULTIPLE_LINE .

Available for Google Chat apps and Google Workspace add-ons.

Перечисления
SINGLE_LINE The text input field has a fixed height of one line.
MULTIPLE_LINE The text input field has a fixed height of multiple lines.

TextParagraph

A paragraph of text that supports formatting. For an example in Google Chat apps, see Add a paragraph of formatted text . For more information about formatting text, see Formatting text in Google Chat apps and Formatting text in Google Workspace add-ons .

Available for Google Chat apps and Google Workspace add-ons.

Поля
text

string

The text that's shown in the widget.

max_lines

int32

The maximum number of lines of text that are displayed in the widget. If the text exceeds the specified maximum number of lines, the excess content is concealed behind a show more button. If the text is equal or shorter than the specified maximum number of lines, a show more button isn't displayed.

The default value is 0, in which case all context is displayed. Negative values are ignored.

text_syntax

TextSyntax

The syntax of the text. If not set, the text is rendered as HTML.

Available for Google Chat apps and unavailable for Google Workspace add-ons.

TextSyntax

Syntax to use for formatting text.

Available for Google Chat apps and unavailable for Google Workspace add-ons.

Перечисления
TEXT_SYNTAX_UNSPECIFIED The text is rendered as HTML if unspecified.
HTML The text is rendered as HTML. This is the default value.
MARKDOWN The text is rendered as Markdown.

Курок

Represents a trigger.

Available for Google Workspace add-ons that extend Google Workspace Studio. Unavailable for Google Chat apps.

Поля
action_rule_id

string

The unique identifier of the ActionRule.

Проверка

Represents the necessary data for validating the widget it's attached to.

Available for Google Chat apps and Google Workspace add-ons.

Поля
character_limit

int32

Specify the character limit for text input widgets. Note that this is only used for text input and is ignored for other widgets.

Available for Google Chat apps and Google Workspace add-ons.

input_type

InputType

Specify the type of the input widgets.

Available for Google Chat apps and Google Workspace add-ons.

InputType

The type of the input widget.

Перечисления
INPUT_TYPE_UNSPECIFIED Unspecified type. Do not use.
TEXT Regular text that accepts all characters.
INTEGER An integer value.
FLOAT A float value.
EMAIL Адрес электронной почты.
EMOJI_PICKER A emoji selected from system-provided emoji picker.

Виджет

Each card is made up of widgets.

A widget is a composite object that can represent one of text, images, buttons, and other object types.

Поля
horizontal_alignment

HorizontalAlignment

Specifies whether widgets align to the left, right, or center of a column.

id

string

A unique ID assigned to the widget that's used to identify the widget to be mutated. The ID has a character limit of 64 characters and should be in the format of [a-zA-Z0-9-]+ .

Available for Google Workspace add-ons that extend Google Workspace Studio. Unavailable for Google Chat apps.

visibility

Visibility

Specifies whether the widget is visible or hidden. The default value is VISIBLE .

Available for Google Workspace add-ons that extend Google Workspace Studio. Unavailable for Google Chat apps.

event_actions[]

EventAction

Specifies the event actions that can be performed on the widget.

Available for Google Workspace add-ons that extend Google Workspace Studio. Unavailable for Google Chat apps.

Union field data . A widget can only have one of the following items. You can use multiple widget fields to display more items. data can be only one of the following:
text_paragraph

TextParagraph

Displays a text paragraph. Supports simple HTML formatted text. For more information about formatting text, see Formatting text in Google Chat apps and Formatting text in Google Workspace add-ons .

For example, the following JSON creates a bolded text:

"textParagraph": {
  "text": "  <b>bold text</b>"
}
image

Image

Отображает изображение.

For example, the following JSON creates an image with alternative text:

"image": {
  "imageUrl":
  "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png",
  "altText": "Chat app avatar"
}
decorated_text

DecoratedText

Displays a decorated text item.

For example, the following JSON creates a decorated text widget showing email address:

"decoratedText": {
  "icon": {
    "knownIcon": "EMAIL"
  },
  "topLabel": "Email Address",
  "text": "sasha@example.com",
  "bottomLabel": "This is a new Email address!",
  "switchControl": {
    "name": "has_send_welcome_email_to_sasha",
    "selected": false,
    "controlType": "CHECKBOX"
  }
}
button_list

ButtonList

A list of buttons.

For example, the following JSON creates two buttons. The first is a blue text button and the second is an image button that opens a link:

"buttonList": {
  "buttons": [
    {
      "text": "Edit",
      "color": {
        "red": 0,
        "green": 0,
        "blue": 1,
      },
      "disabled": true,
    },
    {
      "icon": {
        "knownIcon": "INVITE",
        "altText": "check calendar"
      },
      "onClick": {
        "openLink": {
          "url": "https://example.com/calendar"
        }
      }
    }
  ]
}
text_input

TextInput

Displays a text box that users can type into.

For example, the following JSON creates a text input for an email address:

"textInput": {
  "name": "mailing_address",
  "label": "Mailing Address"
}

As another example, the following JSON creates a text input for a programming language with static suggestions:

"textInput": {
  "name": "preferred_programing_language",
  "label": "Preferred Language",
  "initialSuggestions": {
    "items": [
      {
        "text": "C++"
      },
      {
        "text": "Java"
      },
      {
        "text": "JavaScript"
      },
      {
        "text": "Python"
      }
    ]
  }
}
selection_input

SelectionInput

Displays a selection control that lets users select items. Selection controls can be checkboxes, radio buttons, switches, or dropdown menus.

For example, the following JSON creates a dropdown menu that lets users choose a size:

"selectionInput": {
  "name": "size",
  "label": "Size"
  "type": "DROPDOWN",
  "items": [
    {
      "text": "S",
      "value": "small",
      "selected": false
    },
    {
      "text": "M",
      "value": "medium",
      "selected": true
    },
    {
      "text": "L",
      "value": "large",
      "selected": false
    },
    {
      "text": "XL",
      "value": "extra_large",
      "selected": false
    }
  ]
}
date_time_picker

DateTimePicker

Displays a widget that lets users input a date, time, or date and time.

For example, the following JSON creates a date time picker to schedule an appointment:

"dateTimePicker": {
  "name": "appointment_time",
  "label": "Book your appointment at:",
  "type": "DATE_AND_TIME",
  "valueMsEpoch": 796435200000
}
divider

Divider

Displays a horizontal line divider between widgets.

For example, the following JSON creates a divider:

"divider": {
}
grid

Grid

Displays a grid with a collection of items.

A grid supports any number of columns and items. The number of rows is determined by the upper bounds of the number items divided by the number of columns. A grid with 10 items and 2 columns has 5 rows. A grid with 11 items and 2 columns has 6 rows.

Available for Google Chat apps and Google Workspace add-ons.

For example, the following JSON creates a 2 column grid with a single item:

"grid": {
  "title": "A fine collection of items",
  "columnCount": 2,
  "borderStyle": {
    "type": "STROKE",
    "cornerRadius": 4
  },
  "items": [
    {
      "image": {
        "imageUri": "https://www.example.com/image.png",
        "cropStyle": {
          "type": "SQUARE"
        },
        "borderStyle": {
          "type": "STROKE"
        }
      },
      "title": "An item",
      "textAlignment": "CENTER"
    }
  ],
  "onClick": {
    "openLink": {
      "url": "https://www.example.com"
    }
  }
}
columns

Columns

Displays up to 2 columns.

To include more than 2 columns, or to use rows, use the Grid widget.

For example, the following JSON creates 2 columns that each contain text paragraphs:

"columns": {
  "columnItems": [
    {
      "horizontalSizeStyle": "FILL_AVAILABLE_SPACE",
      "horizontalAlignment": "CENTER",
      "verticalAlignment": "CENTER",
      "widgets": [
        {
          "textParagraph": {
            "text": "First column text paragraph"
          }
        }
      ]
    },
    {
      "horizontalSizeStyle": "FILL_AVAILABLE_SPACE",
      "horizontalAlignment": "CENTER",
      "verticalAlignment": "CENTER",
      "widgets": [
        {
          "textParagraph": {
            "text": "Second column text paragraph"
          }
        }
      ]
    }
  ]
}
carousel

Carousel

A carousel contains a collection of nested widgets. For example, this is a JSON representation of a carousel that contains two text paragraphs.

{
  "widgets": [
    {
      "textParagraph": {
        "text": "First text paragraph in the carousel."
      }
    },
    {
      "textParagraph": {
        "text": "Second text paragraph in the carousel."
      }
    }
  ]
}
chip_list

ChipList

A list of chips.

For example, the following JSON creates two chips. The first is a text chip and the second is an icon chip that opens a link:

"chipList": {
  "chips": [
    {
      "text": "Edit",
      "disabled": true,
    },
    {
      "icon": {
        "knownIcon": "INVITE",
        "altText": "check calendar"
      },
      "onClick": {
        "openLink": {
          "url": "https://example.com/calendar"
        }
      }
    }
  ]
}

Горизонтальное выравнивание

Specifies whether widgets align to the left, right, or center of a column.

Available for Google Chat apps and unavailable for Google Workspace add-ons.

Перечисления
HORIZONTAL_ALIGNMENT_UNSPECIFIED Don't use. Unspecified.
START Default value. Aligns widgets to the start position of the column. For left-to-right layouts, aligns to the left. For right-to-left layouts, aligns to the right.
CENTER Aligns widgets to the center of the column.
END Aligns widgets to the end position of the column. For left-to-right layouts, aligns widgets to the right. For right-to-left layouts, aligns widgets to the left.

Тип изображения

The shape used to crop the image.

Available for Google Chat apps and Google Workspace add-ons.

Перечисления
SQUARE Default value. Applies a square mask to the image. For example, a 4x3 image becomes 3x3.
CIRCLE Applies a circular mask to the image. For example, a 4x3 image becomes a circle with a diameter of 3.

Вертикальное выравнивание

Represents vertical alignment attribute.

Перечисления
VERTICAL_ALIGNMENT_UNSPECIFIED Unspecified type. Do not use.
TOP Alignment to the top position.
MIDDLE Alignment to the middle position.
BOTTOM Alignment to the bottom position.