Card

Google Chat メッセージまたは Google Workspace アドオンに表示されるカード インターフェース。

カードは、定義済みのレイアウト、ボタンなどのインタラクティブな UI 要素、画像などのリッチメディアをサポートしています。カードを使用して、詳細情報の提示、ユーザーからの情報収集、次のステップへの誘導を行います。

カードビルダーを使用してカードを設計し、プレビューする。

カードビルダーを開く

カードの作成方法については、次のドキュメントをご覧ください。

注: 1 つのカードに追加できるウィジェットは 100 個までです。セクションのウィジェットによって合計数が 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"
                             }
                           ]
                         }
                       }
                     }
                   ]
                 }
               }
             ]
           }
         ]
       }
    }
  ]
}
JSON 表現
{
  "header": {
    object (CardHeader)
  },
  "sections": [
    {
      object (Section)
    }
  ],
  "sectionDividerStyle": enum (DividerStyle),
  "cardActions": [
    {
      object (CardAction)
    }
  ],
  "name": string,
  "fixedFooter": {
    object (CardFixedFooter)
  },
  "displayStyle": enum (DisplayStyle),
  "peekCardHeader": {
    object (CardHeader)
  },
  "expressionData": [
    {
      object (ExpressionData)
    }
  ]
}
フィールド
header

object (CardHeader)

カードのヘッダー。ヘッダーには通常、先頭の画像とタイトルが含まれます。ヘッダーは常にカードの上部に表示されます。

sections[]

object (Section)

ウィジェットのコレクションが含まれます。各セクションには、独自のオプションのヘッダーがあります。セクションは、区切り線で視覚的に区切られています。Google Chat アプリの例については、カードのセクションを定義するをご覧ください。

sectionDividerStyle

enum (DividerStyle)

ヘッダー、セクション、フッターの間の区切り線のスタイル。

cardActions[]

object (CardAction)

カードのアクション。アクションはカードのツールバー メニューに追加されます。最大 10 個の CardAction アイテムをサポートします。

Google Workspace アドオンで使用可能。Google Chat アプリでは使用不可。

たとえば、次の JSON は、Settings オプションと Send Feedback オプションを含むカード操作メニューを構築します。

"cardActions": [
  {
    "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 アプリでは使用不可。

displayStyle

enum (DisplayStyle)

Google Workspace アドオンで、peekCardHeader の表示プロパティを設定します。

Google Workspace アドオンで使用可能。Google Chat アプリでは使用不可。

peekCardHeader

object (CardHeader)

コンテキスト コンテンツを表示する場合、ピークカードのヘッダーはプレースホルダとして機能し、ユーザーはホームページ カードとコンテキスト カードの間を移動できます。

Google Workspace アドオンで使用可能。Google Chat アプリでは使用不可。

expressionData[]

object (ExpressionData)

カードの式データ。

Google Workspace Studio を拡張する Google Workspace アドオンで使用できます。Google Chat アプリでは使用できません。

CardHeader

カードヘッダーを表します。Google Chat アプリの例については、ヘッダーを追加するをご覧ください。

Google Chat アプリと Google Workspace アドオンで使用できます。

JSON 表現
{
  "title": string,
  "subtitle": string,
  "imageType": enum (ImageType),
  "imageUrl": string,
  "imageAltText": string
}
フィールド
title

string

必須。カードヘッダーのタイトル。ヘッダーの高さは固定されています。タイトルとサブタイトルの両方が指定されている場合、それぞれが 1 行を占めます。タイトルのみが指定されている場合は、両方の行が使用されます。

subtitle

string

カードヘッダーのサブタイトル。指定すると、title の下の行に表示されます。

imageType

enum (ImageType)

画像の切り抜きに使用する形状。

Google Chat アプリと Google Workspace アドオンで使用できます。

imageUrl

string

カードヘッダーの画像の HTTPS URL。

imageAltText

string

ユーザー補助に使用される、この画像の代替テキスト。

セクション

セクションには、指定された順序で垂直方向にレンダリングされるウィジェットのコレクションが含まれています。

Google Chat アプリと Google Workspace アドオンで使用できます。

JSON 表現
{
  "header": string,
  "widgets": [
    {
      object (Widget)
    }
  ],
  "collapsible": boolean,
  "uncollapsibleWidgetsCount": integer,
  "id": string,
  "collapseControl": {
    object (CollapseControl)
  }
}
フィールド
header

string

セクションの上部に表示されるテキスト。シンプルな HTML 形式のテキストをサポートしています。テキストの書式設定について詳しくは、Google Chat アプリでのテキストの書式設定と Google Workspace アドオンでのテキストの書式設定をご覧ください。

widgets[]

object (Widget)

セクション内のすべてのウィジェット。1 つ以上のウィジェットを含める必要があります。カードは、すべてのセクションで最大 100 個のウィジェットをサポートします。

collapsible

boolean

このセクションを折りたたみ可能にするかどうかを示します。

折りたたみ可能なセクションでは、一部またはすべてのウィジェットが非表示になりますが、ユーザーは [もっと見る] をクリックしてセクションを開き、非表示のウィジェットを表示できます。[表示を減らす] をクリックすると、ウィジェットを再度非表示にできます。

非表示にするウィジェットを指定するには、uncollapsibleWidgetsCount を指定します。

uncollapsibleWidgetsCount

integer

セクションが折りたたまれても表示されたままになる、折りたたみ不可能なウィジェットの数。

たとえば、セクションに 5 つのウィジェットが含まれていて、uncollapsibleWidgetsCount が 2 に設定されている場合、最初の 2 つのウィジェットは常に表示され、最後の 3 つはデフォルトで折りたたまれます。uncollapsibleWidgetsCount は、collapsible が true の場合にのみ考慮されます。

id

string

セクションに割り当てられた一意の ID。変更するセクションを識別するために使用されます。ID の文字数制限は 64 文字で、[a-zA-Z0-9-]+ の形式にする必要があります。

Google Workspace Studio を拡張する Google Workspace アドオンで使用できます。Google Chat アプリでは使用できません。

collapseControl

object (CollapseControl)

省略可。セクションの展開ボタンと折りたたみボタンを定義します。このボタンは、セクションが折りたたみ可能な場合にのみ表示されます。このフィールドが設定されていない場合は、デフォルトのボタンが使用されます。

ウィジェット

各カードはウィジェットで構成されています。

ウィジェットは、テキスト、画像、ボタン、その他のオブジェクト タイプのいずれかを表すことができる複合オブジェクトです。

JSON 表現
{
  "horizontalAlignment": enum (HorizontalAlignment),
  "id": string,
  "visibility": enum (Visibility),
  "eventActions": [
    {
      object (EventAction)
    }
  ],

  "textParagraph": {
    object (TextParagraph)
  },
  "image": {
    object (Image)
  },
  "decoratedText": {
    object (DecoratedText)
  },
  "buttonList": {
    object (ButtonList)
  },
  "textInput": {
    object (TextInput)
  },
  "selectionInput": {
    object (SelectionInput)
  },
  "dateTimePicker": {
    object (DateTimePicker)
  },
  "divider": {
    object (Divider)
  },
  "grid": {
    object (Grid)
  },
  "columns": {
    object (Columns)
  },
  "carousel": {
    object (Carousel)
  },
  "chipList": {
    object (ChipList)
  }
}
フィールド
horizontalAlignment

enum (HorizontalAlignment)

ウィジェットを列の左、右、中央のいずれに揃えるかを指定します。

id

string

変更するウィジェットを識別するために使用される、ウィジェットに割り当てられた一意の ID。ID の文字数制限は 64 文字で、[a-zA-Z0-9-]+ の形式にする必要があります。

Google Workspace Studio を拡張する Google Workspace アドオンで使用できます。Google Chat アプリでは使用できません。

visibility

enum (Visibility)

ウィジェットを表示するか非表示にするかを指定します。デフォルト値は VISIBLE です。

Google Workspace Studio を拡張する Google Workspace アドオンで使用できます。Google Chat アプリでは使用できません。

eventActions[]

object (EventAction)

ウィジェットで実行できるイベント アクションを指定します。

Google Workspace Studio を拡張する Google Workspace アドオンで使用できます。Google Chat アプリでは使用できません。

ウィジェットに含めることができるのは、次のいずれかのアイテムのみです。複数のウィジェット フィールドを使用して、より多くのアイテムを表示できます。相互に排他的なフィールドのリストは次のとおりです。レスポンスに設定されるフィールドは、最大 1 つです。
textParagraph

object (TextParagraph)

テキスト段落を表示します。シンプルな HTML 形式のテキストをサポートしています。テキストの書式設定について詳しくは、Google Chat アプリでのテキストの書式設定と Google Workspace アドオンでのテキストの書式設定をご覧ください。

たとえば、次の JSON は太字のテキストを作成します。

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

object (Image)

画像を表示します。

たとえば、次の JSON は代替テキストを含む画像を作成します。

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

object (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"
  }
}
buttonList

object (ButtonList)

ボタンのリスト。

たとえば、次の JSON は 2 つのボタンを作成します。1 つ目は青いテキストボタン、2 つ目はリンクを開く画像ボタンです。

"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"
        }
      }
    }
  ]
}
textInput

object (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"
      }
    ]
  }
}
selectionInput

object (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
    }
  ]
}
dateTimePicker

object (DateTimePicker)

ユーザーが日付、時刻、または日時を入力できるウィジェットを表示します。

たとえば、次の JSON は、予約をスケジュールするための日時選択ツールを作成します。

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

object (Divider)

ウィジェット間に水平線の区切りを表示します。

たとえば、次の JSON は区切り線を作成します。

"divider": {
}
grid

object (Grid)

アイテムのコレクションを含むグリッドを表示します。

グリッドは、任意の数の列とアイテムをサポートします。行数は、アイテム数の上限を列数で割った値によって決まります。10 個のアイテムと 2 つの列があるグリッドには、5 つの行があります。11 個のアイテムと 2 つの列があるグリッドには、6 つの行があります。

Google Chat アプリと Google Workspace アドオンで使用できます。

たとえば、次の JSON は、1 つのアイテムを含む 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

object (Columns)

最大 2 列を表示します。

3 つ以上の列を含める場合や、行を使用する場合は、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

object (Carousel)

CarouselCard アイテムのコレクションが含まれます。各アイテムにはネストされたウィジェットが含まれます。たとえば、次の JSON 表現は、2 つのカルーセル カードを含むカルーセルを表しています。各カードにはテキスト段落が含まれています。

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

object (ChipList)

チップのリスト。

たとえば、次の JSON では 2 つのチップが作成されます。1 つ目はテキストチップ、2 つ目はリンクを開くアイコンチップです。

"chipList": {
  "chips": [
    {
      "label": "Edit",
      "disabled": true
    },
    {
      "icon": {
        "knownIcon": "INVITE",
        "altText": "check calendar"
      },
      "onClick": {
        "openLink": {
          "url": "https://example.com/calendar"
        }
      }
    }
  ]
}
相互に排他的なフィールドの終了。

TextParagraph

書式設定をサポートするテキストの段落。Google Chat アプリの例については、書式設定されたテキストの段落を追加するをご覧ください。テキストの書式設定について詳しくは、Google Chat アプリでのテキストの書式設定と Google Workspace アドオンでのテキストの書式設定をご覧ください。

Google Chat アプリと Google Workspace アドオンで使用できます。

JSON 表現
{
  "text": string,
  "maxLines": integer,
  "textSyntax": enum (TextSyntax)
}
フィールド
text

string

ウィジェットに表示されるテキスト。

maxLines

integer

ウィジェットに表示されるテキストの最大行数。テキストが指定された最大行数を超えると、超過したコンテンツは [もっと見る] ボタンの後ろに隠れます。テキストが指定された最大行数以下の場合、[もっと見る] ボタンは表示されません。

デフォルト値は 0 で、この場合はすべてのコンテキストが表示されます。負の値は無視されます。

textSyntax

enum (TextSyntax)

テキストの構文。設定されていない場合、テキストは HTML としてレンダリングされます。

Google Chat アプリで使用可能、Google Workspace アドオンでは使用不可。

TextSyntax

テキストの書式設定に使用する構文。

Google Chat アプリで使用可能、Google Workspace アドオンでは使用不可。

列挙型
TEXT_SYNTAX_UNSPECIFIED 指定しない場合、テキストは HTML としてレンダリングされます。
HTML テキストは HTML としてレンダリングされます。これがデフォルト値です。
MARKDOWN テキストはマークダウンとしてレンダリングされます。

画像

URL で指定され、onClick アクションを設定できる画像。例については、画像を追加するをご覧ください。

Google Chat アプリと Google Workspace アドオンで使用できます。

JSON 表現
{
  "imageUrl": string,
  "onClick": {
    object (OnClick)
  },
  "altText": string
}
フィールド
imageUrl

string

画像をホストする HTTPS URL。

次に例を示します。

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

object (OnClick)

ユーザーが画像をクリックすると、このアクションがトリガーされます。

altText

string

ユーザー補助に使用される、この画像の代替テキスト。

DecoratedText

テキストを表示するウィジェット。テキストの上または下のラベル、テキストの前のアイコン、選択ウィジェット、テキストの後のボタンなどのオプションの装飾を付けることができます。Google Chat アプリの例については、装飾テキストを含むテキストを表示するをご覧ください。

Google Chat アプリと Google Workspace アドオンで使用できます。

JSON 表現
{
  "icon": {
    object (Icon)
  },
  "startIcon": {
    object (Icon)
  },
  "startIconVerticalAlignment": enum (VerticalAlignment),
  "topLabel": string,
  "topLabelText": {
    object (TextParagraph)
  },
  "text": string,
  "contentText": {
    object (TextParagraph)
  },
  "wrapText": boolean,
  "bottomLabel": string,
  "bottomLabelText": {
    object (TextParagraph)
  },
  "onClick": {
    object (OnClick)
  },

  "button": {
    object (Button)
  },
  "switchControl": {
    object (SwitchControl)
  },
  "endIcon": {
    object (Icon)
  }
}
フィールド
icon
(deprecated)

object (Icon)

非推奨。startIcon を使用してください。

startIcon

object (Icon)

テキストの前に表示されるアイコン。

startIconVerticalAlignment

enum (VerticalAlignment)

省略可。開始アイコンの垂直方向の配置。設定しない場合、アイコンは垂直方向に中央揃えされます。

Google Chat アプリで使用可能、Google Workspace アドオンでは使用不可。

topLabel

string

text の上に表示されるテキスト。常に切り捨てられます。

topLabelText

object (TextParagraph)

TextParagraph は topLabel と同等です。常に切り捨てられます。topLabel よりも複雑な書式設定が可能です。

Google Chat アプリで使用可能、Google Workspace アドオンでは使用不可。

text

string

必須。メインテキスト。

シンプルな書式設定をサポートしています。テキストの書式設定について詳しくは、Google Chat アプリでのテキストの書式設定と Google Workspace アドオンでのテキストの書式設定をご覧ください。

contentText

object (TextParagraph)

TextParagraph は text と同等です。text よりも複雑な書式設定が可能です。

Google Chat アプリで使用可能、Google Workspace アドオンでは使用不可。

wrapText

boolean

テキストの折り返し設定。true の場合、テキストは折り返されて複数行に表示されます。それ以外の場合、テキストは切り捨てられます。

text にのみ適用されます。topLabel と bottomLabel には適用されません。

bottomLabel

string

text の下に表示されるテキスト。常に折り返されます。

bottomLabelText

object (TextParagraph)

TextParagraph は bottomLabel と同等です。常に折り返されます。bottomLabel よりも複雑な書式設定が可能です。

Google Chat アプリで使用可能、Google Workspace アドオンでは使用不可。

onClick

object (OnClick)

このアクションは、ユーザーが DecoratedText ウィジェットの任意の場所(text、topLabel、bottomLabel、アイコンなど)をクリックしたときにトリガーされます。ただし、別のインタラクティブ コントロール(button または switchControl)をクリックした場合は除きます。

decoratedText ウィジェットのテキストの右側に表示されるボタン、スイッチ、チェックボックス、または画像。相互に排他的なフィールドのリストは次のとおりです。レスポンスに設定されるフィールドは、最大 1 つです。
button

object (Button)

ユーザーがクリックしてアクションをトリガーできるボタン。

switchControl

object (SwitchControl)

ユーザーがクリックして状態を変更し、アクションをトリガーできるスイッチ ウィジェット。

endIcon

object (Icon)

テキストの後に表示されるアイコン。

組み込みアイコンとカスタム アイコンをサポートしています。

相互に排他的なフィールドの終了。

VerticalAlignment

垂直方向の配置属性を表します。

列挙型
VERTICAL_ALIGNMENT_UNSPECIFIED タイプの指定なし。使用しないでください。
TOP 上部への配置。
MIDDLE 中央揃え。
BOTTOM 下揃え。

SwitchControl

decoratedText ウィジェット内の切り替えスタイルのスイッチまたはチェックボックス。

Google Chat アプリと Google Workspace アドオンで使用できます。

decoratedText ウィジェットでのみサポートされています。

JSON 表現
{
  "name": string,
  "value": string,
  "selected": boolean,
  "onChangeAction": {
    object (Action)
  },
  "controlType": enum (ControlType)
}
フィールド
name

string

フォーム入力イベントでスイッチ ウィジェットを識別する名前(CommonEventObject.form_inputs のキー)。

フォーム入力の操作の詳細については、フォームデータを受信するをご覧ください。

value

string

スイッチが選択されている場合に CommonEventObject.form_inputs[name].string_inputs で返される値(selected が true)。selected が true で、value が設定されていない場合、stringInputs.value で空の文字列("")が返されます。selected が false の場合、この値は stringInputs.value から省略されます。

フォーム入力の操作の詳細については、フォームデータを受信するをご覧ください。

selected

boolean

true の場合、スイッチが選択され、その value が CommonEventObject.form_inputs[name].string_inputs.value に含まれます。

onChangeAction

object (Action)

スイッチの状態が変更されたときに実行するアクション(実行する関数など)。

controlType

enum (ControlType)

ユーザー インターフェースでのスイッチの表示方法。

Google Chat アプリと Google Workspace アドオンで使用できます。

ControlType

ユーザー インターフェースでのスイッチの表示方法。

Google Chat アプリと Google Workspace アドオンで使用できます。

列挙型
SWITCH トグルスタイルのスイッチ。
CHECKBOX 非推奨。CHECK_BOX を使用してください。
CHECK_BOX チェックボックス。

TextInput

ユーザーがテキストを入力できるフィールド。候補と変更時のアクションをサポートします。フォーム送信の検証をサポートします。Action.all_widgets_are_required が true に設定されている場合、またはこのウィジェットが Action.required_widgets で指定されている場合、値が入力されない限り、送信アクションはブロックされます。Google Chat アプリの例については、ユーザーがテキストを入力できるフィールドを追加するをご覧ください。

Chat 用アプリは、フォーム入力イベント中に入力されたテキストの値を受信して処理できます。フォーム入力の操作の詳細については、フォームデータを受信するをご覧ください。

ユーザーから未定義のデータや抽象的なデータを収集する必要がある場合は、テキスト入力を使用します。ユーザーから定義済みまたは列挙型のデータを収集するには、SelectionInput ウィジェットを使用します。

Google Chat アプリと Google Workspace アドオンで使用できます。

JSON 表現
{
  "name": string,
  "label": string,
  "hintText": string,
  "value": string,
  "type": enum (Type),
  "onChangeAction": {
    object (Action)
  },
  "initialSuggestions": {
    object (Suggestions)
  },
  "autoCompleteAction": {
    object (Action)
  },
  "validation": {
    object (Validation)
  },
  "placeholderText": string,

  "hostAppDataSource": {
    object (HostAppDataSourceMarkup)
  }
}
フィールド
name

string

フォーム入力イベントでテキスト入力を識別する名前。

フォーム入力の操作の詳細については、フォームデータを受信するをご覧ください。

label

string

ユーザー インターフェースのテキスト入力フィールドの上に表示されるテキスト。

アプリに必要な情報をユーザーが入力するのに役立つテキストを指定します。たとえば、誰かの名前を尋ねる際に、特に姓が必要な場合は、name ではなく surname と記述します。

hintText が指定されていない場合は必須です。それ以外の場合は省略可能です。

hintText

string

テキスト入力フィールドの下に表示されるテキスト。ユーザーに特定の値の入力を促すことで、ユーザーを支援することを目的としています。このテキストは常に表示されます。

label が指定されていない場合は必須です。それ以外の場合は省略可能です。

value

string

ユーザーが入力した値。フォーム入力イベントの一部として返されます。

フォーム入力の操作の詳細については、フォームデータを受信するをご覧ください。

type

enum (Type)

ユーザー インターフェースにテキスト入力フィールドが表示される仕組み。たとえば、フィールドが 1 行か複数行かなどです。

onChangeAction

object (Action)

テキスト入力フィールドで変更が発生した場合の処理。たとえば、ユーザーがフィールドにテキストを追加したり、テキストを削除したりした場合です。

実行するアクションの例としては、カスタム関数の実行や、Google Chat でのダイアログの表示などがあります。

initialSuggestions

object (Suggestions)

ユーザーが入力できる候補値。これらの値は、ユーザーがテキスト入力フィールド内をクリックすると表示されます。ユーザーが入力すると、入力内容に一致する候補値が動的にフィルタされます。

たとえば、プログラミング言語のテキスト入力フィールドで、Java、JavaScript、Python、C++ が候補として表示されるとします。ユーザーが「Jav」と入力し始めると、候補のリストがフィルタされ、Java と JavaScript のみが表示されます。

候補値は、アプリが認識できる値をユーザーが入力できるようにするためのものです。JavaScript を参照する場合、javascript と入力するユーザーもいれば、java script と入力するユーザーもいます。JavaScript を提案することで、ユーザーがアプリを操作する方法を標準化できます。

指定した場合、TextInput.type は MULTIPLE_LINE に設定されていても常に SINGLE_LINE になります。

Google Chat アプリと Google Workspace アドオンで使用できます。

autoCompleteAction

object (Action)

省略可。テキスト入力フィールドが、操作するユーザーに候補を提示したときに実行するアクションを指定します。

指定しない場合、候補は initialSuggestions によって設定され、クライアントによって処理されます。

指定すると、アプリはここで指定されたアクション(カスタム関数の実行など)を実行します。

Google Workspace アドオンで使用可能。Google Chat アプリでは使用不可。

validation

object (Validation)

このテキスト フィールドに必要な入力形式の検証を指定します。

Google Chat アプリと Google Workspace アドオンで使用できます。

placeholderText

string

テキスト入力フィールドが空の場合に表示されるテキスト。このテキストを使用して、ユーザーに値の入力を促します。例: Enter a number from 0 to 100

Google Chat アプリで使用可能、Google Workspace アドオンでは使用不可。

相互に排他的なフィールドのリストは次のとおりです。レスポンスに設定されるフィールドは、最大 1 つです。
hostAppDataSource

object (HostAppDataSourceMarkup)

Gmail のメール、Google カレンダーの予定、Google Chat のメッセージなど、Google Workspace ホスト アプリケーションに固有のデータソース。

Google Workspace Studio を拡張する Google Workspace アドオンで使用できます。Google Chat アプリでは使用できません。

相互に排他的なフィールドの終了。

タイプ

ユーザー インターフェースにテキスト入力フィールドが表示される仕組み。たとえば、1 行の入力フィールドか、複数行の入力フィールドかなどです。initialSuggestions が指定されている場合、type は常に SINGLE_LINE になります(MULTIPLE_LINE に設定されている場合でも)。

Google Chat アプリと Google Workspace アドオンで使用できます。

列挙型
SINGLE_LINE テキスト入力フィールドの高さは 1 行に固定されています。
MULTIPLE_LINE テキスト入力フィールドの高さは複数行に固定されています。

RenderActions

カードにアクションの実行を指示する、またはアドオンのホストアプリや Chat 用アプリにアプリ固有のアクションの実行を指示する一連のレンダリング指示。

Google Chat アプリと Google Workspace アドオンで使用できます。

フィールド
action

Action

アクション

フィールド
navigations[]

Navigation

カードをプッシュ、ポップ、または更新します。

Google Chat のアドオン

スタックに新しいカードを追加します(前方に移動)。Chat アプリの場合、アプリのホームでのみ使用できます。

Google Chat アプリと Google Workspace アドオンで使用できます。

navigations: {
  pushCard: CARD
}

一番上のカードを新しいカードに置き換えます。Chat アプリの場合、アプリのホームでのみ使用できます。

Google Chat アプリと Google Workspace アドオンで使用できます。

navigations: {
  updateCard: CARD
}

候補

ユーザーが入力できる候補値。これらの値は、ユーザーがテキスト入力フィールド内をクリックすると表示されます。ユーザーが入力すると、入力内容に一致する候補値が動的にフィルタされます。

たとえば、プログラミング言語のテキスト入力フィールドでは、Java、JavaScript、Python、C++ が候補として表示されます。ユーザーが「Jav」と入力し始めると、候補リストがフィルタされ、「Java」と「JavaScript」が表示されます。

候補値は、アプリが認識できる値をユーザーが入力できるようにするためのものです。JavaScript を参照する場合、javascript と入力するユーザーもいれば、java script と入力するユーザーもいます。JavaScript を提案することで、ユーザーがアプリを操作する方法を標準化できます。

指定した場合、TextInput.type は MULTIPLE_LINE に設定されていても常に SINGLE_LINE になります。

Google Chat アプリと Google Workspace アドオンで使用できます。

JSON 表現
{
  "items": [
    {
      object (SuggestionItem)
    }
  ]
}
フィールド
items[]

object (SuggestionItem)

テキスト入力フィールドの予測入力候補に使用される候補のリスト。

SuggestionItem

ユーザーがテキスト入力フィールドに入力できる推奨値。

Google Chat アプリと Google Workspace アドオンで使用できます。

JSON 表現
{

  "text": string
}
フィールド
相互に排他的なフィールドのリストは次のとおりです。レスポンスに設定されるフィールドは、最大 1 つです。
text

string

テキスト入力フィールドに提案される入力の値。これは、ユーザーが自分で入力する内容と同じです。

相互に排他的なフィールドの終了。

検証

アタッチされているウィジェットを検証するために必要なデータを表します。

Google Chat アプリと Google Workspace アドオンで使用できます。

JSON 表現
{
  "characterLimit": integer,
  "inputType": enum (InputType)
}
フィールド
characterLimit

integer

テキスト入力ウィジェットの文字数制限を指定します。これはテキスト入力にのみ使用され、他のウィジェットでは無視されます。

Google Chat アプリと Google Workspace アドオンで使用できます。

inputType

enum (InputType)

入力ウィジェットのタイプを指定します。

Google Chat アプリと Google Workspace アドオンで使用できます。

InputType

入力ウィジェットのタイプ。

列挙型
INPUT_TYPE_UNSPECIFIED タイプの指定なし。使用しないでください。
TEXT すべての文字を使用できる通常のテキスト。
INTEGER 整数値。
FLOAT 浮動小数点値。
EMAIL メールアドレス。
EMOJI_PICKER システム提供の絵文字選択ツールから選択された絵文字。

HostAppDataSourceMarkup

Google Workspace アプリケーションのデータソース。データソースは、ウィジェットで使用可能なアイテムを入力します。

JSON 表現
{

  "chatDataSource": {
    object (ChatClientDataSourceMarkup)
  },
  "workflowDataSource": {
    object (WorkflowDataSourceMarkup)
  }
}
フィールド
ウィジェットで使用可能なアイテムを入力する Google Workspace アプリケーション。相互に排他的なフィールドのリストは次のとおりです。レスポンスに設定されるフィールドは、最大 1 つです。
chatDataSource

object (ChatClientDataSourceMarkup)

Google Chat のデータソース。

workflowDataSource

object (WorkflowDataSourceMarkup)

Google Workflow のデータソース。

相互に排他的なフィールドの終了。

ChatClientDataSourceMarkup

複数選択メニューを使用する SelectionInput ウィジェットの場合、Google Chat のデータソース。データソースは、複数選択メニューの選択項目を入力します。たとえば、ユーザーは自分がメンバーになっている Google Chat スペースを選択できます。

Google Chat アプリで使用可能。Google Workspace アドオンでは使用不可。

JSON 表現
{

  "spaceDataSource": {
    object (SpaceDataSource)
  }
}
フィールド
Google Chat データソース。相互に排他的なフィールドのリストは次のとおりです。レスポンスに設定されるフィールドは、最大 1 つです。
spaceDataSource

object (SpaceDataSource)

ユーザーがメンバーになっている Google Chat のスペース。

相互に排他的なフィールドの終了。

SpaceDataSource

Google Chat スペースを複数選択メニューの選択項目として入力するデータソース。ユーザーがメンバーであるスペースのみが入力されます。

Google Chat アプリで使用可能、Google Workspace アドオンでは使用不可。

JSON 表現
{
  "defaultToCurrentSpace": boolean
}
フィールド
defaultToCurrentSpace

boolean

true に設定すると、複数選択メニューで現在の Google Chat スペースがデフォルトでアイテムとして選択されます。

WorkflowDataSourceMarkup

* Google Workspace ワークフローでのみサポートされています。Google Chat アプリや Google Workspace アドオンではサポートされていません。

MULTI_SELECT タイプの TextInput ウィジェットまたは SelectionInput ウィジェット、あるいは DateTimePicker で、Google のデータソースを指定します。

JSON 表現
{
  "includeVariables": boolean,
  "type": enum (Type)
}
フィールド
includeVariables

boolean

データソースに前のステップの変数を含めるかどうか。

type

enum (Type)

データソースのタイプ。

タイプ

ワークフロー データソースのタイプを表す列挙型。

列挙型
UNKNOWN デフォルト値。使用しないでください。
USER Google Workspace ユーザー。ユーザーは、Google Workspace 組織のユーザーのみを表示して選択できます。
SPACE ユーザーがメンバーになっている Google Chat のスペース。
USER_WITH_FREE_FORM ユーザーは、Google Workspace 組織の既存のメンバーを表示して選択するか、メールアドレスまたは有効なドメインを手動で入力するかを選択できます。

SelectionInput

ユーザーが選択できる 1 つ以上の UI アイテムを作成するウィジェット。dropdown メニューと multiselect メニューでのみ、フォーム送信の検証をサポートします。Action.all_widgets_are_required が true に設定されている場合、またはこのウィジェットが Action.required_widgets で指定されている場合、値が選択されない限り、送信アクションはブロックされます。たとえば、プルダウン メニューやチェックボックスなどです。このウィジェットを使用すると、予測または列挙可能なデータを収集できます。Google Chat アプリの例については、選択可能な UI 要素を追加するをご覧ください。

Chat 用アプリは、ユーザーが選択または入力した項目の値を処理できます。フォーム入力の操作の詳細については、フォームデータを受信するをご覧ください。

ユーザーから未定義のデータや抽象的なデータを収集するには、TextInput ウィジェットを使用します。

Google Chat アプリと Google Workspace アドオンで使用できます。

JSON 表現
{
  "name": string,
  "label": string,
  "type": enum (SelectionType),
  "items": [
    {
      object (SelectionItem)
    }
  ],
  "onChangeAction": {
    object (Action)
  },
  "multiSelectMinQueryLength": integer,
  "dataSourceConfigs": [
    {
      object (DataSourceConfig)
    }
  ],
  "multiSelectMaxSelectedItems": integer,
  "hintText": string,

  "externalDataSource": {
    object (Action)
  },
  "platformDataSource": {
    object (PlatformDataSource)
  }
}
フィールド
name

string

必須。フォーム入力イベントで選択入力を識別する名前。

フォーム入力の操作の詳細については、フォームデータを受信するをご覧ください。

label

string

ユーザー インターフェースの選択入力フィールドの上に表示されるテキスト。

アプリに必要な情報をユーザーが入力するのに役立つテキストを指定します。たとえば、ユーザーがプルダウン メニューから作業チケットの緊急度を選択する場合、ラベルは「緊急度」または「緊急度を選択」になります。

type

enum (SelectionType)

SelectionInput ウィジェットでユーザーに表示されるアイテムのタイプ。選択タイプは、さまざまなタイプのインタラクションをサポートしています。たとえば、ユーザーは複数のチェックボックスを選択できますが、プルダウン メニューから選択できる値は 1 つだけです。

items[]

object (SelectionItem)

選択可能なアイテムの配列。たとえば、ラジオボタンやチェックボックスの配列です。最大 100 個のアイテムをサポートします。

onChangeAction

object (Action)

指定すると、選択内容が変更されたときにフォームが送信されます。指定しない場合は、フォームを送信する別のボタンを指定する必要があります。

フォーム入力の操作の詳細については、フォームデータを受信するをご覧ください。

multiSelectMinQueryLength

integer

複数選択メニューの場合、メニューが選択項目の候補を返す前にユーザーが入力するテキスト文字数。

設定しない場合、複数選択メニューでは次のデフォルト値が使用されます。

  • メニューで SelectionInput 項目の静的配列を使用する場合、デフォルトは 0 文字で、配列から項目がすぐに挿入されます。
  • メニューで動的データソース(multi_select_data_source)を使用している場合、デフォルトでは 3 文字入力するとデータソースがクエリされ、候補アイテムが返されます。
dataSourceConfigs[]

object (DataSourceConfig)

省略可。選択コントロールのデータソース構成。このフィールドを使用すると、データソースをより細かく制御できます。

指定すると、multiSelectMaxSelectedItems フィールド、multiSelectMinQueryLength フィールド、externalDataSource フィールド、platformDataSource フィールドは無視されます。

Google Workspace Studio を拡張する Google Workspace アドオンで使用できます。

Google Chat アプリの Dropdown widget で利用できます。Google Chat アプリの Dropdown ウィジェットでは、1 つの DataSourceConfig のみがサポートされています。複数の DataSourceConfig が設定されている場合は、最初の のみが使用されます。

multiSelectMaxSelectedItems

integer

複数選択メニューの場合、ユーザーが選択できるアイテムの最大数。最小値は 1 アイテムです。指定しない場合のデフォルトは 3 項目です。

hintText

string

省略可。選択入力フィールドの下に表示されるテキスト。ユーザーに特定の値を入力するよう促すことで、ユーザーを支援することを目的としています。このテキストは常に表示されます。

Google Workspace Studio を拡張する Google Workspace アドオンで使用できます。Google Chat アプリでは使用できません。

複数選択メニューの場合、選択項目を動的に入力するデータソース。

Google Chat アプリで使用可能。Google Workspace アドオンでは使用不可。相互に排他的なフィールドのリストは次のとおりです。レスポンスに設定されるフィールドは、最大 1 つです。

externalDataSource

object (Action)

リレーショナル データベースなどの外部データソース。

platformDataSource

object (PlatformDataSource)

Google Workspace のデータソース。

相互に排他的なフィールドの終了。

SelectionType

ユーザーが選択できるアイテムの形式。オプションによって、サポートされるインタラクションの種類が異なります。たとえば、ユーザーは複数のチェックボックスを選択できますが、プルダウン メニューから選択できるアイテムは 1 つだけです。

各選択入力は 1 種類の選択をサポートしています。たとえば、チェックボックスとスイッチを混在させることはできません。

Google Chat アプリと Google Workspace アドオンで使用できます。

列挙型
CHECK_BOX 一連のチェックボックス。ユーザーは複数のチェックボックスをオンにできます。
RADIO_BUTTON ラジオボタンのセット。ユーザーはラジオボタンを 1 つ選択できます。
SWITCH スイッチのセット。ユーザーは 1 つ以上のスイッチをオンにできます。
DROPDOWN

プルダウン メニュー。ユーザーはメニューから 1 つのアイテムを選択できます。

Google Chat 用アプリでは、動的データソースを使用してアイテムを入力し、ユーザーがメニューに入力するとアイテムを自動的に提案できます。たとえば、ユーザーが Google Chat スペースの名前を入力し始めると、ウィジェットがスペースを自動的に提案します。プルダウン メニューの項目を動的に入力するには、次のいずれかのタイプのデータソースを使用します。

  • Google Workspace データ: Google Workspace ユーザーや Google Chat スペースなど、Google Workspace のデータを使用してアイテムが入力されます。
  • 外部データ: Google Workspace の外部にある外部データソースからアイテムが入力されます。

Chat アプリにプルダウン メニューを実装する方法の例については、プルダウン メニューを追加するとプルダウン メニューを動的に入力するをご覧ください。

Google Chat アプリと Google Workspace アドオンで使用できます。

MULTI_SELECT

テキスト ボックスを含むメニュー。ユーザーは 1 つ以上の項目を入力して選択できます。Google Workspace アドオンの場合、SelectionItem オブジェクトの静的配列を使用して項目を入力する必要があります。

Google Chat 用アプリでは、動的データソースを使用して項目を入力したり、ユーザーがメニューに入力したときに項目を自動提案したりすることもできます。たとえば、ユーザーが Google Chat スペースの名前を入力し始めると、ウィジェットがスペースを自動的に提案します。複数選択メニューの項目を動的に生成するには、以下のいずれかのデータソースを使用します。

  • Google Workspace データ: Google Workspace ユーザーや Google Chat スペースなど、Google Workspace のデータを使用してアイテムが入力されます。
  • 外部データ: Google Workspace の外部にある外部データソースからアイテムが入力されます。

Chat 用アプリに複数選択メニューを実装する方法の例については、複数選択メニューを追加するをご覧ください。

Google Chat アプリと Google Workspace アドオンで使用できます。

PlatformDataSource

複数選択メニューを使用する SelectionInput ウィジェットの場合、Google Workspace のデータソース。複数選択メニューの項目を入力するために使用されます。

Google Chat アプリで使用可能、Google Workspace アドオンでは使用不可。

JSON 表現
{

  "commonDataSource": enum (CommonDataSource),
  "hostAppDataSource": {
    object (HostAppDataSourceMarkup)
  }
}
フィールド
データソース。相互に排他的なフィールドのリストは次のとおりです。レスポンスに設定されるフィールドは、最大 1 つです。
commonDataSource

enum (CommonDataSource)

Google Workspace 組織内のユーザーなど、すべての Google Workspace アプリケーションで共有されるデータソース。

hostAppDataSource

object (HostAppDataSourceMarkup)

Google Workspace ホスト アプリケーションに固有のデータソース(Google Chat のスペースなど)。

このフィールドは Google API クライアント ライブラリをサポートしていますが、Cloud クライアント ライブラリでは使用できません。詳細については、クライアント ライブラリをインストールするをご覧ください。

相互に排他的なフィールドの終了。

CommonDataSource

すべての Google Workspace アプリケーションで共有されるデータソース。

Google Chat アプリで使用可能、Google Workspace アドオンでは使用不可。

列挙型
UNKNOWN デフォルト値。使用しないでください。
USER Google Workspace ユーザー。ユーザーは、Google Workspace 組織のユーザーのみを表示して選択できます。

DataSourceConfig

ウィジェットのデータソースの構成に役立つ構成オブジェクト。

Google Workspace Studio を拡張する Google Chat アプリと Google Workspace アドオンで使用できます。

JSON 表現
{

  "remoteDataSource": {
    object (Action)
  },
  "platformDataSource": {
    object (PlatformDataSource)
  }
  "minCharactersTrigger": integer
}
フィールド
データソース。相互に排他的なフィールドのリストは次のとおりです。レスポンスに設定されるフィールドは、最大 1 つです。
remoteDataSource

object (Action)

データはリモート データ プロバイダから取得されます。

platformDataSource

object (PlatformDataSource)

データは Google Workspace アプリケーションからのものです。

相互に排他的なフィールドの終了。
minCharactersTrigger

integer

このデータ プロバイダがトリガーされる(つまり、結果を返し始める)前にユーザーが入力する必要がある最小文字数。

DateTimePicker

ユーザーが日付、時刻、または日付と時刻の両方を入力できるようにします。フォーム送信の検証をサポートします。Action.all_widgets_are_required が true に設定されている場合、またはこのウィジェットが Action.required_widgets で指定されている場合、値が選択されない限り、送信アクションはブロックされます。Google Chat アプリの例については、ユーザーに日時を選択してもらうをご覧ください。

ユーザーはテキストを入力するか、選択ツールを使用して日時を選択できます。ユーザーが無効な日付や時刻を入力すると、選択ツールにエラーが表示され、情報を正しく入力するよう促されます。

Google Chat アプリと Google Workspace アドオンで使用できます。

JSON 表現
{
  "name": string,
  "label": string,
  "type": enum (DateTimePickerType),
  "valueMsEpoch": string,
  "timezoneOffsetDate": integer,
  "onChangeAction": {
    object (Action)
  },

  "hostAppDataSource": {
    object (HostAppDataSourceMarkup)
  }
}
フィールド
name

string

フォーム入力イベントで DateTimePicker を識別する名前。

フォーム入力の操作の詳細については、フォームデータを受信するをご覧ください。

label

string

ユーザーに日付、時刻、または日付と時刻の入力を求めるテキスト。たとえば、ユーザーが予約をスケジュールする場合は、Appointment date や Appointment date and time などのラベルを使用します。

type

enum (DateTimePickerType)

ウィジェットが日付、時刻、または日時の入力をサポートしているかどうか。

valueMsEpoch

string (int64 format)

ウィジェットに表示されるデフォルト値。Unix エポック時間からのミリ秒単位で指定します。

選択ツールのタイプ(DateTimePickerType)に基づいて値を指定します。

  • DATE_AND_TIME: UTC のカレンダーの日付と時刻。たとえば、2023 年 1 月 1 日午後 12 時(UTC)を表すには、1672574400000 を使用します。
  • DATE_ONLY: 00:00:00 UTC のカレンダーの日付。たとえば、2023 年 1 月 1 日を表すには、1672531200000 を使用します。
  • TIME_ONLY: UTC の時刻。たとえば、午後 12 時を表すには、43200000(または 12 * 60 * 60 * 1000)を使用します。
timezoneOffsetDate

integer

UTC からのタイムゾーン オフセットを表す数値(分単位)。設定すると、valueMsEpoch は指定したタイムゾーンで表示されます。設定しない場合、デフォルトでユーザーのタイムゾーンの設定の値が使用されます。

注: このフィールドは分単位ですが、ユーザー インタラクション イベントのペイロードでは通常、タイムゾーン オフセットがミリ秒単位で提供されます(変換するには 60000 で割ります)。

onChangeAction

object (Action)

ユーザーが DateTimePicker インターフェースで [保存] または [クリア] をクリックしたときにトリガーされます。

日時を表すために指定されたデータソース。相互に排他的なフィールドのリストは次のとおりです。レスポンスに設定されるフィールドは、最大 1 つです。
hostAppDataSource

object (HostAppDataSourceMarkup)

Gmail のメール、Google カレンダーの予定、Google Chat のメッセージなど、Google Workspace ホスト アプリケーションに固有のデータソース。

Google Workspace Studio を拡張する Google Workspace アドオンで使用できます。Google Chat アプリでは使用できません。

相互に排他的なフィールドの終了。

DateTimePickerType

DateTimePicker ウィジェットの日付と時刻の形式。ユーザーが日付、時刻、または日付と時刻の両方を入力できるかどうかを指定します。

Google Chat アプリと Google Workspace アドオンで使用できます。

列挙型
DATE_AND_TIME ユーザーが日時を入力します。
DATE_ONLY ユーザーが日付を入力します。
TIME_ONLY ユーザーが時間を入力します。

分割線

この型にはフィールドがありません。

ウィジェット間の区切り線を水平線として表示します。Google Chat アプリの例については、ウィジェット間に水平方向の区切り線を追加するをご覧ください。

Google Chat アプリと Google Workspace アドオンで使用できます。

たとえば、次の JSON は区切り線を作成します。

"divider": {}

グリッド

アイテムのコレクションを含むグリッドを表示します。アイテムにはテキストまたは画像のみを含めることができます。レスポンシブな列の場合、またはテキストや画像以外のものを含める場合は、Columns を使用します。Google Chat アプリの例については、アイテムのコレクションを含むグリッドを表示するをご覧ください。

グリッドは、任意の数の列とアイテムをサポートします。行数は、アイテム数を列数で割った値になります。10 個のアイテムと 2 つの列があるグリッドには、5 つの行があります。11 個のアイテムと 2 つの列があるグリッドには、6 つの行があります。

Google Chat アプリと Google Workspace アドオンで使用できます。

たとえば、次の JSON は、1 つのアイテムを含む 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"
    }
  }
}
JSON 表現
{
  "title": string,
  "items": [
    {
      object (GridItem)
    }
  ],
  "borderStyle": {
    object (BorderStyle)
  },
  "columnCount": integer,
  "onClick": {
    object (OnClick)
  }
}
フィールド
title

string

グリッド ヘッダーに表示されるテキスト。

items[]

object (GridItem)

グリッドに表示するアイテム。

borderStyle

object (BorderStyle)

各グリッド アイテムに適用する枠線のスタイル。

columnCount

integer

グリッドに表示する列数。このフィールドが指定されていない場合はデフォルト値が使用されます。デフォルト値は、グリッドが表示される場所(ダイアログかコンパニオンか)によって異なります。

onClick

object (OnClick)

このコールバックは、個々のグリッド アイテムによって再利用されますが、アイテムの識別子がコールバックのパラメータ(キー "grid_item_identifier" の下)に追加されます。

GridItem

グリッド レイアウト内のアイテムを表します。アイテムには、テキスト、画像、またはテキストと画像の両方を含めることができます。

Google Chat アプリと Google Workspace アドオンで使用できます。

JSON 表現
{
  "id": string,
  "image": {
    object (ImageComponent)
  },
  "title": string,
  "subtitle": string,
  "layout": enum (GridItemLayout)
}
フィールド
id

string

このグリッド アイテムのユーザー指定の識別子。この識別子は、親グリッドの onClick コールバック パラメータで返されます。

image

object (ImageComponent)

グリッド アイテムに表示される画像。

title

string

グリッド アイテムのタイトル。

subtitle

string

グリッド アイテムのサブタイトル。

layout

enum (GridItemLayout)

グリッド アイテムに使用するレイアウト。

ImageComponent

画像を表します。

Google Chat アプリと Google Workspace アドオンで使用できます。

JSON 表現
{
  "imageUri": string,
  "altText": string,
  "cropStyle": {
    object (ImageCropStyle)
  },
  "borderStyle": {
    object (BorderStyle)
  }
}
フィールド
imageUri

string

画像の URL。

altText

string

画像のユーザー補助ラベル。

cropStyle

object (ImageCropStyle)

画像に適用する切り抜きスタイル。

borderStyle

object (BorderStyle)

画像に適用する枠線のスタイル。

ImageCropStyle

画像に適用される切り抜きスタイルを表します。

Google Chat アプリと Google Workspace アドオンで使用できます。

たとえば、16:9 のアスペクト比を適用する方法は次のとおりです。

cropStyle {
 "type": "RECTANGLE_CUSTOM",
 "aspectRatio": 16/9
}
JSON 表現
{
  "type": enum (ImageCropType),
  "aspectRatio": number
}
フィールド
type

enum (ImageCropType)

作物の種類。

aspectRatio

number

切り抜きタイプが 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 の長方形の切り抜きを適用します。

BorderStyle

カードまたはウィジェットの枠線のスタイル オプション(枠線の種類や色など)。

Google Chat アプリと Google Workspace アドオンで使用できます。

JSON 表現
{
  "type": enum (BorderType),
  "strokeColor": {
    object (Color)
  },
  "cornerRadius": integer
}
フィールド
type

enum (BorderType)

枠線の種類。

strokeColor

object (Color)

タイプが BORDER_TYPE_STROKE の場合に使用する色。

ストロークの色を設定するには、red、green、blue フィールドの値を指定します。値は、RGB 色値に基づく 0 ~ 1 の浮動小数点数にする必要があります。0(0/255)は色がないことを表し、1(255/255)は色の最大強度を表します。

たとえば、次の例では、色を最大強度の赤に設定しています。

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

alpha フィールドは、ストロークの色には使用できません。指定した場合、このフィールドは無視されます。

cornerRadius

integer

枠線の角の丸み。

BorderType

ウィジェットに適用される枠線の種類を表します。

Google Chat アプリと Google Workspace アドオンで使用できます。

列挙型
BORDER_TYPE_UNSPECIFIED 使用しないでください。指定なし。
NO_BORDER 枠線なし。
STROKE デフォルト値。Outline。

GridItemLayout

グリッド アイテムで使用できるさまざまなレイアウト オプションを表します。

Google Chat アプリと Google Workspace アドオンで使用できます。

列挙型
GRID_ITEM_LAYOUT_UNSPECIFIED 使用しないでください。指定なし。
TEXT_BELOW タイトルとサブタイトルは、グリッド アイテムの画像の下に表示されます。
TEXT_ABOVE タイトルとサブタイトルは、グリッド アイテムの画像の上に表示されます。

列

Columns ウィジェットでは、カードまたはダイアログに最大 2 つの列を表示できます。各列にウィジェットを追加できます。ウィジェットは指定された順序で表示されます。Google Chat アプリの例については、カードとダイアログを列に表示するをご覧ください。

各列の高さは、高い方の列によって決まります。たとえば、1 列目が 2 列目よりも高い場合、両方の列の高さが 1 列目の高さになります。各列に異なる数のウィジェットを含めることができるため、行を定義したり、列間でウィジェットを揃えたりすることはできません。

列は並べて表示されます。HorizontalSizeStyle フィールドを使用して、各列の幅をカスタマイズできます。ユーザーの画面幅が狭すぎる場合、2 番目の列は 1 番目の列の下に折り返されます。

  • ウェブでは、画面幅が 480 ピクセル以下の場合、2 列目が折り返されます。
  • iOS デバイスでは、画面幅が 300 pt 以下の場合は 2 列目が折り返されます。
  • Android デバイスでは、画面幅が 320 dp 以下の場合、2 列目が折り返されます。

3 つ以上の列を含める場合や、行を使用する場合は、Grid ウィジェットを使用します。

Google Chat アプリと Google Workspace アドオンで使用できます。列をサポートするアドオン UI には、次のものがあります。

  • ユーザーがメールの下書きからアドオンを開いたときに表示されるダイアログ。
  • ユーザーが Google カレンダーの予定の [添付ファイルを追加] メニューからアドオンを開いたときに表示されるダイアログ。
JSON 表現
{
  "columnItems": [
    {
      object (Column)
    }
  ]
}
フィールド
columnItems[]

object (Column)

列の配列。カードまたはダイアログには最大 2 つの列を含めることができます。

列

列。

Google Workspace アドオンと Chat 用アプリ

JSON 表現
{
  "horizontalSizeStyle": enum (HorizontalSizeStyle),
  "horizontalAlignment": enum (HorizontalAlignment),
  "verticalAlignment": enum (VerticalAlignment),
  "widgets": [
    {
      object (Widgets)
    }
  ]
}
フィールド
horizontalSizeStyle

enum (HorizontalSizeStyle)

列がカードの幅をどのように埋めるかを指定します。

horizontalAlignment

enum (HorizontalAlignment)

ウィジェットを列の左、右、中央のいずれに揃えるかを指定します。

verticalAlignment

enum (VerticalAlignment)

ウィジェットを列の上、下、中央のいずれに揃えるかを指定します。

widgets[]

object (Widgets)

列に含まれるウィジェットの配列。ウィジェットは指定された順序で表示されます。

HorizontalSizeStyle

列がカードの幅をどのように埋めるかを指定します。各列の幅は、HorizontalSizeStyle と列内のウィジェットの幅の両方によって決まります。

Google Workspace アドオンと Chat 用アプリ

列挙型
HORIZONTAL_SIZE_STYLE_UNSPECIFIED 使用しないでください。指定なし。
FILL_AVAILABLE_SPACE デフォルト値。列は、カードの幅の 70% を上限として、使用可能なスペースを埋めます。両方の列が FILL_AVAILABLE_SPACE に設定されている場合、各列はスペースの 50% を占めます。
FILL_MINIMUM_SPACE 列は、可能な限り最小のスペースを占め、カードの幅の 30% を超えないようにします。

HorizontalAlignment

ウィジェットを列の左、右、中央のいずれに揃えるかを指定します。

Google Chat アプリで使用可能、Google Workspace アドオンでは使用不可。

列挙型
HORIZONTAL_ALIGNMENT_UNSPECIFIED 使用しないでください。指定なし。
START デフォルト値。ウィジェットを列の開始位置に揃えます。左から右のレイアウトの場合は、左揃えになります。右から左のレイアウトの場合は右揃えになります。
CENTER ウィジェットを列の中央に配置します。
END ウィジェットを列の終了位置に揃えます。左から右のレイアウトの場合、ウィジェットを右揃えにします。右から左のレイアウトの場合、ウィジェットを左揃えにします。

VerticalAlignment

ウィジェットを列の上、下、中央のどこに揃えるかを指定します。

Google Workspace アドオンと Chat 用アプリ

列挙型
VERTICAL_ALIGNMENT_UNSPECIFIED 使用しないでください。指定なし。
CENTER デフォルト値。ウィジェットを列の中央に配置します。
TOP ウィジェットを列の上部に揃えます。
BOTTOM ウィジェットを列の下部に揃えます。

ウィジェット

列に含めることができるサポートされているウィジェット。

Google Workspace アドオンと Chat 用アプリ

JSON 表現
{

  "textParagraph": {
    object (TextParagraph)
  },
  "image": {
    object (Image)
  },
  "decoratedText": {
    object (DecoratedText)
  },
  "buttonList": {
    object (ButtonList)
  },
  "textInput": {
    object (TextInput)
  },
  "selectionInput": {
    object (SelectionInput)
  },
  "dateTimePicker": {
    object (DateTimePicker)
  },
  "chipList": {
    object (ChipList)
  }
}
フィールド
相互に排他的なフィールドのリストは次のとおりです。レスポンスに設定されるフィールドは、最大 1 つです。
textParagraph

object (TextParagraph)

TextParagraphウィジェットです。

image

object (Image)

Imageウィジェットです。

decoratedText

object (DecoratedText)

DecoratedTextウィジェットです。

buttonList

object (ButtonList)

ButtonListウィジェットです。

textInput

object (TextInput)

TextInputウィジェットです。

selectionInput

object (SelectionInput)

SelectionInputウィジェットです。

dateTimePicker

object (DateTimePicker)

DateTimePickerウィジェットです。

chipList

object (ChipList)

ChipListウィジェットです。

相互に排他的なフィールドの終了。

ChipList

水平方向に配置されたチップのリスト。水平方向にスクロールすることも、次の行に折り返すこともできます。

Google Chat アプリと Google Workspace アドオンで使用できます。

JSON 表現
{
  "layout": enum (Layout),
  "chips": [
    {
      object (Chip)
    }
  ]
}
フィールド
layout

enum (Layout)

指定されたチップリスト レイアウト。

chips[]

object (Chip)

チップの配列。

レイアウト

チップリスト レイアウト。

列挙型
LAYOUT_UNSPECIFIED 使用しないでください。指定なし。
WRAPPED デフォルト値。水平方向のスペースが足りない場合、チップリストは次の行に折り返されます。
HORIZONTAL_SCROLLABLE チップが利用可能なスペースに収まらない場合は、水平方向にスクロールします。

チップ

ユーザーがクリックできるテキスト、アイコン、またはテキストとアイコンのチップ。

Google Chat アプリと Google Workspace アドオンで使用できます。

JSON 表現
{
  "icon": {
    object (Icon)
  },
  "label": string,
  "onClick": {
    object (OnClick)
  },
  "enabled": boolean,
  "disabled": boolean,
  "altText": string
}
フィールド
icon

object (Icon)

アイコン画像。icon と label の両方を設定すると、アイコンがラベルの前に表示されます。

label

string

チップ内に表示されるテキスト。

onClick

object (OnClick)

省略可。ユーザーがチップをクリックしたときに実行するアクション(ハイパーリンクを開く、カスタム関数を実行するなど)。

enabled
(deprecated)

boolean

非推奨: 代わりに、disabled を使用してください。

チップがアクティブな状態にあり、ユーザー アクションに応答するかどうか。

disabled

boolean

チップが無効な状態にあり、ユーザー操作を無視するかどうか。デフォルトは false です。

altText

string

ユーザー補助に使用される代替テキスト。

チップの機能をユーザーに知らせる説明テキストを設定します。たとえば、チップがハイパーリンクを開く場合は、「新しいブラウザタブを開き、https://developers.google.com/workspace/chat" の Google Chat デベロッパー ドキュメントに移動します」と記述します。

CarouselCard

カルーセル アイテムとして表示できるカード。 Google Chat アプリで使用可能、Google Workspace アドオンでは使用不可。

JSON 表現
{
  "widgets": [
    {
      object (NestedWidget)
    }
  ],
  "footerWidgets": [
    {
      object (NestedWidget)
    }
  ]
}
フィールド
widgets[]

object (NestedWidget)

カルーセル カードに表示されるウィジェットのリスト。ウィジェットは、指定された順序で表示されます。

footerWidgets[]

object (NestedWidget)

カルーセル カードの下部に表示されるウィジェットのリスト。ウィジェットは指定された順序で表示されます。

NestedWidget

CarouselCard などのコンテナ レイアウトに表示できるウィジェットのリスト。 Google Chat アプリで使用可能、Google Workspace アドオンでは使用不可。

JSON 表現
{

  "textParagraph": {
    object (TextParagraph)
  },
  "buttonList": {
    object (ButtonList)
  },
  "image": {
    object (Image)
  }
}
フィールド
相互に排他的なフィールドのリストは次のとおりです。レスポンスに設定されるフィールドは、最大 1 つです。
textParagraph

object (TextParagraph)

テキスト段落ウィジェット。

buttonList

object (ButtonList)

ボタンリスト ウィジェット。

image

object (Image)

画像ウィジェット。

相互に排他的なフィールドの終了。

公開設定

UI 要素を表示するか非表示にするかを指定します。

Google Workspace Studio を拡張する Google Workspace アドオンで使用できます。Google Chat アプリでは使用できません。

列挙型
VISIBILITY_UNSPECIFIED 未指定の公開設定。使用しないでください。
VISIBLE UI 要素が表示されている。
HIDDEN UI 要素が非表示になっている。

EventAction

UI 要素に対して実行できるアクションを表します。

Google Workspace Studio を拡張する Google Workspace アドオンで使用できます。Google Chat アプリでは使用できません。

JSON 表現
{
  "actionRuleId": string,
  "postEventTriggers": [
    {
      object (Trigger)
    }
  ],

  "commonWidgetAction": {
    object (CommonWidgetAction)
  }
}
フィールド
actionRuleId

string

ActionRule の固有識別子。

postEventTriggers[]

object (Trigger)

EventAction の実行後にトリガーされるトリガーのリスト。

実行するアクション。相互に排他的なフィールドのリストは次のとおりです。レスポンスに設定されるフィールドは、最大 1 つです。
commonWidgetAction

object (CommonWidgetAction)

一般的なウィジェット アクション。

相互に排他的なフィールドの終了。

トリガー

トリガーを表します。

Google Workspace Studio を拡張する Google Workspace アドオンで使用できます。Google Chat アプリでは使用できません。

JSON 表現
{
  "actionRuleId": string
}
フィールド
actionRuleId

string

ActionRule の固有識別子。

CommonWidgetAction

ウィジェットに固有ではないアクションを表します。

Google Workspace Studio を拡張する Google Workspace アドオンで使用できます。Google Chat アプリでは使用できません。

JSON 表現
{

  "updateVisibilityAction": {
    object (UpdateVisibilityAction)
  }
}
フィールド
実行するアクション。相互に排他的なフィールドのリストは次のとおりです。レスポンスに設定されるフィールドは、最大 1 つです。
updateVisibilityAction

object (UpdateVisibilityAction)

ウィジェットの公開設定を更新するアクション。

相互に排他的なフィールドの終了。

UpdateVisibilityAction

ウィジェットの表示 / 非表示を更新するアクションを表します。

Google Workspace Studio を拡張する Google Workspace アドオンで使用できます。Google Chat アプリでは使用できません。

JSON 表現
{
  "visibility": enum (Visibility)
}
フィールド
visibility

enum (Visibility)

新しい公開設定。

CollapseControl

開閉コントロールを表します。

Google Chat アプリと Google Workspace アドオンで使用できます。

JSON 表現
{
  "horizontalAlignment": enum (HorizontalAlignment),
  "expandButton": {
    object (Button)
  },
  "collapseButton": {
    object (Button)
  }
}
フィールド
horizontalAlignment

enum (HorizontalAlignment)

展開ボタンと折りたたみボタンの水平方向の配置。

expandButton

object (Button)

省略可。カスタマイズ可能なボタンを定義して、セクションを展開します。expandButton フィールドと collapseButton フィールドの両方を設定する必要があります。1 つのフィールド セットのみが有効になることはありません。このフィールドが設定されていない場合は、デフォルトのボタンが使用されます。

collapseButton

object (Button)

省略可。セクションを折りたたむためのカスタマイズ可能なボタンを定義します。expandButton フィールドと collapseButton フィールドの両方を設定する必要があります。1 つのフィールド セットのみが有効になることはありません。このフィールドが設定されていない場合は、デフォルトのボタンが使用されます。

DividerStyle

カードの分割線のスタイル。現在、カード セクション間の区切り線にのみ使用されています。

Google Chat アプリと Google Workspace アドオンで使用できます。

列挙型
DIVIDER_STYLE_UNSPECIFIED 使用しないでください。指定なし。
SOLID_DIVIDER デフォルトのオプション。実線の区切り線を描画します。
NO_DIVIDER 設定すると、区切り線はレンダリングされません。このスタイルでは、レイアウトから区切り線が完全に削除されます。結果は、区切り線をまったく追加しない場合と同じです。

CardAction

カード アクションは、カードに関連付けられたアクションです。たとえば、請求書カードには、請求書の削除、請求書のメール送信、ブラウザでの請求書の表示などのアクションが含まれます。

Google Workspace アドオンで使用可能。Google Chat アプリでは使用不可。

JSON 表現
{
  "actionLabel": string,
  "onClick": {
    object (OnClick)
  }
}
フィールド
actionLabel

string

操作メニュー項目として表示されるラベル。

onClick

object (OnClick)

このアクション アイテムの onClick アクション。

CardFixedFooter

カードの下部に表示される固定(スティッキー)フッター。

primaryButton または secondaryButton を指定せずに fixedFooter を設定すると、エラーが発生します。

Chat 用アプリでは、ダイアログで固定フッターを使用できますが、カード メッセージでは使用できません。Google Chat アプリの例については、永続的なフッターを追加するをご覧ください。

Google Chat アプリと Google Workspace アドオンで使用できます。

JSON 表現
{
  "primaryButton": {
    object (Button)
  },
  "secondaryButton": {
    object (Button)
  }
}
フィールド
primaryButton

object (Button)

固定フッターのメインボタン。ボタンは、テキストと色が設定されたテキストボタンにする必要があります。

secondaryButton

object (Button)

固定フッターのセカンダリ ボタン。ボタンは、テキストと色が設定されたテキストボタンにする必要があります。secondaryButton を設定する場合は、primaryButton も設定する必要があります。

DisplayStyle

Google Workspace アドオンで、カードの表示方法を決定します。

Google Workspace アドオンで使用可能。Google Chat アプリでは使用不可。

列挙型
DISPLAY_STYLE_UNSPECIFIED 使用しないでください。指定なし。
PEEK カードのヘッダーがサイドバーの下部に表示され、スタックの現在のトップカードを部分的に覆います。ヘッダーをクリックすると、カードがカードスタックに表示されます。カードにヘッダーがない場合は、生成されたヘッダーが代わりに使用されます。
REPLACE デフォルト値。カードは、カードスタックの一番上のカードのビューを置き換えることで表示されます。

ExpressionData

式の評価に使用されるデータを表します。

Google Workspace Studio を拡張する Google Workspace アドオンで使用できます。Google Chat アプリでは使用できません。

JSON 表現
{
  "id": string,
  "expression": string,
  "conditions": [
    {
      object (Condition)
    }
  ],
  "eventActions": [
    {
      object (EventAction)
    }
  ]
}
フィールド
id

string

ExpressionData の固有識別子。

expression

string

コンパイルされていない式。

conditions[]

object (Condition)

式の評価結果によって決定される条件のリスト。

eventActions[]

object (EventAction)

ExpressionData を使用できるアクションのリスト。

条件

アクションをトリガーするために使用できる条件を表します。

Google Workspace Studio を拡張する Google Workspace アドオンで使用できます。Google Chat アプリでは使用できません。

JSON 表現
{
  "actionRuleId": string,

  "expressionDataCondition": {
    object (ExpressionDataCondition)
  }
}
フィールド
actionRuleId

string

ActionRule の固有識別子。

条件。相互に排他的なフィールドのリストは次のとおりです。レスポンスに設定されるフィールドは、最大 1 つです。
expressionDataCondition

object (ExpressionDataCondition)

式データによって決定される条件。

相互に排他的なフィールドの終了。

ExpressionDataCondition

CEL を使用して評価される条件を表します。

Google Workspace Studio を拡張する Google Workspace アドオンで使用できます。Google Chat アプリでは使用できません。

JSON 表現
{
  "conditionType": enum (ConditionType)
}
フィールド
conditionType

enum (ConditionType)

条件のタイプ。

ConditionType

条件のタイプ。

列挙型
CONDITION_TYPE_UNSPECIFIED 未指定の条件タイプ。
EXPRESSION_EVALUATION_SUCCESS 式の評価が成功しました。
EXPRESSION_EVALUATION_FAILURE 式の評価に失敗しました。