Cards v2

カード

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

カードでは、定義済みのレイアウト、インタラクティブな UI 要素(ボタンなど)、リッチメディアなどのリッチメディアがサポートされます。カードを使用して詳細情報を表示したり、ユーザーから情報を収集したり、次のステップに進むようユーザーを案内したりできます。

カードビルダーでカードをデザインしてプレビューします。

カードビルダーを開く

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

例: 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": "[email protected]"
                 }
               },
               {
                 "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)
  }
}
フィールド
header

object (CardHeader)

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

sections[]

object (Section)

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

sectionDividerStyle

enum (DividerStyle)

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

cardActions[]

object (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 アプリではご利用になれません。

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

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

ImageType

画像の切り抜きに使用するシェイプ。

Google Chat アプリと Google Workspace アドオンでご利用いただけます。

列挙型
SQUARE デフォルト値。画像に正方形のマスクを適用します。たとえば、4x3 の画像は 3x3 になります。
CIRCLE 画像に円形のマスクを適用します。たとえば、4x3 の画像は直径 3 の円になります。

セクション

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

Google Chat アプリと Google Workspace アドオンでご利用いただけます。

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

string

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

widgets[]

object (Widget)

セクション内のすべてのウィジェット。ウィジェットを少なくとも 1 つ含める必要があります。

collapsible

boolean

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

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

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

uncollapsibleWidgetsCount

integer

セクションを閉じても表示されたままになる、閉じられないウィジェットの数。

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

collapseControl

object (CollapseControl)

省略可。セクションの展開ボタンと折りたたみボタンを定義します。このボタンは、セクションを閉じることができる場合にのみ表示されます。このフィールドが設定されていない場合、デフォルトのボタンが使用されます。 Google Chat アプリで利用でき、Google Workspace アドオンでは利用できません。

ウィジェット

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

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

JSON 表現
{
  "horizontalAlignment": enum (HorizontalAlignment),

  // Union field data can be only one of the following:
  "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)
  },
  "chipList": {
    object (ChipList)
  }
  // End of list of possible types for union field data.
}
フィールド
horizontalAlignment

enum (HorizontalAlignment)

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

共用体フィールド data。ウィジェットには、以下のアイテムのうち 1 つのみを含めることができます。複数のウィジェット フィールドを使用して、より多くのアイテムを表示できます。 data は次のいずれかになります。
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": "[email protected]",
  "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 列を表示します。

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

object (ChipList)

チップのリスト。

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

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

Google Chat アプリで利用可能で、Google Workspace アドオンでは利用できません。

TextParagraph

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

Google Chat アプリと Google Workspace アドオンでご利用いただけます。

JSON 表現
{
  "text": string,
  "maxLines": integer
}
フィールド
text

string

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

maxLines

integer

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

デフォルト値は 0 で、この場合、すべてのコンテキストが表示されます。負の値は無視されます。 Google Chat アプリで利用でき、Google Workspace アドオンでは利用できません。

画像

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

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

OnClick

カード上のインタラクティブな要素(ボタンなど)がクリックされたときの応答方法を表します。

Google Chat アプリと Google Workspace アドオンでご利用いただけます。

JSON 表現
{

  // Union field data can be only one of the following:
  "action": {
    object (Action)
  },
  "openLink": {
    object (OpenLink)
  },
  "openDynamicLinkAction": {
    object (Action)
  },
  "card": {
    object (Card)
  },
  "overflowMenu": {
    object (OverflowMenu)
  }
  // End of list of possible types for union field data.
}
フィールド

共用体フィールド data

data は次のいずれかになります。

action

object (Action)

指定すると、この onClick によってアクションがトリガーされます。

card

object (Card)

指定されている場合は、クリック後に新しいカードがカードスタックにプッシュされます。

Google Workspace アドオンでは利用可能です。また、Google Chat アプリではご利用になれません。

overflowMenu

object (OverflowMenu)

指定すると、この onClick でオーバーフロー メニューが開きます。 Google Chat アプリで利用可能で、Google Workspace アドオンでは利用できません。

アクション

フォームの送信時の動作を記述するアクション。たとえば、Apps Script スクリプトを呼び出してフォームを処理できます。アクションがトリガーされると、フォームの値がサーバーに送信されます。

Google Chat アプリと Google Workspace アドオンでご利用いただけます。

JSON 表現
{
  "function": string,
  "parameters": [
    {
      object (ActionParameter)
    }
  ],
  "loadIndicator": enum (LoadIndicator),
  "persistValues": boolean,
  "interaction": enum (Interaction),
  "requiredWidgets": [
    string
  ],
  "allWidgetsAreRequired": boolean
}
フィールド
function

string

コンテナ要素がクリックされたときやアクティブになったときに呼び出されるカスタム関数。

使用例については、フォームデータを読み取るをご覧ください。

parameters[]

object (ActionParameter)

アクション パラメータのリスト。

loadIndicator

enum (LoadIndicator)

アクションを呼び出す際にアクションに表示される読み込みインジケーターを指定します。

persistValues

boolean

アクション後にフォームの値を保持するかどうかを示します。デフォルト値は false です。

true の場合、アクションがトリガーされた後もフォームの値は保持されます。アクションの処理中にユーザーが変更できるようにするには、LoadIndicatorNONE に設定します。Chat アプリのカード メッセージの場合は、アクションの ResponseTypeUPDATE_MESSAGE に設定し、アクションが含まれるカードの同じ cardId を使用する必要があります。

false の場合、アクションがトリガーされるとフォームの値がクリアされます。アクションの処理中にユーザーが変更できないようにするには、LoadIndicatorSPINNER に設定します。

interaction

enum (Interaction)

省略可。ダイアログを開くときに必要です。

ユーザーとのやり取り(カード メッセージのボタンのクリックなど)に対する応答。

指定しない場合、アプリは通常どおり action を実行して応答します(リンクを開く、関数を実行するなど)。

interaction を指定すると、アプリは特別なインタラクティブな方法で応答できます。たとえば、interactionOPEN_DIALOG に設定すると、アプリでダイアログを開くことができます。指定すると、読み込みインジケーターは表示されません。アドオンに対して指定すると、カード全体が削除され、クライアントには何も表示されません。

Google Chat アプリで利用でき、Google Workspace アドオンでは利用できません。

requiredWidgets[]

string

省略可。このリストに、このアクションが有効な送信に必要とするウィジェットの名前を入力します。

このアクションが呼び出されたときにここにリストされているウィジェットに値がない場合、フォームの送信は中止されます。

Google Chat アプリと Google Workspace アドオンでご利用いただけます。

allWidgetsAreRequired

boolean

省略可。true の場合、すべてのウィジェットがこのアクションで必須と見なされます。

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

ActionParameter

アクション メソッドが呼び出されたときに指定する文字列パラメータのリスト。たとえば、3 つのスヌーズ ボタン(今すぐスヌーズ、1 日スヌーズ、来週スヌーズ)があるとします。action method = snooze() を使用して、スヌーズ タイプとスヌーズ時間を文字列パラメータのリストで渡すことができます。

詳細については、CommonEventObject をご覧ください。

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

JSON 表現
{
  "key": string,
  "value": string
}
フィールド
key

string

アクション スクリプトのパラメータの名前。

value

string

パラメータの値。

LoadIndicator

アクションを呼び出す際にアクションに表示される読み込みインジケーターを指定します。

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

列挙型
SPINNER コンテンツの読み込みを示すスピナーを表示します。
NONE 何も表示されません。

操作

省略可。ダイアログを開くときに必要です。

ユーザーの操作(カード メッセージ内のボタンのクリックなど)に応じて行うアクション。

指定しない場合、アプリは通常どおり action を実行して応答します(リンクを開く、関数を実行するなど)。

interaction を指定すると、アプリは特別なインタラクティブな方法で応答できます。たとえば、interactionOPEN_DIALOG に設定すると、アプリはダイアログを開くことができます。

指定すると、読み込みインジケーターは表示されません。アドオンに指定した場合、カード全体が削除され、クライアントには何も表示されなくなります。

Google Chat アプリで利用でき、Google Workspace アドオンでは利用できません。

列挙型
INTERACTION_UNSPECIFIED デフォルト値。action は通常どおり実行されます。
OPEN_DIALOG

ダイアログを開きます。これは、Chat アプリがユーザーとのやり取りに使用する、カードベースのウィンドウ インターフェースです。

カード メッセージのボタンクリックに対するレスポンスで、Chat アプリでのみサポートされます。アドオンに指定した場合、カード全体が削除され、クライアントには何も表示されなくなります。

Google Chat アプリで利用でき、Google Workspace アドオンでは利用できません。

OpenAs

OnClick アクションでリンクが開かれると、クライアントはリンクをフルサイズのウィンドウ(クライアントが使用するフレームの場合)またはオーバーレイ(ポップアップなど)として開くことができます。実装はクライアントのプラットフォームの機能に依存します。クライアントがサポートしていない場合、選択した値は無視されることがあります。FULL_SIZE はすべてのクライアントでサポートされています。

Google Workspace アドオンで利用可能で、Google Chat アプリでは利用できません。

列挙型
FULL_SIZE リンクがフルサイズのウィンドウとして開きます(クライアントが使用するフレームがフルサイズの場合)。
OVERLAY リンクがポップアップなどのオーバーレイとして開きます。

OnClose

OnClick アクションによって開かれたリンクが閉じられたときに、クライアントが行う処理。

実装はクライアント プラットフォームの機能によって異なります。たとえば、ウェブブラウザで OnClose ハンドラを使用してポップアップ ウィンドウでリンクが開く場合があります。

OnOpen ハンドラと OnClose ハンドラの両方が設定されていて、クライアント プラットフォームが両方の値をサポートできない場合、OnClose が優先されます。

Google Workspace アドオンで利用可能で、Google Chat アプリでは利用できません。

列挙型
NOTHING デフォルト値。カードは再読み込みされません。何も起こりません。
RELOAD

子ウィンドウが閉じた後に、カードを再読み込みします。

OpenAs.OVERLAY と組み合わせて使用すると、子ウィンドウはモーダル ダイアログとして機能し、子ウィンドウが閉じられるまで親カードはブロックされます。

OverflowMenu

ユーザーが呼び出すことができる 1 つ以上のアクションを含むポップアップ メニューを表示するウィジェット。たとえば、メイン以外のアクションをカードに表示する場合などです。このウィジェットは、利用可能なスペースにアクションが収まらない場合に使用します。使用するには、このウィジェットをサポートするウィジェットの OnClick アクションで、このウィジェットを指定します。たとえば、Button に以下の行を挿入します。

Google Chat アプリで利用可能で、Google Workspace アドオンでは利用できません。

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

object (OverflowMenuItem)

必須。メニュー オプションのリスト。

OverflowMenuItem

ユーザーがオーバーフロー メニューで呼び出すことができるオプション。

Google Chat アプリで利用可能で、Google Workspace アドオンでは利用できません。

JSON 表現
{
  "startIcon": {
    object (Icon)
  },
  "text": string,
  "onClick": {
    object (OnClick)
  },
  "disabled": boolean
}
フィールド
startIcon

object (Icon)

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

text

string

必須。アイテムを識別または説明するテキスト。

onClick

object (OnClick)

必須。メニュー オプションが選択されたときに呼び出されるアクション。この OnClick には OverflowMenu を含めることはできません。指定された OverflowMenu はすべて破棄され、メニュー項目が無効になります。

disabled

boolean

メニュー オプションを無効にするかどうか。デフォルトは false です。

アイコン

カードのウィジェットに表示されるアイコン。Google Chat アプリの例については、アイコンを追加するをご覧ください。

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

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

JSON 表現
{
  "altText": string,
  "imageType": enum (ImageType),

  // Union field icons can be only one of the following:
  "knownIcon": string,
  "iconUrl": string,
  "materialIcon": {
    object (MaterialIcon)
  }
  // End of list of possible types for union field icons.
}
フィールド
altText

string

省略可。ユーザー補助機能に使用されるアイコンの説明。指定しない場合は、デフォルト値の Button が使用されます。ベスト プラクティスとして、アイコンに表示される内容と、アイコンで表示される内容(該当する場合)についてわかりやすい説明を記述することをおすすめします。たとえば、A user's account portrait や、Opens a new browser tab and navigates to the Google Chat developer documentation at https://developers.google.com/workspace/chat です。

アイコンが Button に設定されている場合、ユーザーがボタンにカーソルを合わせると、altText がヘルパー テキストとして表示されます。ただし、ボタンで text も設定されている場合、アイコンの altText は無視されます。

imageType

enum (ImageType)

画像に適用された切り抜きスタイル。CIRCLE の切り抜きを適用すると、画像が組み込みのアイコンよりも大きく表示されることがあります。

共用体フィールド icons。カードのウィジェットに表示されるアイコン。 icons は次のいずれかになります。
knownIcon

string

Google Workspace に組み込まれているアイコンのいずれかを表示します。

たとえば、飛行機のアイコンを表示するには、AIRPLANE を指定します。バスの場合は、BUS を指定します。

サポートされているアイコンの一覧については、組み込みアイコンをご覧ください。

iconUrl

string

HTTPS URL でホストされているカスタム アイコンを表示します。

次に例を示します。

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

サポートされているファイル形式は .png.jpg です。

materialIcon

object (MaterialIcon)

Google マテリアル アイコンのいずれかを表示します。

たとえば、チェックボックス アイコンを表示するには、

"materialIcon": {
  "name": "check_box"
}

Google Chat アプリで利用でき、Google Workspace アドオンでは利用できません。

MaterialIcon

Google マテリアル アイコン(2,500 以上のオプションがあります)。

たとえば、体重と成績がカスタマイズされたチェックボックス アイコンを表示するには、次のように記述します。

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

Google Chat アプリで利用可能で、Google Workspace アドオンでは利用できません。

JSON 表現
{
  "name": string,
  "fill": boolean,
  "weight": integer,
  "grade": integer
}
フィールド
name

string

Google マテリアル アイコンで定義されているアイコン名(例: check_box)。無効な名前は破棄され、空の文字列に置き換えられるため、アイコンがレンダリングされません。

fill

boolean

アイコンを塗りつぶしてレンダリングするかどうか。デフォルト値は false です。

さまざまなアイコン設定をプレビューするには、[Google Font Icons] に移動し、[Customize] で設定を調整します。

weight

integer

アイコンのストロークの太さ。{100, 200, 300, 400, 500, 600, 700} から選択します。指定しない場合、デフォルト値は 400 です。他の値が指定されている場合は、デフォルト値が使用されます。

さまざまなアイコン設定をプレビューするには、Google フォント アイコンに移動し、[カスタマイズ] で設定を調整します。

grade

integer

重量とグレードはシンボルの太さに影響します。グレードの調整はウェイトの調整よりもきめ細かく、記号のサイズへの影響は小さくなります。{-25, 0, 200} から選択できます。指定しない場合、デフォルト値は 0 です。他の値を指定した場合は、デフォルト値が使用されます。

さまざまなアイコン設定をプレビューするには、Google フォント アイコンに移動し、[カスタマイズ] で設定を調整します。

DecoratedText

テキストの上にラベルを表示したり、テキストの前にアイコンを表示したり、テキストの後に選択ウィジェットを表示したり、ボタンを表示したりするなど、テキストを装飾して表示するウィジェット。Google Chat アプリの例については、装飾テキストでテキストを表示するをご覧ください。

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

JSON 表現
{
  "icon": {
    object (Icon)
  },
  "startIcon": {
    object (Icon)
  },
  "topLabel": string,
  "text": string,
  "wrapText": boolean,
  "bottomLabel": string,
  "onClick": {
    object (OnClick)
  },

  // Union field control can be only one of the following:
  "button": {
    object (Button)
  },
  "switchControl": {
    object (SwitchControl)
  },
  "endIcon": {
    object (Icon)
  }
  // End of list of possible types for union field control.
}
フィールド
icon
(deprecated)

object (Icon)

startIcon に置き換えられました。

startIcon

object (Icon)

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

topLabel

string

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

text

string

必須。メインのテキスト。

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

wrapText

boolean

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

text にのみ適用されます。topLabelbottomLabel には適用されません。

bottomLabel

string

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

onClick

object (OnClick)

このアクションは、ユーザーが topLabel または bottomLabel をクリックしたときにトリガーされます。

共用体フィールド controldecoratedText ウィジェットでテキストの右側に表示されるボタン、スイッチ、チェックボックス、画像。control は次のいずれかになります。
button

object (Button)

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

switchControl

object (SwitchControl)

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

endIcon

object (Icon)

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

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

ボタン

ユーザーがクリックできるテキスト、アイコン、またはテキストとアイコンのボタン。Google Chat アプリの例については、ボタンを追加するをご覧ください。

画像をクリック可能なボタンにするには、ImageImageComponent ではない)を指定し、onClick アクションを設定します。

Google Chat アプリと Google Workspace アドオンでご利用いただけます。

JSON 表現
{
  "text": string,
  "icon": {
    object (Icon)
  },
  "color": {
    object (Color)
  },
  "onClick": {
    object (OnClick)
  },
  "disabled": boolean,
  "altText": string,
  "type": enum (Type)
}
フィールド
text

string

ボタン内に表示されるテキスト。

icon

object (Icon)

ボタン内に表示されるアイコン。icontext の両方を設定すると、テキストの前にアイコンが表示されます。

color

object (Color)

省略可。ボタンの色。設定すると、ボタン typeFILLED に設定され、text フィールドと icon フィールドの色は、読みやすくなるようにコントラストの強い色に設定されます。たとえば、ボタンの色を青に設定している場合、ボタン内のテキストやアイコンはすべて白に設定されます。

ボタンの色を設定するには、redgreenblue の各フィールドに値を指定します。この値は、RGB カラー値に基づく 0 ~ 1 の浮動小数点数で指定する必要があります。ここで、0(0/255)は無色、1(255/255)は色の最大強度を表します。

たとえば、次のコードは、最大強度の赤色に設定します。

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

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

onClick

object (OnClick)

必須。ハイパーリンクを開く、カスタム関数を実行するなど、ユーザーがボタンをクリックしたときに実行するアクション。

disabled

boolean

true の場合、ボタンは非アクティブな状態で表示され、ユーザー操作に応答しません。

altText

string

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

ボタンの動作をユーザーに示す説明的なテキストを設定します。たとえば、ボタンによってハイパーリンクが開く場合は、「新しいブラウザタブを開き、Google Chat デベロッパー向けドキュメント(https://developers.google.com/workspace/chat&quot;」に移動)のように記述します。

type

enum (Type)

省略可。ボタンのタイプ。設定しない場合、ボタンのタイプはデフォルトで OUTLINED になります。color フィールドが設定されている場合、ボタンのタイプは FILLED に強制され、このフィールドに設定された値は無視されます。

Google Chat アプリで利用でき、Google Workspace アドオンでは利用できません。

RGBA カラースペースのカラーを表します。この表現は、コンパクトさよりも、さまざまな言語での色表現との間で簡単に変換できるように設計されています。たとえば、この表現のフィールドは、Java の java.awt.Color のコンストラクタに簡単に提供できます。また、iOS の UIColor の +colorWithRed:green:blue:alpha メソッドにも簡単に提供できます。また、少しの作業で、JavaScript の CSS rgba() 文字列に簡単にフォーマットできます。

このリファレンス ページには、RGB 値の解釈に使用する必要がある絶対色空間(sRGB、Adobe RGB、DCI-P3、BT.2020 など)に関する情報は含まれていません。デフォルトでは、アプリケーションは sRGB 色空間を想定します。

色の等価性を判断する必要がある場合、実装では、特に明記されていない限り、赤、緑、青、アルファの値の差が 1e-5 以下であれば 2 つの色を等しいものとして扱います。

例(Java):

 import com.google.type.Color;

 // ...
 public static java.awt.Color fromProto(Color protocolor) {
   float alpha = protocolor.hasAlpha()
       ? protocolor.getAlpha().getValue()
       : 1.0;

   return new java.awt.Color(
       protocolor.getRed(),
       protocolor.getGreen(),
       protocolor.getBlue(),
       alpha);
 }

 public static Color toProto(java.awt.Color color) {
   float red = (float) color.getRed();
   float green = (float) color.getGreen();
   float blue = (float) color.getBlue();
   float denominator = 255.0;
   Color.Builder resultBuilder =
       Color
           .newBuilder()
           .setRed(red / denominator)
           .setGreen(green / denominator)
           .setBlue(blue / denominator);
   int alpha = color.getAlpha();
   if (alpha != 255) {
     result.setAlpha(
         FloatValue
             .newBuilder()
             .setValue(((float) alpha) / denominator)
             .build());
   }
   return resultBuilder.build();
 }
 // ...

例(iOS / Obj-C):

 // ...
 static UIColor* fromProto(Color* protocolor) {
    float red = [protocolor red];
    float green = [protocolor green];
    float blue = [protocolor blue];
    FloatValue* alpha_wrapper = [protocolor alpha];
    float alpha = 1.0;
    if (alpha_wrapper != nil) {
      alpha = [alpha_wrapper value];
    }
    return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
 }

 static Color* toProto(UIColor* color) {
     CGFloat red, green, blue, alpha;
     if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) {
       return nil;
     }
     Color* result = [[Color alloc] init];
     [result setRed:red];
     [result setGreen:green];
     [result setBlue:blue];
     if (alpha <= 0.9999) {
       [result setAlpha:floatWrapperWithValue(alpha)];
     }
     [result autorelease];
     return result;
}
// ...

例(JavaScript):

// ...

var protoToCssColor = function(rgb_color) {
   var redFrac = rgb_color.red || 0.0;
   var greenFrac = rgb_color.green || 0.0;
   var blueFrac = rgb_color.blue || 0.0;
   var red = Math.floor(redFrac * 255);
   var green = Math.floor(greenFrac * 255);
   var blue = Math.floor(blueFrac * 255);

   if (!('alpha' in rgb_color)) {
      return rgbToCssColor(red, green, blue);
   }

   var alphaFrac = rgb_color.alpha.value || 0.0;
   var rgbParams = [red, green, blue].join(',');
   return ['rgba(', rgbParams, ',', alphaFrac, ')'].join('');
};

var rgbToCssColor = function(red, green, blue) {
  var rgbNumber = new Number((red << 16) | (green << 8) | blue);
  var hexString = rgbNumber.toString(16);
  var missingZeros = 6 - hexString.length;
  var resultBuilder = ['#'];
  for (var i = 0; i < missingZeros; i++) {
     resultBuilder.push('0');
  }
  resultBuilder.push(hexString);
  return resultBuilder.join('');
};

// ...
JSON 表現
{
  "red": number,
  "green": number,
  "blue": number,
  "alpha": number
}
フィールド
red

number

カラーの赤色の量。[0, 1] の範囲内の値として示されます。

green

number

カラーの緑色の量。[0, 1] の範囲内の値として示されます。

blue

number

カラーの青色の量。[0, 1] の範囲内の値として示されます。

alpha

number

ピクセルに適用する必要があるこのカラーの割合。つまり、最終的なピクセル色は次の式で定義されます。

pixel color = alpha * (this color) + (1.0 - alpha) * (background color)

つまり、値 1.0 はソリッドカラーに相当し、値 0.0 は透明色に相当します。これは、単純な浮動小数点スカラーではなくラッパー メッセージを使用します。これにより、デフォルト値が設定されたのか未設定値だったのかを区別できます。省略すると、このカラー オブジェクトは単色としてレンダリングされます(アルファ値を明示的に 1.0 を指定した場合と同様)。

タイプ

省略可。ボタンのタイプcolor フィールドが設定されている場合、type は強制的に FILLED になります。

Google Chat アプリで利用でき、Google Workspace アドオンでは利用できません。

列挙型
TYPE_UNSPECIFIED 使用しないでください。指定なし。
OUTLINED 枠線付きのボタンは、中強調のボタンです。通常、重要なアクションが含まれますが、Chat アプリやアドオンの主要アクションではありません。
FILLED 塗りつぶしボタンには単色のコンテナがあります。最も視覚的な効果があり、Chat アプリやアドオンの重要な主要な操作に使用することをおすすめします。
FILLED_TONAL 塗りつぶしの色調ボタンは、塗りつぶしボタンと枠線付きボタンの中間に位置します。枠線ボタンよりも優先度の低いボタンを強調する必要がある場合に便利です。
BORDERLESS ボタンに、デフォルト状態の非表示のコンテナがありません。多くの場合、優先度の最も低いアクションに使用されます(特に複数のオプションを提示する場合)。

SwitchControl

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

Google Chat アプリと Google Workspace アドオンでご利用いただけます。

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

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

string

フォーム入力イベントでスイッチ ウィジェットが識別される名前。

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

value

string

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

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

selected

boolean

true の場合、スイッチが選択されています。

onChangeAction

object (Action)

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

controlType

enum (ControlType)

ユーザー インターフェースにスイッチが表示される仕組み。

Google Chat アプリと Google Workspace アドオンでご利用いただけます。

ControlType

ユーザー インターフェースにスイッチがどのように表示されるか。

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

列挙型
SWITCH 切り替え式のスイッチ。
CHECKBOX CHECK_BOX に置き換えられました。
CHECK_BOX チェックボックス。

ButtonList

横方向に並べられたボタンのリスト。Google Chat アプリの例については、ボタンを追加するをご覧ください。

Google Chat アプリと Google Workspace アドオンでご利用いただけます。

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

object (Button)

ボタンの配列。

TextInput

ユーザーがテキストを入力できるフィールド。提案と変更時のアクションをサポートします。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
}
フィールド
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 の入力を開始すると、候補のリストがフィルタされ、JavaJavaScript のみが表示されます。

候補値により、アプリが理解できる値をユーザーが入力しやすくなります。JavaScript を参照する場合、javascript と入力するユーザーもいれば、java script と入力するユーザーもいます。JavaScript を提案することで、ユーザーによるアプリの操作方法を標準化できます。

指定すると、TextInput.typeMULTIPLE_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 行入力フィールドか複数行入力かなどです。initialSuggestions を指定すると、typeMULTIPLE_LINE に設定されている場合でも、常に SINGLE_LINE になります。

Google Chat アプリと Google Workspace アドオンでご利用いただけます。

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

RenderActions

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

Google Chat アプリと Google Workspace アドオンでご利用いただけます。

フィールド
action

Action

アクション

フィールド
navigations[]

Navigation

表示されたカードのプッシュまたは更新を行います。

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

Google Chat アプリと Google Workspace アドオンでご利用いただけます。

navigations: {
  pushCard: CARD
}

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

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

navigations: {
  updateCard: CARD
}

提案

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

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

候補値により、アプリが理解できる値をユーザーが入力しやすくなります。JavaScript を参照する場合、ユーザーが「javascript」と入力し、別のユーザーが「java script」と入力することがあります。JavaScript を提案することで、ユーザーがアプリを操作する方法を標準化できます。

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

Google Chat アプリと Google Workspace アドオンでご利用いただけます。

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

object (SuggestionItem)

テキスト入力フィールドのオートコンプリート候補に使用される候補のリスト。

SuggestionItem

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

Google Chat アプリと Google Workspace アドオンでご利用いただけます。

JSON 表現
{

  // Union field content can be only one of the following:
  "text": string
  // End of list of possible types for union field content.
}
フィールド

共用体フィールド content

content は次のいずれかになります。

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 システム提供の絵文字選択ツールから選択された絵文字。

SelectionInput

ユーザーが選択できる 1 つ以上の UI アイテムを作成するウィジェット。たとえば、プルダウン メニューやチェックボックスなどです。このウィジェットを使用して、予測や列挙が可能なデータを収集できます。Google Chat アプリの例については、選択可能な UI 要素を追加するをご覧ください。

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

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

Google Chat アプリと Google Workspace アドオンでご利用いただけます。

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

  // Union field multi_select_data_source can be only one of the following:
  "externalDataSource": {
    object (Action)
  },
  "platformDataSource": {
    object (PlatformDataSource)
  }
  // End of list of possible types for union field multi_select_data_source.
}
フィールド
name

string

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

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

label

string

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

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

type

enum (SelectionType)

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

items[]

object (SelectionItem)

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

onChangeAction

object (Action)

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

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

multiSelectMaxSelectedItems

integer

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

multiSelectMinQueryLength

integer

複数選択メニューの場合、アプリがクエリする前にユーザーが入力したテキスト文字数が予測入力され、メニューに候補アイテムが表示されます。

指定しない場合のデフォルトは、静的データソースでは 0 文字、外部データソースでは 3 文字です。

validation

object (Validation)

プルダウン メニューの場合、この選択入力フィールドの検証。

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

共用体フィールド multi_select_data_source。複数選択メニューの場合は、選択項目に入力するデータソース。

Google Chat アプリで利用でき、Google Workspace アドオンでは利用できません。 multi_select_data_source は次のいずれかになります。

externalDataSource

object (Action)

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

platformDataSource

object (PlatformDataSource)

Google Workspace のデータソース。

SelectionType

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

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

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

列挙型
CHECK_BOX チェックボックスのセット。ユーザーは 1 つ以上のチェックボックスを選択できます。
RADIO_BUTTON ラジオボタンのセット。ユーザーはラジオボタンを 1 つ選択できます。
SWITCH スイッチのセット。ユーザーはスイッチを 1 つ以上有効にできます。
DROPDOWN プルダウン メニュー。ユーザーはメニューから 1 つの項目を選択できます。
MULTI_SELECT

静的データまたは動的データの複数選択メニュー。ユーザーはメニューバーから 1 つ以上のアイテムを選択します。ユーザーは値を入力して動的データを取り込むこともできます。たとえば、ユーザーが Google Chat スペースの名前を入力し始めると、ウィジェットにスペースが自動的に候補として表示されます。

複数選択メニューのアイテムにデータを入力するには、次のいずれかのデータソースを使用します。

  • 静的データ: アイテムは、ウィジェットの SelectionItem オブジェクトとして指定されます。最大 100 個。
  • Google Workspace のデータ: アイテムは、Google Workspace ユーザーや Google Chat スペースなどの Google Workspace のデータを使用して入力されます。
  • 外部データ: アイテムは、Google Workspace の外部の外部データソースから入力されます。

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

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

SelectionItem

チェックボックスやスイッチなど、ユーザーが選択入力で選択できるアイテム。

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

JSON 表現
{
  "text": string,
  "value": string,
  "selected": boolean,
  "startIconUri": string,
  "bottomText": string
}
フィールド
text

string

アイテムを識別または説明するテキスト。

value

string

このアイテムに関連付けられた値。クライアントはこれをフォームの入力値として使用する必要があります。

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

selected

boolean

アイテムがデフォルトで選択されるかどうか。選択入力で 1 つの値のみが許可される場合(ラジオボタンやプルダウン メニューなど)、このフィールドは 1 つの項目にのみ設定します。

startIconUri

string

複数選択メニューの場合、アイテムの text フィールドの横に表示されるアイコンの URL。PNG ファイルと JPEG ファイルをサポートしています。HTTPS の URL を指定する必要があります。例: https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png

bottomText

string

複数選択メニューの場合、アイテムの text フィールドの下に表示される、テキストの説明またはラベル。

PlatformDataSource

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

Google Chat アプリで利用可能で、Google Workspace アドオンでは利用できません。

JSON 表現
{

  // Union field data_source can be only one of the following:
  "commonDataSource": enum (CommonDataSource),
  "hostAppDataSource": {
    object (HostAppDataSourceMarkup)
  }
  // End of list of possible types for union field data_source.
}
フィールド
共用体フィールド data_source。データソース。data_source は次のいずれかになります。
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 組織内のユーザーのみを表示および選択できます。

HostAppDataSourceMarkup

マルチ選択メニューを使用する SelectionInput ウィジェットの場合は、Google Workspace アプリケーションのデータソース。データソースに、複数選択メニューの選択項目が入力されます。

Google Chat アプリで利用可能で、Google Workspace アドオンでは利用できません。

JSON 表現
{

  // Union field data_source can be only one of the following:
  "chatDataSource": {
    object (ChatClientDataSourceMarkup)
  }
  // End of list of possible types for union field data_source.
}
フィールド
共用体フィールド data_source。複数選択メニューの項目を入力する Google Workspace アプリケーション。 data_source は次のいずれかになります。
chatDataSource

object (ChatClientDataSourceMarkup)

Google Chat のデータソース。

ChatClientDataSourceMarkup

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

Google Chat アプリで利用でき、Google Workspace アドオンでは利用できません。

JSON 表現
{

  // Union field source can be only one of the following:
  "spaceDataSource": {
    object (SpaceDataSource)
  }
  // End of list of possible types for union field source.
}
フィールド
共用体フィールド source。Google Chat データソース。source は次のいずれかになります。
spaceDataSource

object (SpaceDataSource)

ユーザーがメンバーである Google Chat スペース。

SpaceDataSource

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

Google Chat アプリで利用でき、Google Workspace アドオンでは利用できません。

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

boolean

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

DateTimePicker

ユーザーが日付、時刻、または日付と時刻の両方を入力できるようにします。Google Chat アプリの例については、ユーザーが日時を選択できるようにするをご覧ください。

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

Google Chat アプリと Google Workspace アドオンでご利用いただけます。

JSON 表現
{
  "name": string,
  "label": string,
  "type": enum (DateTimePickerType),
  "valueMsEpoch": string,
  "timezoneOffsetDate": integer,
  "onChangeAction": {
    object (Action)
  },
  "validation": {
    object (Validation)
  }
}
フィールド
name

string

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

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

label

string

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

type

enum (DateTimePickerType)

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

valueMsEpoch

string (int64 format)

ウィジェットに表示されるデフォルト値(Unix エポック時間からのミリ秒数)。

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

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

integer

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

onChangeAction

object (Action)

ユーザーが DateTimePicker インターフェースから [保存] または [消去] をクリックするとトリガーされます。

validation

object (Validation)

省略可。この日時選択ツールに必要な検証を指定します。

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

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)

このコールバックは個々のグリッド アイテムで再利用されますが、コールバックのパラメータにはアイテムリスト内のアイテムの ID とインデックスが追加されます。

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

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

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

列は並べて表示されます。各列の幅は 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 列を含めることができます。

Column

列。

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 ウィジェットを列の下部に揃えます。

ウィジェット

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

Google Workspace アドオンと Chat アプリ

JSON 表現
{

  // Union field data can be only one of the following:
  "textParagraph": {
    object (TextParagraph)
  },
  "image": {
    object (Image)
  },
  "decoratedText": {
    object (DecoratedText)
  },
  "buttonList": {
    object (ButtonList)
  },
  "textInput": {
    object (TextInput)
  },
  "selectionInput": {
    object (SelectionInput)
  },
  "dateTimePicker": {
    object (DateTimePicker)
  },
  "chipList": {
    object (ChipList)
  }
  // End of list of possible types for union field data.
}
フィールド

共用体フィールド data

data は次のいずれかになります。

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 ウィジェットです。 Google Chat アプリで利用可能で、Google Workspace アドオンでは利用できません。

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)

アイコン画像。icontext の両方を設定すると、テキストの前にアイコンが表示されます。

label

string

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

onClick

object (OnClick)

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

enabled
(deprecated)

boolean

チップがアクティブな状態にあり、ユーザー操作に応答するかどうか。デフォルトは true です。非推奨です。代わりに disabled を使用してください。

disabled

boolean

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

altText

string

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

チップの機能についてユーザーに説明する説明的なテキストを設定します。たとえば、チップでハイパーリンクが開く場合は、「新しいブラウザタブを開き、Google Chat デベロッパー向けドキュメント(https://developers.google.com/workspace/chat&quot;」)に移動します。

CollapseControl

展開と閉じのコントロールを表します。 Google Chat アプリで利用可能で、Google Workspace アドオンでは利用できません。

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

enum (HorizontalAlignment)

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

expandButton

object (Button)

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

collapseButton

object (Button)

省略可。セクションを折りたたむためのカスタマイズ可能なボタンを定義します。ExpandButton フィールドと foldButton フィールドの両方を設定する必要があります。フィールドセットが適用されないのは 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 デフォルト値。カードは、カードのグルーピングの上部にあるカードのビューに置き換えて表示されます。