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

卡片标题中的图片的网址。

ImageStyle

枚举
IMAGE_STYLE_UNSPECIFIED
IMAGE 方形边框。
AVATAR 圆形边框。

版块

版块包含一组按指定顺序呈现(垂直)的 widget。在所有平台上,卡片都采用较窄的固定宽度,因此目前不需要布局属性(例如浮动)。

JSON 表示法
{
  "header": string,
  "widgets": [
    {
      object (WidgetMarkup)
    }
  ]
}
字段
header

string

相应部分的标题。支持格式化文本。如需详细了解如何设置文本格式,请参阅在 Google Chat 应用中设置文本格式在 Google Workspace 插件中设置文本格式

widgets[]

object (WidgetMarkup)

一个版块必须包含至少一个 widget。

WidgetMarkup

微件是一种用于呈现文本和图片的界面元素。

JSON 表示法
{
  "buttons": [
    {
      object (Button)
    }
  ],

  // Union field data can be only one of the following:
  "textParagraph": {
    object (TextParagraph)
  },
  "image": {
    object (Image)
  },
  "keyValue": {
    object (KeyValue)
  }
  // End of list of possible types for union field data.
}
字段
buttons[]

object (Button)

按钮列表。Buttons 也为 oneof data,并且应仅设置其中一个字段。

联合字段 dataWidgetMarkup 只能包含以下各项之一。您可以使用多个 WidgetMarkup 字段来显示更多项。 data只能是以下其中一项:
textParagraph

object (TextParagraph)

在此 widget 中显示文本段落。

image

object (Image)

在此 widget 中显示图片。

keyValue

object (KeyValue)

在此微件中显示键值对项。

TextParagraph

一段文本。支持格式化文本。如需详细了解如何设置文本格式,请参阅在 Google Chat 应用中设置文本格式在 Google Workspace 插件中设置文本格式

JSON 表示法
{
  "text": string
}
字段
text

string

图片

通过网址指定的图片,可以包含 onclick 操作。

JSON 表示法
{
  "imageUrl": string,
  "onClick": {
    object (OnClick)
  },
  "aspectRatio": number
}
字段
imageUrl

string

图片的网址。

onClick

object (OnClick)

onclick 操作。

aspectRatio

number

此图片的宽高比(宽度和高度)。借助此字段,您可以在等待图片加载时为其预留合适的高度。它不应替换图片的内置宽高比。如果未设置,服务器会通过预加载图片来填充该值。

OnClick

onclick 操作(例如打开链接)。

JSON 表示法
{

  // Union field data can be only one of the following:
  "action": {
    object (FormAction)
  },
  "openLink": {
    object (OpenLink)
  }
  // End of list of possible types for union field data.
}
字段

联合字段 data

data只能是下列其中一项:

action

object (FormAction)

如果指定了此 onclick 操作,系统会触发表单操作。

FormAction

表单操作用于描述表单提交时的行为。例如,您可以调用 Google Apps 脚本来处理表单。

JSON 表示法
{
  "actionMethodName": string,
  "parameters": [
    {
      object (ActionParameter)
    }
  ]
}
字段
actionMethodName

string

方法名称用于确定表单的哪个部分触发了表单提交。系统会在卡片点击事件中将此信息回传给 Chat 应用。您可以为触发常见行为的多个元素使用相同的方法名称。

parameters[]

object (ActionParameter)

操作参数列表。

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)
  },

  // Union field icons can be only one of the following:
  "icon": enum (Icon),
  "iconUrl": string
  // End of list of possible types for union field icons.

  // Union field control can be only one of the following:
  "button": {
    object (Button)
  }
  // End of list of possible types for union field control.
}
字段
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_labelbottom_label 中至少一个。 icons只能是以下其中一项:
icon

enum (Icon)

一个枚举值,Chat API 会将其替换为相应的图标图片。

iconUrl

string

由网址指定的图标。

联合字段 control。一个控件微件。您可以设置 buttonswitch_widget,但不能同时设置这两者。 control只能是以下其中一项:
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 表示法
{

  // Union field type can be only one of the following:
  "textButton": {
    object (TextButton)
  },
  "imageButton": {
    object (ImageButton)
  }
  // End of list of possible types for union field type.
}
字段

联合字段 type

type只能是以下其中一项:

textButton

object (TextButton)

一个包含文本和 onclick 操作的按钮。

imageButton

object (ImageButton)

带有图片和 onclick 操作的按钮。

TextButton

一个包含文本和 onclick 操作的按钮。

JSON 表示法
{
  "text": string,
  "onClick": {
    object (OnClick)
  }
}
字段
text

string

按钮文字。

onClick

object (OnClick)

按钮的 onclick 操作。

ImageButton

带有 onclick 操作的图片按钮。

JSON 表示法
{
  "onClick": {
    object (OnClick)
  },
  "name": string,

  // Union field icons can be only one of the following:
  "icon": enum (Icon),
  "iconUrl": string
  // End of list of possible types for union field icons.
}
字段
onClick

object (OnClick)

onclick 操作。

name

string

imageButton 的名称,用于确保可访问性。如果未指定此名称,系统会提供默认值。

联合字段 icons。图标可以通过 Icon enum 或网址指定。 icons只能是以下其中一项:
icon

enum (Icon)

enum 指定的图标,用于编入 Chat API 提供的图标的索引。

iconUrl

string

由网址指定的图标。

CardAction

卡片操作是指与卡片关联的操作。对于账单卡,典型操作包括:删除账单、通过电子邮件发送账单或在浏览器中打开账单。

Google Chat 应用不支持。

JSON 表示法
{
  "actionLabel": string,
  "onClick": {
    object (OnClick)
  }
}
字段
actionLabel

string

用于在操作菜单项中显示的标签。

onClick

object (OnClick)

此操作项的 onclick 操作。