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。如要使用 Chat 應用程式中的資訊卡訊息,您也必須將動作的 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

(選用步驟) 如果為 true,則這項動作會將所有小工具視為必要。

適用於 Google Chat 應用程式和 Google Workspace 外掛程式。

ActionParameter

呼叫動作方法時要提供的字串參數清單。舉例來說,假設有三個貪睡按鈕:立即貪睡、貪睡一天或貪睡一週。您可能會使用 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

開啟對話方塊,這是以視窗和資訊卡為基礎的介面,Chat 應用程式可透過這個介面與使用者互動。

僅限 Chat 應用程式,用來回應卡片訊息上的按鈕點擊動作。如果為外掛程式指定,系統會移除整張資訊卡,且不會在用戶端顯示任何內容。

適用於 Google Chat 應用程式,不適用於 Google Workspace 外掛程式。

LoadIndicator

指定動作在呼叫動作時顯示的載入指標。

適用於 Google Chat 應用程式和 Google Workspace 外掛程式。

列舉
SPINNER 顯示微調器,指出內容正在載入。
NONE 不會顯示任何內容。

BorderStyle

卡片或小工具的框線樣式選項,包括框線類型和顏色。

適用於 Google Chat 應用程式和 Google Workspace 外掛程式。

欄位
type

BorderType

框線類型。

stroke_color

Color

類型為 BORDER_TYPE_STROKE 時要使用的顏色。

如要設定筆觸顏色,請為 redgreenblue 欄位指定值。值必須是介於 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

按鈕內顯示的圖示。如果同時設定 icontext,圖示會顯示在文字前方。

color

Color

(選用步驟) 按鈕的顏色。如果設定了這個屬性,按鈕 type 會設為 FILLED,而 texticon 欄位的顏色會設為對比色,方便使用者閱讀。舉例來說,如果按鈕顏色設為藍色,按鈕中的任何文字或圖示都會設為白色。

如要設定按鈕顏色,請為 redgreenblue 欄位指定值。值必須是介於 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

用於無障礙功能的替代文字。

設定說明文字,讓使用者瞭解按鈕的功能。舉例來說,如果按鈕會開啟超連結,您可能會寫下:「開啟新的瀏覽器分頁,並前往 https://developers.google.com/workspace/chat" 的 Google Chat 開發人員說明文件」。

type

Type

(選用步驟) 按鈕類型。如未設定,按鈕類型會預設為 OUTLINED。如果設定 color 欄位,按鈕類型會強制設為 FILLED,且系統會忽略為這個欄位設定的任何值。

類型

(選用步驟) 按鈕的類型。如果設定 color 欄位,type 會強制設為 FILLED

適用於 Google Chat 應用程式,不適用於 Google Workspace 外掛程式。

列舉
TYPE_UNSPECIFIED 請勿使用。未指明
OUTLINED 外框按鈕是中強調按鈕。通常包含重要動作,但不是 Chat 應用程式或外掛程式中的主要動作。
FILLED 已填滿按鈕的容器會填入單色。這是視覺效果最強的按鈕,建議用於 Chat 應用程式或外掛程式中的重要主要動作。
FILLED_TONAL 填滿色調按鈕是填滿型和外框型按鈕的替代折衷方案。在需要稍微強調低優先順序按鈕的情況下,這類按鈕比外框按鈕更實用。
BORDERLESS 按鈕在預設狀態下不得有隱藏容器。通常用於優先順序最低的動作,特別是在呈現多個選項時。

ButtonList

水平排列的按鈕清單。如需 Google Chat 應用程式的範例,請參閱新增按鈕

適用於 Google Chat 應用程式和 Google Workspace 外掛程式。

欄位
buttons[]

Button

按鈕陣列。

資訊卡

Google Chat 訊息或 Google Workspace 外掛程式中顯示的資訊卡介面。

資訊卡支援定義的版面配置、按鈕等互動式 UI 元素,以及圖片等多媒體。使用資訊卡呈現詳細資訊、向使用者收集資訊,以及引導使用者採取下一步行動。

使用資訊卡建構工具設計及預覽資訊卡。

開啟「資訊卡建立工具」

如要瞭解如何建構資訊卡,請參閱下列說明文件:

注意:每張資訊卡最多可新增 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 會建立含有 SettingsSend 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

資訊卡的名稱。在卡片導覽中做為卡片 ID。

適用於 Google Workspace 外掛程式,不適用於 Google Chat 應用程式。

display_style

DisplayStyle

在 Google Workspace 外掛程式中,設定 peekCardHeader 的顯示屬性。

適用於 Google Workspace 外掛程式,不適用於 Google Chat 應用程式。

peek_card_header

CardHeader

顯示脈絡內容時,概覽資訊卡標題會做為預留位置,方便使用者在首頁資訊卡和脈絡資訊卡之間向前瀏覽。

適用於 Google Workspace 外掛程式,不適用於 Google Chat 應用程式。

CardAction

資訊卡動作是指與資訊卡相關聯的動作。舉例來說,發票資訊卡可能包含刪除發票、透過電子郵件傳送發票,或在瀏覽器中開啟發票等動作。

適用於 Google Workspace 外掛程式,不適用於 Google Chat 應用程式。

欄位
action_label

string

顯示為動作選單項目的標籤。

on_click

OnClick

這個待辦事項的 onClick 動作。

CardFixedFooter

顯示在資訊卡底部的固定頁尾。

如果設定 fixedFooter 但未指定 primaryButtonsecondaryButton,就會發生錯誤。

如果是 Chat 應用程式,您可以在對話方塊中使用固定頁尾,但無法在訊息卡片中使用。如需 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 預設值。系統會取代資訊卡堆疊中頂端資訊卡的檢視畫面,顯示這張資訊卡。

DividerStyle

資訊卡的分隔線樣式。目前僅用於分隔卡片區塊。

適用於 Google Chat 應用程式和 Google Workspace 外掛程式。

列舉
DIVIDER_STYLE_UNSPECIFIED 請勿使用。未指明
SOLID_DIVIDER 預設選項。算繪實心分隔線。
NO_DIVIDER 如果設定此屬性,系統就不會算繪分隔線。這個樣式會從版面配置中完全移除分隔線。效果等同於完全不新增分隔線。

NestedWidget

可在包含版面配置 (例如 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,系統一律會顯示前兩個小工具,並預設收合後三個小工具。只有在 collapsibletrue 時,系統才會將 uncollapsibleWidgetsCount 納入考量。

collapse_control

CollapseControl

(選用步驟) 定義區段的展開和收合按鈕。只有在可收合的區塊中,才會顯示這個按鈕。如果未設定這個欄位,系統會使用預設按鈕。

輪播 (又稱滑桿) 會以投影片形式輪流顯示小工具清單,並提供按鈕,方便使用者前往上一個或下一個小工具。

舉例來說,這是包含三個文字段落小工具的輪轉介面 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

圖示圖片。如果同時設定 icontext,圖示會顯示在文字前方。

label

string

顯示在晶片內的文字。

on_click

OnClick

(選用步驟) 使用者點選方塊時要執行的動作,例如開啟超連結或執行自訂函式。

enabled
(deprecated)

bool

晶片是否處於啟用狀態,並回應使用者動作。預設為 true。已淘汰,改用 disabled

disabled

bool

晶片是否處於非使用中狀態,並忽略使用者動作。預設值為 false

alt_text

string

用於無障礙功能的替代文字。

設定說明文字,讓使用者瞭解晶片的功能。舉例來說,如果晶片會開啟超連結,請寫下:「開啟新的瀏覽器分頁,並前往 https://developers.google.com/workspace/chat" 的 Google Chat 開發人員說明文件」。

ChipList

水平排列的動態磚清單,可水平捲動或換行。

適用於 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 應用程式的範例,請參閱「在欄中顯示資訊卡和對話方塊」。

每個資料欄的高度取決於較高的資料欄。舉例來說,如果第一欄比第二欄高,兩欄的高度都會與第一欄相同。由於每個資料欄可包含不同數量的 Widget,因此您無法定義資料列,也無法對齊資料欄之間的 Widget。

資料欄會並排顯示。您可以使用 HorizontalSizeStyle 欄位自訂每個資料欄的寬度。如果使用者螢幕寬度太窄,第二欄會換行到第一欄下方:

  • 在網頁上,如果螢幕寬度小於或等於 480 像素,第二欄就會換行。
  • 在 iOS 裝置上,如果畫面寬度小於或等於 300 pt,第二欄就會換行。
  • 在 Android 裝置上,如果螢幕寬度小於或等於 320 dp,第二欄就會換行。

如要加入兩個以上的資料欄或使用資料列,請使用 Grid 小工具。

適用於 Google Chat 應用程式和 Google Workspace 外掛程式。支援資料欄的外掛程式 UI 包括:

  • 使用者從電子郵件草稿開啟外掛程式時顯示的對話方塊。
  • 使用者透過 Google 日曆活動的「新增附件」選單開啟外掛程式時,系統會顯示這個對話方塊。
欄位
column_items[]

Column

資料欄陣列。資訊卡或對話方塊最多可包含 2 欄。

資料欄。

Google Workspace 外掛程式和 Chat 應用程式

欄位
horizontal_size_style

HorizontalSizeStyle

指定資料欄如何填滿卡片的寬度。

horizontal_alignment

HorizontalAlignment

指定小工具是否要靠左、靠右或置中對齊欄。

vertical_alignment

VerticalAlignment

指定小工具是否要靠上、靠下或置中對齊資料欄。

widgets[]

Widgets

資料欄中包含的小工具陣列。小工具會按照指定順序顯示。

HorizontalSizeStyle

指定資料欄填滿卡片寬度的方式。每個資料欄的寬度取決於 HorizontalSizeStyle 和資料欄內小工具的寬度。

Google Workspace 外掛程式和 Chat 應用程式

列舉
HORIZONTAL_SIZE_STYLE_UNSPECIFIED 請勿使用。未指明
FILL_AVAILABLE_SPACE 預設值。欄會填滿可用空間,最多可達卡片寬度的 70%。如果兩個資料欄都設為 FILL_AVAILABLE_SPACE,每個資料欄會填滿 50% 的空間。
FILL_MINIMUM_SPACE 欄會盡可能填滿最少的空間,且不得超過卡片寬度的 30%。

VerticalAlignment

指定小工具是否要靠上、靠下或置中對齊資料欄。

Google Workspace 外掛程式和 Chat 應用程式

列舉
VERTICAL_ALIGNMENT_UNSPECIFIED 請勿使用。未指明
CENTER 預設值。將小工具對齊資料欄中央。
TOP 將小工具對齊欄頂。
BOTTOM 將小工具對齊資料欄底部。

小工具

可納入資料欄的支援小工具。

Google Workspace 外掛程式和 Chat 應用程式

欄位

聯集欄位 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小工具。

DateTimePicker

讓使用者輸入日期、時間或日期和時間。支援表單提交驗證。如果 Action.all_widgets_are_required 設為 true,或是在 Action.required_widgets 中指定這個小工具,除非選取值,否則系統會封鎖提交動作。如需 Google Chat 應用程式的範例,請參閱「讓使用者選擇日期和時間」。

使用者可以輸入文字,或使用挑選器選取日期和時間。如果使用者輸入無效的日期或時間,挑選器會顯示錯誤訊息,提示使用者正確輸入資訊。

適用於 Google Chat 應用程式和 Google Workspace 外掛程式。

欄位
name

string

表單輸入事件中 DateTimePicker 的識別名稱。

如要瞭解如何使用表單輸入內容,請參閱「接收表單資料」。

label

string

提示使用者輸入日期、時間或日期和時間的文字。舉例來說,如果使用者要預約時間,請使用 Appointment dateAppointment date and time 等標籤。

type

DateTimePickerType

小工具是否支援輸入日期、時間或日期和時間。

value_ms_epoch

int64

小工具中顯示的預設值,以自 Unix Epoch 時間起算的毫秒為單位。

根據挑選器類型 (DateTimePickerType) 指定值:

  • DATE_AND_TIME:世界標準時間的日曆日期和時間。舉例來說,如要表示 2023 年 1 月 1 日世界標準時間中午 12 點,請使用 1672574400000
  • DATE_ONLY:世界標準時間 00:00:00 的日曆日期。舉例來說,如要表示 2023 年 1 月 1 日,請使用 1672531200000
  • TIME_ONLY:世界標準時間。舉例來說,如要表示下午 12:00,請使用 43200000 (或 12 * 60 * 60 * 1000)。
timezone_offset_date

int32

代表時區與世界標準時間的時差 (以分鐘為單位) 的數字。如果已設定,value_ms_epoch 會以指定時區顯示。如未設定,系統會預設為使用者的時區設定。

on_change_action

Action

使用者在 DateTimePicker 介面中點選「儲存」或「清除」時觸發。

DateTimePickerType

DateTimePicker 小工具中的日期和時間格式。決定使用者是否能輸入日期、時間,或同時輸入日期和時間。

適用於 Google Chat 應用程式和 Google Workspace 外掛程式。

列舉
DATE_AND_TIME 使用者輸入日期和時間。
DATE_ONLY 使用者輸入日期。
TIME_ONLY 使用者輸入時間。

DecoratedText

這個小工具會顯示文字,並可視需要加上裝飾,例如文字上方或下方的標籤、文字前方的圖示、選取小工具,或文字後方的按鈕。如需 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,不適用於 topLabelbottomLabel

bottom_label

string

顯示在 text 下方的文字。一律換行。

bottom_label_text

TextParagraph

TextParagraph 的等效值。bottom_label一律會換行。可進行比 bottom_label 更複雜的格式設定。

適用於 Google Chat 應用程式,不適用於 Google Workspace 外掛程式。

on_click

OnClick

使用者點選 topLabelbottomLabel 時,就會觸發這項動作。

聯集欄位 controldecoratedText 小工具中文字右側顯示的按鈕、切換鈕、核取方塊或圖片。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": {}

格線

顯示包含一系列項目的格線。項目只能包含文字或圖片。如要使用回應式資料欄,或加入文字或圖片以外的內容,請使用 Columns。如需 Google Chat 應用程式的範例,請參閱「顯示含有項目集合的格線」。

格線支援任意數量的欄和項目。列數取決於項目數除以欄數。如果格線有 10 個項目和 2 欄,就會有 5 列。如果格線有 11 個項目和 2 個資料欄,則會有 6 個資料列。

適用於 Google Chat 應用程式和 Google Workspace 外掛程式。

舉例來說,下列 JSON 會建立含有單一項目的 2 欄格線:

"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

顯示在格線標題中的文字。

items[]

GridItem

要在格線中顯示的項目。

border_style

BorderStyle

要套用至每個格線項目的邊框樣式。

column_count

int32

要在格線中顯示的欄數。如未指定這個欄位,系統會使用預設值,而預設值會因格線顯示位置 (對話方塊與隨附元件) 而異。

on_click

OnClick

每個個別格線項目都會重複使用這個回呼,但項目 ID 和項目清單中的索引會新增至回呼的參數。

GridItem

代表格線版面配置中的項目。項目可包含文字、圖片,或同時包含文字和圖片。

適用於 Google Chat 應用程式和 Google Workspace 外掛程式。

欄位
id

string

這個格線項目的使用者指定 ID。這個 ID 會在上層格線的 onClick 回呼參數中傳回。

image

ImageComponent

顯示在格狀項目中的圖片。

title

string

格線項目的標題。

subtitle

string

格線項目的副標題。

layout

GridItemLayout

用於格線項目的版面配置。

GridItemLayout

代表格狀項目可用的各種版面配置選項。

適用於 Google Chat 應用程式和 Google Workspace 外掛程式。

列舉
GRID_ITEM_LAYOUT_UNSPECIFIED 請勿使用。未指明
TEXT_BELOW 標題和副標題會顯示在格狀項目圖片下方。
TEXT_ABOVE 標題和副標題會顯示在格線項目的圖片上方。

圖示

資訊卡小工具中顯示的圖示。如需 Google Chat 應用程式的範例,請參閱新增圖示

支援內建自訂圖示。

適用於 Google Chat 應用程式和 Google Workspace 外掛程式。

欄位
alt_text

string

(選用步驟) 無障礙圖示的說明。如未指定,則提供預設值 Button。最佳做法是為圖示顯示的內容設定實用說明,並視需要說明圖示的功能。例如 A user's account portraitOpens a new browser tab and navigates to the Google Chat developer documentation at https://developers.google.com/workspace/chat

如果圖示是在 Button 中設定,使用者將滑鼠游標懸停在按鈕上時,altText 會顯示為實用提示文字。不過,如果按鈕也設定了 text,系統就會忽略圖示的 altText

image_type

ImageType

套用至圖片的裁剪樣式。在某些情況下,套用 CIRCLE 裁剪功能會導致圖片繪製的尺寸大於內建圖示。

聯集欄位 icons。資訊卡上的小工具中顯示的圖示。icons 只能是下列其中一項:
known_icon

string

顯示 Google Workspace 提供的內建圖示。

舉例來說,如要顯示飛機圖示,請指定 AIRPLANE。如果是公車,請指定 BUS

如需支援圖示的完整清單,請參閱「內建圖示」。

icon_url

string

顯示 HTTPS 網址代管的自訂圖示。

例如:

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

支援的檔案類型包括 .png.jpg

material_icon

MaterialIcon

顯示其中一個 Google Material Icons

舉例來說,如要顯示核取方塊圖示,請使用

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

適用於 Google Chat 應用程式,不適用於 Google Workspace 外掛程式。

圖片

由網址指定的圖片,可執行 onClick 動作。如需範例,請參閱「新增圖片」。

適用於 Google Chat 應用程式和 Google Workspace 外掛程式。

欄位
image_url

string

圖片的 HTTPS 網址。

例如:

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

OnClick

使用者點按圖片時,點擊動作會觸發這項動作。

alt_text

string

這張圖片的替代文字,用於無障礙功能。

ImageComponent

代表圖片。

適用於 Google Chat 應用程式和 Google Workspace 外掛程式。

欄位
image_uri

string

圖片網址。

alt_text

string

圖片的無障礙標籤。

crop_style

ImageCropStyle

要套用至圖片的裁剪樣式。

border_style

BorderStyle

要套用至圖片的邊框樣式。

ImageCropStyle

代表套用至圖片的裁剪樣式。

適用於 Google Chat 應用程式和 Google Workspace 外掛程式。

舉例來說,以下是套用 16:9 長寬比的方法:

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

ImageCropType

裁剪類型。

aspect_ratio

double

如果裁剪類型為 RECTANGLE_CUSTOM,則要使用的顯示比例。

舉例來說,以下是套用 16:9 長寬比的方法:

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

ImageCropType

代表套用至圖片的裁剪樣式。

適用於 Google Chat 應用程式和 Google Workspace 外掛程式。

列舉
IMAGE_CROP_TYPE_UNSPECIFIED 請勿使用。未指明
SQUARE 預設值。套用正方形裁剪。
CIRCLE 裁剪成圓形。
RECTANGLE_CUSTOM 以自訂顯示比例套用矩形裁剪。使用 aspectRatio 設定自訂顯示比例。
RECTANGLE_4_3 以 4:3 顯示比例套用矩形裁剪。

MaterialIcon

Google Material Icon,內含超過 2500 個選項。

舉例來說,如要顯示自訂權重和等級的核取方塊圖示,請編寫下列程式碼:

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

適用於 Google Chat 應用程式,不適用於 Google Workspace 外掛程式。

欄位
name

string

Google Material 圖示中定義的圖示名稱,例如 check_box。系統會捨棄所有無效名稱,並替換成空字串,導致圖示無法顯示。

fill

bool

圖示是否會填滿。預設值為 false。

如要預覽不同的圖示設定,請前往 Google 字型圖示,然後調整「自訂」下方的設定。

weight

int32

圖示的筆觸粗細。請從 {100、200、300、400、500、600、700} 中選擇。如未提供,預設值為 400。如果指定其他值,系統會使用預設值。

如要預覽不同的圖示設定,請前往 Google 字型圖示,然後調整「自訂」下方的設定。

grade

int32

符號的粗細會受到權重和等級影響。調整等級比調整粗細更精細,對符號大小的影響較小。請從 {-25, 0, 200} 中選擇。如未提供,預設值為 0。如果指定其他值,系統會使用預設值。

如要預覽不同的圖示設定,請前往 Google 字型圖示,然後調整「自訂」下方的設定。

OnClick

說明如何回應使用者點選資訊卡上的互動式元素 (例如按鈕) 時的動作。

適用於 Google Chat 應用程式和 Google Workspace 外掛程式。

欄位

聯集欄位 data

data 只能是下列其中一項:

action

Action

如果指定了這個屬性,系統會透過這個 onClick 觸發動作。

card

Card

點按後,系統會將新卡片推送至卡片堆疊 (如有指定)。

適用於 Google Workspace 外掛程式,不適用於 Google Chat 應用程式。

overflow_menu

OverflowMenu

如果指定此 onClick,系統會開啟溢位選單。

OnClose

當關閉由 OnClick 動作開啟的連結時,用戶端會執行的動作。

實作方式取決於用戶端平台功能。舉例來說,網路瀏覽器可能會使用 OnClose 處理常式,在彈出式視窗中開啟連結。

如果同時設定 OnOpenOnClose 處理常式,且用戶端平台無法同時支援這兩個值,系統會優先採用 OnClose

適用於 Google Workspace 外掛程式,不適用於 Google Chat 應用程式。

列舉
NOTHING 預設值。卡片不會重新載入,也沒有任何反應。
RELOAD

在子視窗關閉後重新載入卡片。

如果與 OpenAs.OVERLAY 一併使用,子視窗會做為強制回應對話方塊,且父項卡片會遭到封鎖,直到子視窗關閉為止。

OpenAs

如果 OnClick 動作會開啟連結,用戶端可以將連結開啟為全螢幕視窗 (如果這是用戶端使用的影格),或是開啟為疊加畫面 (例如彈出式視窗)。實作方式取決於用戶端平台的功能,如果用戶端不支援所選值,系統可能會忽略該值。所有用戶端都支援「FULL_SIZE」。

適用於 Google Workspace 外掛程式,不適用於 Google Chat 應用程式。

列舉
FULL_SIZE 連結會以全尺寸視窗開啟 (如果這是用戶端使用的框架)。
OVERLAY 連結會以疊加視窗 (例如彈出式視窗) 開啟。

OverflowMenu

這個小工具會顯示彈出式選單,內含一或多個使用者可叫用的動作。例如在資訊卡中顯示非主要動作。如果動作無法全部顯示在可用空間中,可以使用這個小工具。如要使用,請在支援的小工具的 OnClick 動作中指定這個小工具。例如,在 Button 中。

適用於 Google Chat 應用程式和 Google Workspace 外掛程式。

欄位
items[]

OverflowMenuItem

必要欄位。選單選項清單。

OverflowMenuItem

使用者可在溢位選單中叫用的選項。

適用於 Google Chat 應用程式和 Google Workspace 外掛程式。

欄位
start_icon

Icon

顯示在文字前方的圖示。

text

string

必要欄位。向使用者識別或說明項目的文字。

on_click

OnClick

必要欄位。選取選單選項時叫用的動作。這個 OnClick 不可包含 OverflowMenu,任何指定的 OverflowMenu 都會遭到捨棄,且選單項目會停用。

disabled

bool

選單選項是否已停用。預設值為 false。

SelectionInput

這個小工具會建立一或多個使用者可選取的 UI 項目。僅支援 dropdownmultiselect 選單的表單提交驗證。如果 Action.all_widgets_are_required 設為 true,或是在 Action.required_widgets 中指定這個小工具,除非選取值,否則系統會封鎖提交動作。例如下拉式選單或核取方塊。您可以使用這個小工具收集可預測或列舉的資料。如需 Google Chat 應用程式的範例,請參閱新增可選取的 UI 元素

Chat 應用程式可以處理使用者選取或輸入的項目值。如要瞭解如何使用表單輸入內容,請參閱「接收表單資料」。

如要向使用者收集未定義或抽象資料,請使用 TextInput 小工具。

適用於 Google Chat 應用程式和 Google Workspace 外掛程式。

欄位
name

string

必要欄位。在表單輸入事件中,用於識別選取輸入內容的名稱。

如要瞭解如何使用表單輸入內容,請參閱「接收表單資料」。

label

string

使用者介面中,顯示在選取輸入欄位上方的文字。

指定有助於使用者輸入應用程式所需資訊的文字。舉例來說,如果使用者要從下拉式選單中選取工作單的緊急程度,標籤可能是「緊急程度」或「選取緊急程度」。

type

SelectionType

SelectionInput 小工具中向使用者顯示的項目類型。選取類型支援不同類型的互動。舉例來說,使用者可以選取一或多個核取方塊,但只能從下拉式選單中選取一個值。

items[]

SelectionItem

可選取項目的陣列。例如圓形按鈕或核取方塊的陣列。最多可支援 100 個項目。

on_change_action

Action

如果指定,表單會在選取內容變更時提交。如未指定,則必須指定提交表單的按鈕。

如要瞭解如何使用表單輸入內容,請參閱「接收表單資料」。

multi_select_max_selected_items

int32

如果是多選選單,這是使用者可選取的項目數量上限。最小值為 1 個項目。如未指定,則預設為 3 個項目。

multi_select_min_query_length

int32

如果是多選式選單,這是指使用者輸入的文字字元數,達到這個數量後,選單就會傳回建議的選取項目。

如未設定,多選式選單會使用下列預設值:

  • 如果選單使用 SelectionInput 項目靜態陣列,預設為 0 個字元,並立即從陣列填入項目。
  • 如果選單使用動態資料來源 (multi_select_data_source),系統預設會在使用者輸入 3 個字元後,查詢資料來源並傳回建議項目。

聯集欄位 multi_select_data_source。如果是多選選單,則為動態填入選項的資料來源。

適用於 Google Chat 應用程式,不適用於 Google Workspace 外掛程式。multi_select_data_source 只能是下列其中一項:

external_data_source

Action

外部資料來源,例如關聯式資料庫。

platform_data_source

PlatformDataSource

Google Workspace 的資料來源。

PlatformDataSource

如果 SelectionInput 小工具使用多選式選單,則資料來源必須是 Google Workspace。用於在多選選單中填入項目。

適用於 Google Chat 應用程式,不適用於 Google Workspace 外掛程式。

欄位
聯集欄位 data_source。資料來源。data_source 只能是下列其中一項:
common_data_source

CommonDataSource

所有 Google Workspace 應用程式共用的資料來源,例如 Google Workspace 機構中的使用者。

host_app_data_source

HostAppDataSourceMarkup

Google Workspace 主機應用程式專屬的資料來源,例如 Google Chat 中的聊天室。

這個欄位支援 Google API 用戶端程式庫,但 Cloud 用戶端程式庫不支援。詳情請參閱「安裝用戶端程式庫」。

CommonDataSource

所有 Google Workspace 應用程式共用的資料來源。

適用於 Google Chat 應用程式,不適用於 Google Workspace 外掛程式。

列舉
UNKNOWN 預設值。請勿使用。
USER Google Workspace 使用者。使用者只能查看及選取 Google Workspace 機構中的使用者。

SelectionItem

使用者可在選取輸入內容中選取的項目,例如核取方塊或切換鈕。最多可支援 100 個項目。

適用於 Google Chat 應用程式和 Google Workspace 外掛程式。

欄位
text

string

向使用者識別或說明項目的文字。

value

string

與這個項目相關聯的值。用戶應將此值做為表單輸入值。

如要瞭解如何使用表單輸入內容,請參閱「接收表單資料」。

selected

bool

項目是否預設為選取狀態。如果選取輸入內容只接受一個值 (例如圓形按鈕或下拉式選單),請只為一個項目設定這個欄位。

bottom_text

string

如果是多選式選單,則為顯示在項目 text 欄位下方的文字說明或標籤。

聯集欄位 start_icon。如果是多選選單,則為項目 text 欄位旁邊顯示的圖示網址。支援 PNG 和 JPEG 檔案。必須是 HTTPS 網址。例如:https://developers.google.com/workspace/chat/images/quickstart-app-avatar.pngstart_icon 只能是下列其中一項:
start_icon_uri

string

SelectionType

使用者可選取項目的格式。不同選項支援不同類型的互動。舉例來說,使用者可以選取多個核取方塊,但只能從下拉式選單中選取一個項目。

每個選取輸入內容都支援一種選取類型。舉例來說,系統不支援混用核取方塊和切換鈕。

適用於 Google Chat 應用程式和 Google Workspace 外掛程式。

列舉
CHECK_BOX 一組核取方塊。使用者可以選取一或多個核取方塊。
RADIO_BUTTON 一組圓形按鈕。使用者可以選取一個圓形按鈕。
SWITCH 一組切換開關。使用者可以開啟一或多個切換鈕。
DROPDOWN 下拉式選單。使用者可以從選單中選取一個項目。
MULTI_SELECT

內含文字方塊的選單。使用者可以輸入並選取一或多個項目。如果是 Google Workspace 外掛程式,您必須使用 SelectionItem 物件的靜態陣列填入項目。

如果是 Google Chat 應用程式,您也可以使用動態資料來源填入項目,並在使用者於選單中輸入內容時自動建議項目。舉例來說,使用者可以開始輸入 Google Chat 聊天室的名稱,小工具就會自動建議聊天室。如要動態填入多選式選單的項目,請使用下列其中一種資料來源:

  • Google Workspace 資料:系統會使用 Google Workspace 的資料填入項目,例如 Google Workspace 使用者或 Google Chat 聊天室。
  • 外部資料:項目是從 Google Workspace 以外的外部資料來源填入。

如需如何為 Chat 應用程式實作多選選單的範例,請參閱「新增多選選單」。

適用於 Google Chat 應用程式和 Google Workspace 外掛程式。

建議

使用者可輸入的建議值。使用者點按文字輸入欄位時,系統會顯示這些值。使用者輸入內容時,系統會動態篩選建議值,找出與使用者輸入內容相符的值。

舉例來說,程式設計語言的文字輸入欄位可能會建議 Java、JavaScript、Python 和 C++。使用者開始輸入 Jav 時,建議清單會篩選出 JavaJavaScript

建議值可引導使用者輸入應用程式可解讀的值。提到 JavaScript 時,部分使用者可能會輸入 javascript,其他使用者則輸入 java script。建議JavaScript可讓使用者與應用程式互動的方式標準化。

如果指定 TextInput.type,即使設為 MULTIPLE_LINETextInput.type 一律為 SINGLE_LINE

適用於 Google Chat 應用程式和 Google Workspace 外掛程式。

欄位
items[]

SuggestionItem

用於文字輸入欄位自動完成建議的建議清單。

SuggestionItem

使用者可在文字輸入欄位中輸入的建議值。

適用於 Google Chat 應用程式和 Google Workspace 外掛程式。

欄位

聯集欄位 content

content 只能是下列其中一項:

text

string

文字輸入欄位的建議輸入值。這與使用者自行輸入的內容相同。

TextInput

使用者可以在這個欄位中輸入文字。支援建議和變更時的動作。支援表單提交驗證。如果 Action.all_widgets_are_required 設為 true,或在 Action.required_widgets 中指定這個小工具,則必須輸入值,才能提交表單。如需 Google Chat 應用程式的範例,請參閱「新增供使用者輸入文字的欄位」。

在表單輸入事件期間,即時通訊應用程式會收到並處理輸入文字的值。如要瞭解如何使用表單輸入內容,請參閱「接收表單資料」。

如需向使用者收集未定義或抽象資料,請使用文字輸入。如要向使用者收集定義或列舉的資料,請使用 SelectionInput 小工具。

適用於 Google Chat 應用程式和 Google Workspace 外掛程式。

欄位
name

string

表單輸入事件中用來識別文字輸入內容的名稱。

如要瞭解如何使用表單輸入內容,請參閱「接收表單資料」。

label

string

使用者介面中文字輸入欄位上方的文字。

指定有助於使用者輸入應用程式所需資訊的文字。舉例來說,如果您要詢問對方的姓名,但特別需要對方的姓氏,請寫下 surname,而不是 name

如果未指定 hintText,則為必要欄位。否則為選填。

hint_text

string

顯示在文字輸入欄位下方的文字,提示使用者輸入特定值,藉此提供協助。這段文字會一直顯示。

如果未指定 label,則為必要欄位。否則為選填。

value

string

使用者輸入的值,會以表單輸入事件的形式傳回。

如要瞭解如何使用表單輸入內容,請參閱「接收表單資料」。

type

Type

文字輸入欄位在使用者介面中的顯示方式。例如欄位是單行還是多行。

on_change_action

Action

當文字輸入欄位發生變更時,該如何處理。例如使用者在欄位中新增或刪除文字。

例如執行自訂函式,或在 Google Chat 中開啟對話方塊

initial_suggestions

Suggestions

使用者可輸入的建議值。使用者點按文字輸入欄位時,系統會顯示這些值。使用者輸入內容時,系統會動態篩選建議值,找出與使用者輸入內容相符的值。

舉例來說,程式設計語言的文字輸入欄位可能會建議 Java、JavaScript、Python 和 C++。使用者開始輸入 Jav 時,建議清單會經過篩選,只顯示 JavaJavaScript

建議值可引導使用者輸入應用程式可解讀的值。提到 JavaScript 時,部分使用者可能會輸入 javascript,其他使用者則輸入 java script。建議JavaScript可讓使用者與應用程式互動的方式標準化。

如果指定 TextInput.type,即使設為 MULTIPLE_LINETextInput.type 一律為 SINGLE_LINE

適用於 Google Chat 應用程式和 Google Workspace 外掛程式。

auto_complete_action

Action

(選用步驟) 指定當文字輸入欄位向與其互動的使用者提供建議時,要採取的動作。

如未指定,建議會由 initialSuggestions 設定,並由用戶端處理。

如果指定,應用程式會採取這裡指定的動作,例如執行自訂函式。

適用於 Google Workspace 外掛程式,不適用於 Google Chat 應用程式。

validation

Validation

指定這個文字欄位必須進行的輸入格式驗證。

適用於 Google Chat 應用程式和 Google Workspace 外掛程式。

placeholder_text

string

欄位空白時,文字輸入欄位中顯示的文字。使用這段文字提示使用者輸入值。例如 Enter a number from 0 to 100

適用於 Google Chat 應用程式,不適用於 Google Workspace 外掛程式。

類型

文字輸入欄位在使用者介面中的顯示方式。例如單行或多行輸入欄位。如果指定 initialSuggestions,即使設為 MULTIPLE_LINEtype 一律為 SINGLE_LINE

適用於 Google Chat 應用程式和 Google Workspace 外掛程式。

列舉
SINGLE_LINE 文字輸入欄位的高度固定為一行。
MULTIPLE_LINE 文字輸入欄位的高度固定,可容納多行文字。

TextParagraph

支援格式設定的段落文字。如需 Google Chat 應用程式的範例,請參閱「新增一段格式化文字」。如要進一步瞭解如何設定文字格式,請參閱「在 Google Chat 應用程式中設定文字格式」和「在 Google Workspace 外掛程式中設定文字格式」。

適用於 Google Chat 應用程式和 Google Workspace 外掛程式。

欄位
text

string

小工具中顯示的文字。

max_lines

int32

小工具中顯示的文字行數上限。如果文字超過指定行數上限,多餘的內容會隱藏在「顯示更多」按鈕後方。如果文字等於或短於指定行數上限,就不會顯示「顯示更多」按鈕。

預設值為 0,此時會顯示所有內容。系統會忽略負值。

text_syntax

TextSyntax

文字的語法。如未設定,系統會將文字轉譯為 HTML。

適用於 Google Chat 應用程式,不適用於 Google Workspace 外掛程式。

TextSyntax

用於設定文字格式的語法。

適用於 Google Chat 應用程式,不適用於 Google Workspace 外掛程式。

列舉
TEXT_SYNTAX_UNSPECIFIED 如未指定,系統會將文字算繪為 HTML。
HTML 系統會將文字轉譯為 HTML。這是預設值。
MARKDOWN 文字會以 Markdown 格式呈現。

驗證

代表驗證所附加小工具的必要資料。

適用於 Google Chat 應用程式和 Google Workspace 外掛程式。

欄位
character_limit

int32

指定文字輸入小工具的字元限制。請注意,這項屬性僅適用於文字輸入,其他小工具會忽略這項屬性。

適用於 Google Chat 應用程式和 Google Workspace 外掛程式。

input_type

InputType

指定輸入小工具的類型。

適用於 Google Chat 應用程式和 Google Workspace 外掛程式。

InputType

輸入小工具的類型。

列舉
INPUT_TYPE_UNSPECIFIED 未指定類型。請勿使用。
TEXT 接受所有字元的一般文字。
INTEGER 整數值。
FLOAT 浮點值。
EMAIL 電子郵件地址。
EMOJI_PICKER 從系統提供的表情符號挑選器選取的表情符號。

小工具

每張資訊卡都由小工具組成。

小工具是複合物件,可代表文字、圖片、按鈕和其他物件類型。

欄位
horizontal_alignment

HorizontalAlignment

指定小工具是否要靠左、靠右或置中對齊欄。

聯集欄位 data。小工具只能包含下列其中一個項目。你可以使用多個小工具欄位顯示更多項目。data 只能是下列其中一項:
text_paragraph

TextParagraph

顯示一段文字。支援簡單的 HTML 格式文字。如要進一步瞭解如何設定文字格式,請參閱「在 Google Chat 應用程式中設定文字格式」和「在 Google Workspace 外掛程式中設定文字格式」。

舉例來說,下列 JSON 會建立粗體文字:

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

Image

顯示圖片。

舉例來說,下列 JSON 會建立含有替代文字的圖片:

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

DecoratedText

顯示裝飾文字項目。

舉例來說,下列 JSON 會建立顯示電子郵件地址的裝飾文字小工具:

"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

按鈕清單。

舉例來說,下列 JSON 會建立兩個按鈕。第一個是藍色文字按鈕,第二個是開啟連結的圖片按鈕:

"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

顯示可供使用者輸入的文字方塊。

舉例來說,下列 JSON 會建立電子郵件地址的文字輸入內容:

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

以下是另一個範例,說明如何使用 JSON 為程式設計語言建立文字輸入內容,並提供靜態建議:

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

SelectionInput

顯示選取控制項,供使用者選取項目。選取控制項可以是核取方塊、圓形按鈕、切換按鈕或下拉式選單。

舉例來說,下列 JSON 會建立下拉式選單,供使用者選擇尺寸:

"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

顯示小工具,讓使用者輸入日期、時間或日期和時間。

舉例來說,下列 JSON 會建立日期時間挑選器,用於安排預約時間:

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

Divider

在小工具之間顯示水平線分隔線。

舉例來說,下列 JSON 會建立分隔線:

"divider": {
}
grid

Grid

顯示包含一系列項目的格線。

格線支援任意數量的欄和項目。列數取決於項目數量上限除以欄數。如果格線有 10 個項目和 2 欄,就會有 5 列。如果格線有 11 個項目和 2 個資料欄,則會有 6 個資料列。

適用於 Google Chat 應用程式和 Google Workspace 外掛程式。

舉例來說,下列 JSON 會建立含有單一項目的 2 欄格線:

"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

最多可顯示 2 欄。

如要加入超過 2 個資料欄或使用資料列,請使用 Grid 小工具。

舉例來說,下列 JSON 會建立 2 個資料欄,每個資料欄都包含文字段落:

"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

輪轉介面包含一組巢狀小工具。舉例來說,這是包含兩個段落的輪轉介面 JSON 表示法。

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

ChipList

方塊清單。

舉例來說,下列 JSON 會建立兩個動態磚。第一個是文字資訊方塊,第二個是開啟連結的圖示資訊方塊:

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

HorizontalAlignment

指定小工具是否要靠左、靠右或置中對齊欄。

適用於 Google Chat 應用程式,不適用於 Google Workspace 外掛程式。

列舉
HORIZONTAL_ALIGNMENT_UNSPECIFIED 請勿使用。未指明
START 預設值。將小工具對齊欄的起始位置。如果是從左到右的版面配置,則會向左對齊。如果是從右至左的版面配置,則會靠右對齊。
CENTER 將小工具對齊資料欄中心。
END 將小工具對齊欄的結尾位置。如果是從左至右的版面配置,小工具會靠右對齊。如果是從右至左的版面配置,則會將小工具對齊左側。

ImageType

用於裁剪圖片的形狀。

適用於 Google Chat 應用程式和 Google Workspace 外掛程式。

列舉
SQUARE 預設值。為圖片套用正方形遮罩。舉例來說,4x3 的圖片會變成 3x3。
CIRCLE 為圖片套用圓形遮罩。舉例來說,4x3 的圖片會變成直徑為 3 的圓形。

VerticalAlignment

代表垂直對齊屬性。

列舉
VERTICAL_ALIGNMENT_UNSPECIFIED 未指定類型。請勿使用。
TOP 對齊頂端位置。
MIDDLE 對齊中間位置。
BOTTOM 對齊底部位置。