Cards v1

Карта

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

JSON-представление
{
  "header": {
    object (CardHeader)
  },
  "sections": [
    {
      object (Section)
    }
  ],
  "cardActions": [
    {
      object (CardAction)
    }
  ],
  "name": string
}
Поля
header

object ( CardHeader )

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

sections[]

object ( Section )

Разделы обозначены разделительной линией.

cardActions[]

object ( CardAction )

Действия этой карты.

name

string

Название карты.

CardHeader

JSON-представление
{
  "title": string,
  "subtitle": string,
  "imageStyle": enum (ImageStyle),
  "imageUrl": string
}
Поля
title

string

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

subtitle

string

Подзаголовок заголовка карточки.

imageStyle

enum ( ImageStyle )

Тип изображения (например, квадратная или круглая рамка).

imageUrl

string

URL изображения в заголовке карточки.

ImageStyle

Перечисления
IMAGE_STYLE_UNSPECIFIED
IMAGE Квадратная рамка.
AVATAR Круглая граница.

Раздел

Раздел содержит набор виджетов, которые отображаются (вертикально) в том порядке, в котором они указаны. На всех платформах карточки имеют узкую фиксированную ширину, поэтому в настоящее время нет необходимости в свойствах компоновки (например, float).

JSON-представление
{
  "header": string,
  "widgets": [
    {
      object (WidgetMarkup)
    }
  ]
}
Поля
header

string

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

widgets[]

object ( WidgetMarkup )

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

WidgetMarkup

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

JSON-представление
{
  "buttons": [
    {
      object (Button)
    }
  ],

  "textParagraph": {
    object (TextParagraph)
  },
  "image": {
    object (Image)
  },
  "keyValue": {
    object (KeyValue)
  }
}
Поля
buttons[]

object ( Button )

Список кнопок. Поле «Кнопки» также является oneof data , и только одно из этих полей должно быть задано.

Объект WidgetMarkup может содержать только один из следующих элементов. Для отображения большего количества элементов можно использовать несколько полей WidgetMarkup . Ниже приведен список взаимоисключающих полей. В ответе будет установлено не более одного из этих полей:
textParagraph

object ( TextParagraph )

Отобразить текстовый абзац в этом виджете.

image

object ( Image )

Отобразить изображение в этом виджете.

keyValue

object ( KeyValue )

Отобразить в этом виджете элемент типа «ключ-значение».

Конец взаимоисключающих областей.

Текстовый абзац

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

JSON-представление
{
  "text": string
}
Поля
text

string

Изображение

Изображение, заданное URL-адресом, может иметь действие onclick .

JSON-представление
{
  "imageUrl": string,
  "onClick": {
    object (OnClick)
  },
  "aspectRatio": number
}
Поля
imageUrl

string

URL изображения.

onClick

object ( OnClick )

Действие onclick .

aspectRatio

number

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

OnClick

Действие onclick (например, открытие ссылки).

JSON-представление
{

  "action": {
    object (FormAction)
  },
  "openLink": {
    object (OpenLink)
  }
}
Поля
Ниже приведён список взаимоисключающих полей. В ответе будет установлено не более одного из этих полей:
action

object ( FormAction )

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

Конец взаимоисключающих областей.

FormAction

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

JSON-представление
{
  "actionMethodName": string,
  "parameters": [
    {
      object (ActionParameter)
    }
  ]
}
Поля
actionMethodName

string

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

parameters[]

object ( ActionParameter )

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

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

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

JSON-представление
{
  "key": string,
  "value": string
}
Поля
key

string

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

value

string

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

KeyValue

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

JSON-представление
{
  "topLabel": string,
  "content": string,
  "contentMultiline": boolean,
  "bottomLabel": string,
  "onClick": {
    object (OnClick)
  },

  "icon": enum (Icon),
  "iconUrl": string

  "button": {
    object (Button)
  }
}
Поля
topLabel

string

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

content

string

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

contentMultiline

boolean

Если содержимое должно быть многострочным.

bottomLabel

string

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

onClick

object ( OnClick )

Действие onclick . Кликнуть можно только по верхней и нижней меткам, а также по области контента.

Необходимо определить хотя бы одно из полей: icons, top_label и bottom_label . Ниже приведён список взаимоисключающих полей. В ответе будет установлено не более одного из этих полей:
icon

enum ( Icon )

Значение перечисления, которое заменяется API чата соответствующим изображением значка.

iconUrl

string

Значок, указанный в URL-адресе.

Конец взаимоисключающих областей.
Виджет управления. Вы можете установить либо button , либо switch_widget , но не оба одновременно. Ниже приведен список взаимоисключающих полей. В ответе будет установлено не более одного из полей:
button

object ( Button )

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

Конец взаимоисключающих областей.

Икона

Набор поддерживаемых значков.

Перечисления
ICON_UNSPECIFIED
AIRPLANE
BOOKMARK
BUS
CAR
CLOCK
CONFIRMATION_NUMBER_ICON
DOLLAR
DESCRIPTION
EMAIL
EVENT_PERFORMER
EVENT_SEAT
FLIGHT_ARRIVAL
FLIGHT_DEPARTURE
HOTEL
HOTEL_ROOM_TYPE
INVITE
MAP_PIN
MEMBERSHIP
MULTIPLE_PEOPLE
OFFER
PERSON
PHONE
RESTAURANT_ICON
SHOPPING_CART
STAR
STORE
TICKET
TRAIN
VIDEO_CAMERA
VIDEO_PLAY

Кнопка

Кнопка. Может быть текстовой или графической.

JSON-представление
{

  "textButton": {
    object (TextButton)
  },
  "imageButton": {
    object (ImageButton)
  }
}
Поля
Ниже приведён список взаимоисключающих полей. В ответе будет установлено не более одного из этих полей:
textButton

object ( TextButton )

Кнопка с текстом и действием onclick .

imageButton

object ( ImageButton )

Кнопка с изображением и действием onclick .

Конец взаимоисключающих областей.

Текстовая кнопка

Кнопка с текстом и действием onclick .

JSON-представление
{
  "text": string,
  "onClick": {
    object (OnClick)
  }
}
Поля
text

string

Текст кнопки.

onClick

object ( OnClick )

Действие кнопки onclick .

ImageButton

Кнопка-изображение с действием onclick .

JSON-представление
{
  "onClick": {
    object (OnClick)
  },
  "name": string,

  "icon": enum (Icon),
  "iconUrl": string
}
Поля
onClick

object ( OnClick )

Действие onclick .

name

string

Имя этой imageButton , используемой для обеспечения доступности. Если это имя не указано, предоставляется значение по умолчанию.

Значок можно указать с помощью enum Icon или URL-адреса. Ниже приведён список взаимоисключающих полей. В ответе будет установлено не более одного из полей:
icon

enum ( Icon )

Значок, заданный enum , которое ссылается на значок, предоставляемый API чата.

iconUrl

string

Значок, указанный в URL-адресе.

Конец взаимоисключающих областей.

CardAction

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

Не поддерживается приложениями Google Chat.

JSON-представление
{
  "actionLabel": string,
  "onClick": {
    object (OnClick)
  }
}
Поля
actionLabel

string

Ранее эта метка отображалась в пункте меню действий.

onClick

object ( OnClick )

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