Cards v2

Infokarte

Eine Kartenoberfläche, die in einer Google Chat-Nachricht oder einem Google Workspace-Add-on angezeigt wird.

Karten unterstützen ein definiertes Layout, interaktive UI-Elemente wie Schaltflächen und Rich Media wie Bilder. Verwenden Sie Karten, um detaillierte Informationen zu präsentieren, Informationen von Nutzenden zu erfassen und Nutzer zu einem nächsten Schritt zu führen.

Informationen zum Erstellen von Karten finden Sie in der folgenden Dokumentation:

Beispiel: Kartennachricht für eine Google Chat-App

Beispiel für eine Kontaktkarte

Verwenden Sie die folgende JSON, um die Beispielkartennachricht in Google Chat zu erstellen:

{
  "cardsV2": [
    {
      "cardId": "unique-card-id",
      "card": {
        "header": {
          "title": "Sasha",
          "subtitle": "Software Engineer",
          "imageUrl":
          "https://developers.google.com/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-Darstellung
{
  "header": {
    object (CardHeader)
  },
  "sections": [
    {
      object (Section)
    }
  ],
  "sectionDividerStyle": enum (DividerStyle),
  "cardActions": [
    {
      object (CardAction)
    }
  ],
  "name": string,
  "fixedFooter": {
    object (CardFixedFooter)
  },
  "displayStyle": enum (DisplayStyle),
  "peekCardHeader": {
    object (CardHeader)
  }
}
Felder
header

object (CardHeader)

Die Überschrift der Karte. Eine Kopfzeile enthält normalerweise ein vorangestelltes Bild und einen Titel. Überschriften werden immer oben auf einer Karte angezeigt.

sections[]

object (Section)

Enthält eine Sammlung von Widgets. Jeder Bereich hat eine eigene optionale Überschrift. Die einzelnen Abschnitte sind durch eine Trennlinie voneinander getrennt. Ein Beispiel in Google Chat-Apps findest du im Abschnitt „Karten“.

sectionDividerStyle

enum (DividerStyle)

Der Trennungsstil zwischen Abschnitten.

cardActions[]

object (CardAction)

Die Aktionen der Karte. Aktionen werden dem Symbolleistenmenü der Karte hinzugefügt.

Da Chat-App-Karten keine Symbolleiste haben, wird cardActions[] in Chat-Apps nicht unterstützt.

Mit der folgenden JSON-Datei wird beispielsweise ein Kartenaktionsmenü mit den Optionen Settings und Send Feedback erstellt:

"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

Name der Karte Wird bei der Kartennavigation als Karten-ID verwendet.

Da Chat-Apps keine Kartennavigation unterstützen, wird dieses Feld ignoriert.

displayStyle

enum (DisplayStyle)

In Google Workspace-Add-ons werden die Anzeigeeigenschaften von peekCardHeader festgelegt.

Wird von Chat-Apps nicht unterstützt.

peekCardHeader

object (CardHeader)

Bei der Anzeige von kontextbezogenen Inhalten fungiert die Peek-Kartenüberschrift als Platzhalter, sodass der Nutzer vorwärts zwischen den Startseitenkarten und den Kontextkarten navigieren kann.

Wird von Chat-Apps nicht unterstützt.

CardHeader

Stellt eine Kartenüberschrift dar. Ein Beispiel in Google Chat-Apps finden Sie unter Kartenüberschrift.

JSON-Darstellung
{
  "title": string,
  "subtitle": string,
  "imageType": enum (ImageType),
  "imageUrl": string,
  "imageAltText": string
}
Felder
title

string

Erforderlich. Der Titel der Kartenüberschrift. Die Kopfzeile hat eine feste Höhe: Wenn sowohl ein Titel als auch ein Untertitel angegeben sind, wird jeweils eine Zeile eingenommen. Wenn nur der Titel angegeben ist, nimmt er beide Zeilen in Anspruch.

subtitle

string

Der Untertitel der Kartenüberschrift. Falls angegeben, wird es in einer eigenen Zeile unter title angezeigt.

imageType

enum (ImageType)

Die Form, die zum Zuschneiden des Bildes verwendet wird.

imageUrl

string

Die HTTPS-URL des Bildes im Kartenheader.

imageAltText

string

Der alternative Text dieses Bildes, der für die Barrierefreiheit verwendet wird.

Image-Typ

Die Form, die zum Zuschneiden des Bildes verwendet wird.

Enums
SQUARE Standardwert. Wendet eine quadratische Maske auf das Bild an. Ein Bild mit den Maßen 4 x 3 wird beispielsweise zu 3 x 3.
CIRCLE Wendet eine kreisförmige Maske auf das Bild an. Ein Bild mit den Maßen 4 x 3 wird beispielsweise zu einem Kreis mit einem Durchmesser von 3.

Abschnitt

Ein Abschnitt enthält eine Sammlung von Widgets, die vertikal in der angegebenen Reihenfolge gerendert werden.

JSON-Darstellung
{
  "header": string,
  "widgets": [
    {
      object (Widget)
    }
  ],
  "collapsible": boolean,
  "uncollapsibleWidgetsCount": integer
}
Felder
header

string

Text, der oben in einem Abschnitt angezeigt wird. Unterstützt einfachen HTML-formatierten Text. Weitere Informationen zum Formatieren von Text finden Sie unter Text in Google Chat-Anwendungen formatieren und Text in Google Workspace-Add-ons formatieren.

widgets[]

object (Widget)

Alle Widgets in diesem Bereich. Muss mindestens ein Widget enthalten.

collapsible

boolean

Gibt an, ob dieser Abschnitt minimierbar ist.

Minimierbare Bereiche blenden einige oder alle Widgets aus. Nutzer können den Bereich jedoch maximieren, um ausgeblendete Widgets einzublenden, indem sie auf Mehr anzeigen klicken. Nutzer können die Widgets wieder ausblenden, indem sie auf Weniger anzeigen klicken.

Wenn Sie ermitteln möchten, welche Widgets ausgeblendet sind, geben Sie uncollapsibleWidgetsCount an.

uncollapsibleWidgetsCount

integer

Die Anzahl der nicht minimierbaren Widgets, die auch dann sichtbar bleiben, wenn ein Abschnitt minimiert ist.

Wenn ein Abschnitt beispielsweise fünf Widgets enthält und uncollapsibleWidgetsCount auf 2 gesetzt ist, werden die ersten beiden Widgets immer angezeigt und die letzten drei standardmäßig minimiert. uncollapsibleWidgetsCount wird nur berücksichtigt, wenn collapsible gleich true ist.

Widget

Jede Karte besteht aus Widgets.

Ein Widget ist ein zusammengesetztes Objekt, das Text, Bilder, Schaltflächen oder andere Objekttypen darstellen kann.

JSON-Darstellung
{
  "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)
  }
  // End of list of possible types for union field data.
}
Felder
horizontalAlignment

enum (HorizontalAlignment)

Gibt an, ob Widgets links, rechts oder in der Mitte einer Spalte ausgerichtet werden.

Union-Feld data. Ein Widget kann nur eines der folgenden Elemente enthalten. Sie können mehrere Widget-Felder verwenden, um mehr Elemente anzuzeigen. Für data ist nur einer der folgenden Werte zulässig:
textParagraph

object (TextParagraph)

Zeigt einen Textabsatz an. Unterstützt einfachen HTML-formatierten Text. Weitere Informationen zum Formatieren von Text finden Sie unter Text in Google Chat-Anwendungen formatieren und Text in Google Workspace-Add-ons formatieren.

Mit der folgenden JSON-Datei wird beispielsweise ein fett formatierter Text erstellt:

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

object (Image)

Zeigt ein Bild an.

Mit dem folgenden JSON-Code wird beispielsweise ein Bild mit alternativem Text erstellt:

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

object (DecoratedText)

Zeigt ein dekoriertes Textelement an.

Mit dem folgenden JSON-Code wird beispielsweise ein Widget mit dekoriertem Text erstellt, das die E-Mail-Adresse anzeigt:

"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)

Eine Liste mit Schaltflächen.

Mit der folgenden JSON-Datei werden beispielsweise zwei Schaltflächen erstellt. Die erste ist eine blaue Textschaltfläche und die zweite ist eine Bildschaltfläche, über die ein Link geöffnet wird:

"buttonList": {
  "buttons": [
    {
      "text": "Edit",
      "color": {
        "red": 0,
        "green": 0,
        "blue": 1,
        "alpha": 1
      },
      "disabled": true,
    },
    {
      "icon": {
        "knownIcon": "INVITE",
        "altText": "check calendar"
      },
      "onClick": {
        "openLink": {
          "url": "https://example.com/calendar"
        }
      }
    }
  ]
}
textInput

object (TextInput)

Zeigt ein Textfeld an, in das Nutzer Text eingeben können.

Mit der folgenden JSON-Datei wird beispielsweise eine Texteingabe für eine E-Mail-Adresse erstellt:

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

Als weiteres Beispiel wird mit dem folgenden JSON-Code eine Texteingabe für eine Programmiersprache mit statischen Vorschlägen erstellt:

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

object (SelectionInput)

Zeigt ein Auswahlsteuerelement an, mit dem Nutzer Elemente auswählen können. Auswahlsteuerelemente können Kontrollkästchen, Optionsfelder, Schalter oder Drop-down-Menüs sein.

Mit der folgenden JSON-Datei wird beispielsweise ein Drop-down-Menü erstellt, in dem Nutzer eine Größe auswählen können:

"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)

Zeigt ein Widget an, in das Benutzer ein Datum, eine Uhrzeit oder ein Datum und eine Uhrzeit eingeben können.

Mit der folgenden JSON-Datei wird beispielsweise eine Datums- und Zeitauswahl erstellt, um einen Termin zu planen:

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

object (Divider)

Zeigt eine horizontale Trennlinie zwischen Widgets an

Mit der folgenden JSON-Datei wird beispielsweise eine Trennlinie erstellt:

"divider": {
}
grid

object (Grid)

Zeigt ein Raster mit mehreren Elementen an.

Ein Raster unterstützt eine beliebige Anzahl von Spalten und Elementen. Die Anzahl der Zeilen wird durch die Obergrenze der Anzahl der Elemente geteilt durch die Anzahl der Spalten bestimmt. Ein Raster mit 10 Elementen und 2 Spalten hat 5 Zeilen. Ein Raster mit 11 Elementen und 2 Spalten hat 6 Zeilen.

Mit der folgenden JSON-Datei wird beispielsweise ein zweispaltiges Raster mit einem einzelnen Element erstellt:

"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)

Es können bis zu zwei Spalten angezeigt werden.

Wenn Sie mehr als zwei Spalten einschließen oder Zeilen verwenden möchten, verwenden Sie das Widget Grid.

Mit der folgenden JSON-Datei werden beispielsweise zwei Spalten erstellt, die jeweils Textabsätze enthalten:

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

TextParagraph

Ein Textabsatz, der Formatierung unterstützt. Ein Beispiel in Google Chat-Apps finden Sie im Textabsatz. Weitere Informationen zum Formatieren von Text finden Sie unter Text in Google Chat-Anwendungen formatieren und Text in Google Workspace-Add-ons formatieren.

JSON-Darstellung
{
  "text": string
}
Felder
text

string

Der Text, der im Widget angezeigt wird.

Bild

Ein Bild, das durch eine URL angegeben wird und die Aktion onClick haben kann. Ein Beispiel finden Sie unter Image.

JSON-Darstellung
{
  "imageUrl": string,
  "onClick": {
    object (OnClick)
  },
  "altText": string
}
Felder
imageUrl

string

Die HTTPS-URL, auf der das Image gehostet wird.

Beispiel:

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

object (OnClick)

Wenn ein Nutzer auf das Bild klickt, wird diese Aktion durch den Klick ausgelöst.

altText

string

Der alternative Text dieses Bildes, der für die Barrierefreiheit verwendet wird.

Bei Klick

Gibt an, wie zu reagieren ist, wenn Nutzer auf ein interaktives Element auf einer Karte klicken, z. B. eine Schaltfläche.

JSON-Darstellung
{

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

Union-Feld data.

Für data ist nur einer der folgenden Werte zulässig:

action

object (Action)

Wenn angegeben, wird durch diese onClick eine Aktion ausgelöst.

card

object (Card)

Sofern angegeben, wird nach dem Anklicken eine neue Karte auf den Kartenstapel verschoben.

Unterstützt von Google Workspace-Add-ons, aber nicht von Google Chat-Apps.

Aktion

Eine Aktion, die das Verhalten beim Senden des Formulars beschreibt. Sie können beispielsweise ein Apps Script-Skript aufrufen, um das Formular zu verarbeiten. Wird die Aktion ausgelöst, werden die Formularwerte an den Server gesendet.

JSON-Darstellung
{
  "function": string,
  "parameters": [
    {
      object (ActionParameter)
    }
  ],
  "loadIndicator": enum (LoadIndicator),
  "persistValues": boolean,
  "interaction": enum (Interaction)
}
Felder
function

string

Eine benutzerdefinierte Funktion, die ausgelöst wird, wenn auf das enthaltende Element geklickt oder es anderweitig aktiviert wird.

Beispiele für die Verwendung finden Sie unter Interaktive Karten erstellen.

parameters[]

object (ActionParameter)

Liste der Aktionsparameter.

loadIndicator

enum (LoadIndicator)

Gibt die Ladeanzeige an, die während des Aufrufs der Aktion eingeblendet wird.

persistValues

boolean

Gibt an, ob Formularwerte nach der Aktion erhalten bleiben. Der Standardwert ist false.

Bei true bleiben Formularwerte erhalten, nachdem die Aktion ausgelöst wurde. Damit der Nutzer Änderungen vornehmen kann, während die Aktion verarbeitet wird, setzen Sie LoadIndicator auf NONE. Bei Kartennachrichten in Chat-Apps müssen Sie auch ResponseType der Aktion auf UPDATE_MESSAGE setzen und denselben cardId von der Karte verwenden, die die Aktion enthielt.

Bei false werden die Formularwerte beim Auslösen der Aktion gelöscht. Wenn du verhindern möchtest, dass der Nutzer Änderungen vornimmt, während die Aktion verarbeitet wird, setze LoadIndicator auf SPINNER.

interaction

enum (Interaction)

Optional. Erforderlich beim Öffnen eines Dialogfelds.

Vorgehensweise als Reaktion auf eine Interaktion mit einem Nutzer, z. B. wenn er auf eine Schaltfläche in einer Kartennachricht klickt

Wenn kein Wert angegeben ist, antwortet die Anwendung wie gewohnt mit einem action, z. B. Öffnen eines Links oder Ausführen einer Funktion.

Durch Angabe eines interaction kann die App auf spezielle interaktive Weise reagieren. Wenn Sie beispielsweise interaction auf OPEN_DIALOG setzen, kann in der Anwendung ein Dialogfeld geöffnet werden. Wenn angegeben, wird kein Ladeindikator angezeigt.

Von Chat-Apps unterstützt, aber nicht von Google Workspace-Add-ons. Wenn dies für ein Add-on angegeben wird, wird die gesamte Karte entfernt und im Client wird nichts angezeigt.

Aktionsparameter

Liste der Zeichenfolgenparameter, die beim Aufrufen der Aktionsmethode bereitzustellen sind. Stellen Sie sich zum Beispiel drei Schlummertasten vor: „Jetzt schlummern“, „An einem Tag schlummern“ oder „Nächste Woche schlummern“. Sie können action method = snooze() verwenden und den Schlummertyp und die Schlummerzeit in der Liste der Stringparameter übergeben.

Weitere Informationen finden Sie unter CommonEventObject.

JSON-Darstellung
{
  "key": string,
  "value": string
}
Felder
key

string

Der Name des Parameters für das Aktionsskript.

value

string

Wert des Parameters.

Ladeanzeige

Gibt die Ladeanzeige an, die während des Aufrufs der Aktion eingeblendet wird.

Enums
SPINNER Ein rotierendes Ladesymbol zeigt an, dass Inhalte geladen werden.
NONE Es wird nichts angezeigt.

Interaktion

Optional. Erforderlich beim Öffnen eines Dialogfelds.

Vorgehensweise als Reaktion auf eine Interaktion mit einem Nutzer, z. B. wenn er auf eine Schaltfläche in einer Kartennachricht klickt

Wenn kein Wert angegeben ist, antwortet die Anwendung wie gewohnt mit einem action, z. B. Öffnen eines Links oder Ausführen einer Funktion.

Durch Angabe eines interaction kann die App auf spezielle interaktive Weise reagieren. Wenn Sie beispielsweise interaction auf OPEN_DIALOG setzen, kann in der Anwendung ein Dialogfeld geöffnet werden.

Wenn angegeben, wird kein Ladeindikator angezeigt.

Von Chat-Apps unterstützt, aber nicht von Google Workspace-Add-ons. Wenn dies für ein Add-on angegeben wird, wird die gesamte Karte entfernt und im Client wird nichts angezeigt.

Enums
INTERACTION_UNSPECIFIED Standardwert. action wird wie gewohnt ausgeführt.
OPEN_DIALOG

Öffnet ein Dialogfeld, eine kartenbasierte Oberfläche mit Fenster, über die Chat-Apps mit Nutzern interagieren.

Wird nur von Chat-Apps als Reaktion auf Schaltflächenklicks auf Kartennachrichten unterstützt.

Wird von Google Workspace-Add-ons nicht unterstützt. Wenn dies für ein Add-on angegeben wird, wird die gesamte Karte entfernt und im Client wird nichts angezeigt.

OpenAs

Wenn durch eine OnClick-Aktion ein Link geöffnet wird, kann der Client ihn entweder als Fenster in voller Größe (wenn dies der vom Client verwendete Frame ist) oder als Overlay (z. B. ein Pop-up) öffnen. Die Implementierung hängt von den Funktionen der Clientplattform ab. Der ausgewählte Wert wird möglicherweise ignoriert, wenn der Client ihn nicht unterstützt. FULL_SIZE wird von allen Clients unterstützt.

Unterstützt von Google Workspace-Add-ons, aber nicht von Google Chat-Apps.

Enums
FULL_SIZE Der Link wird in voller Größe geöffnet (wenn dieser Frame vom Client verwendet wird).
OVERLAY Der Link wird als Overlay geöffnet, beispielsweise als Pop-up.

Beinahe

Was der Client tut, wenn ein Link, der durch eine OnClick-Aktion geöffnet wird, geschlossen wird.

Die Implementierung hängt von den Funktionen der Clientplattform ab. Ein Webbrowser kann beispielsweise einen Link in einem Pop-up-Fenster mit einem OnClose-Handler öffnen.

Wenn sowohl der Handler OnOpen als auch der OnClose festgelegt sind und die Clientplattform nicht beide Werte unterstützt, hat OnClose Vorrang.

Unterstützt von Google Workspace-Add-ons, aber nicht von Google Chat-Apps.

Enums
NOTHING Standardwert. Die Karte wird nicht neu geladen und es passiert nichts.
RELOAD

Die Karte wird neu geladen, nachdem das untergeordnete Fenster geschlossen wurde.

Bei Verwendung in Verbindung mit OpenAs.OVERLAY fungiert das untergeordnete Fenster als modales Dialogfeld und die übergeordnete Karte wird blockiert, bis das untergeordnete Fenster geschlossen wird.

Verzierter Text

Ein Widget, das Text mit optionalen Elementen anzeigt, z. B. einer Beschriftung über oder unter dem Text, einem Symbol vor dem Text, einem Auswahl-Widget oder einer Schaltfläche nach dem Text. Ein Beispiel in Google Chat-Apps finden Sie unter Verzierter Text.

JSON-Darstellung
{
  "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.
}
Felder
icon
(deprecated)

object (Icon)

Zugunsten von startIcon verworfen.

startIcon

object (Icon)

Das Symbol vor dem Text

topLabel

string

Der Text, der über text angezeigt wird. Wird immer abgeschnitten.

text

string

Erforderlich. Der Haupttext.

Unterstützt einfache Formatierung. Weitere Informationen zum Formatieren von Text finden Sie unter Text in Google Chat-Anwendungen formatieren und Text in Google Workspace-Add-ons formatieren.

wrapText

boolean

Die Einstellung für den Zeilenumbruch. Bei true wird der Text umgebrochen und in mehreren Zeilen angezeigt. Andernfalls wird der Text abgeschnitten.

Gilt nur für text, nicht für topLabel und bottomLabel.

bottomLabel

string

Der Text, der unter text angezeigt wird. Umschließt immer.

onClick

object (OnClick)

Diese Aktion wird ausgelöst, wenn Nutzer auf topLabel oder bottomLabel klicken.

Union-Feld control. Eine Schaltfläche, ein Schalter, ein Kästchen oder ein Bild, das im decoratedText-Widget rechts neben dem Text angezeigt wird. Für control ist nur einer der folgenden Werte zulässig:
button

object (Button)

Eine Schaltfläche, auf die ein Nutzer klicken kann, um eine Aktion auszulösen.

switchControl

object (SwitchControl)

Ein Schalter-Widget, auf das ein Nutzer klicken kann, um seinen Status zu ändern und eine Aktion auszulösen.

endIcon

object (Icon)

Ein Symbol, das nach dem Text angezeigt wird.

Unterstützt integrierte und benutzerdefinierte Symbole.

Icon

Ein Symbol, das in einem Widget auf einer Karte angezeigt wird. Ein Beispiel in Google Chat-Apps finden Sie unter Symbol.

Unterstützt integrierte und benutzerdefinierte Symbole.

JSON-Darstellung
{
  "altText": string,
  "imageType": enum (ImageType),

  // Union field icons can be only one of the following:
  "knownIcon": string,
  "iconUrl": string
  // End of list of possible types for union field icons.
}
Felder
altText

string

Optional. Eine Beschreibung des Symbols, die für die Barrierefreiheit verwendet wird. Wenn kein Wert angegeben ist, wird der Standardwert Button angegeben. Als Best Practice empfiehlt es sich, eine hilfreiche Beschreibung für den Inhalt des Symbols und gegebenenfalls dessen Funktion festzulegen. Beispiel: A user's account portrait oder Opens a new browser tab and navigates to the Google Chat developer documentation at https://developers.google.com/chat.

Wenn das Symbol in einem Button festgelegt ist, wird altText als Hilfstext angezeigt, wenn der Nutzer den Mauszeiger auf die Schaltfläche bewegt. Wenn durch die Schaltfläche jedoch auch text festgelegt wird, wird der altText des Symbols ignoriert.

imageType

enum (ImageType)

Der Zuschneidestil, der auf das Bild angewendet wird. In einigen Fällen führt ein CIRCLE-Zuschneiden dazu, dass das Bild größer als ein integriertes Symbol gezeichnet wird.

Union-Feld icons. Das Symbol, das im Widget auf der Karte angezeigt wird. Für icons ist nur einer der folgenden Werte zulässig:
knownIcon

string

Zeigen Sie eines der integrierten Symbole von Google Workspace an.

Wenn beispielsweise ein Flugzeugsymbol angezeigt werden soll, geben Sie AIRPLANE an. Für einen Bus geben Sie BUS an.

Eine vollständige Liste der unterstützten Symbole finden Sie unter Integrierte Symbole.

iconUrl

string

Benutzerdefiniertes Symbol anzeigen, das unter einer HTTPS-URL gehostet wird

Beispiel:

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

Unterstützte Dateitypen sind .png und .jpg.

Schaltfläche

Ein Text, ein Symbol oder eine Text- und Symbolschaltfläche, auf die die Nutzenden klicken können. Ein Beispiel in Google Chat-Apps finden Sie unter Schaltflächenliste.

Wenn Sie ein Bild als anklickbare Schaltfläche festlegen möchten, geben Sie Image (nicht ImageComponent) an und legen Sie die Aktion onClick fest.

JSON-Darstellung
{
  "text": string,
  "icon": {
    object (Icon)
  },
  "color": {
    object (Color)
  },
  "onClick": {
    object (OnClick)
  },
  "disabled": boolean,
  "altText": string
}
Felder
text

string

Der Text, der in der Schaltfläche angezeigt wird.

icon

object (Icon)

Das Symbolbild. Wenn sowohl icon als auch text festgelegt sind, wird das Symbol vor dem Text angezeigt.

color

object (Color)

Wenn diese Option aktiviert ist, wird die Schaltfläche mit einer einfarbigen Hintergrundfarbe gefüllt und die Schriftfarbe ändert sich, um den Kontrast zur Hintergrundfarbe aufrechtzuerhalten. Wenn Sie beispielsweise einen blauen Hintergrund festlegen, wird wahrscheinlich weißer Text angezeigt.

Wenn die Richtlinie nicht konfiguriert ist, ist der Bildhintergrund weiß und die Schriftfarbe Blau.

Bei Rot, Grün und Blau ist der Wert jedes Feldes eine float-Zahl, die Sie auf zwei Arten ausdrücken können: als Zahl zwischen 0 und 255 geteilt durch 255 (153/255) oder als Wert zwischen 0 und 1 (0,6). 0 steht für das Fehlen einer Farbe und 1 oder 255/255 für das vollständige Vorhandensein dieser Farbe auf der RGB-Skala.

Legen Sie optional alpha fest. Damit wird mithilfe der folgenden Gleichung ein Grad an Transparenz festgelegt:

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

Für alpha entspricht der Wert 1 einer Volltonfarbe und ein Wert von 0 einer vollständig transparenten Farbe.

Die folgende Farbe stellt beispielsweise ein halbtransparentes Rot dar:

"color": {
   "red": 1,
   "green": 0,
   "blue": 0,
   "alpha": 0.5
}
onClick

object (OnClick)

Erforderlich. Die Aktion, die ausgeführt werden soll, wenn ein Nutzer auf die Schaltfläche klickt, wie z. B. das Öffnen eines Hyperlinks oder das Ausführen einer benutzerdefinierten Funktion.

disabled

boolean

Bei true wird die Schaltfläche inaktiv angezeigt und reagiert nicht auf Nutzeraktionen.

altText

string

Der alternative Text, der für die Barrierefreiheit verwendet wird.

Legen Sie einen beschreibenden Text fest, der die Nutzenden über die Funktion der Schaltfläche informiert. Wenn beispielsweise über eine Schaltfläche ein Hyperlink geöffnet wird, können Sie Folgendes schreiben: „Öffnet einen neuen Browsertab und navigiert zur Google Chat-Entwicklerdokumentation unter https://developers.google.com/chat.

Farbe

Ermöglicht die Darstellung einer Farbe im RGBA-Farbraum. Diese Darstellung ist auf eine einfachere Konvertierung in und aus Farbdarstellungen in verschiedenen Sprachen statt auf Kompaktheit ausgelegt. Die Felder dieser Darstellung können beispielsweise dem Konstruktor von java.awt.Color in Java einfach zur Verfügung gestellt werden. Sie können auch problemlos an die Methode +colorWithRed:green:blue:alpha von UIColor in iOS übergeben werden. Mit ein wenig Arbeit können sie in JavaScript als CSS-rgba()-String formatiert werden.

Diese Referenzseite enthält keine Informationen zum absoluten Farbraum, der zur Interpretation des RGB-Werts verwendet werden sollte, z. B. sRGB, Adobe RGB, DCI-P3 und BT.2020. Standardmäßig sollte für Anwendungen der sRGB-Farbraum verwendet werden.

Wenn eine Farbgleichheit entschieden werden muss, behandeln Implementierungen, sofern nicht anders angegeben, zwei Farben als gleich, wenn sich alle ihre Rot-, Grün-, Blau- und Alpha-Werte jeweils um höchstens 1e-5 unterscheiden.

Beispiel (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();
 }
 // ...

Beispiel (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;
}
// ...

Beispiel (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-Darstellung
{
  "red": number,
  "green": number,
  "blue": number,
  "alpha": number
}
Felder
red

number

Der Rotanteil der Farbe als Wert im Intervall [0, 1].

green

number

Der Grünanteil der Farbe als Wert im Intervall [0, 1].

blue

number

Der Blauanteil der Farbe als Wert im Intervall [0, 1].

alpha

number

Der Anteil dieser Farbe, der auf den Pixel angewendet werden soll. Die endgültige Pixelfarbe wird durch folgende Gleichung definiert:

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

Der Wert 1,0 entspricht einer soliden Farbdarstellung, während die Farbe bei einem Wert von 0,0 vollständig transparent ist. Dabei wird anstelle eines einfachen Float-Skalarwerts eine Wrapper-Nachricht verwendet, sodass zwischen einem Standardwert und dem zurückgesetzten Wert unterschieden werden kann. Wenn dieses Farbobjekt nicht angegeben wird, wird es als Vollton dargestellt, als ob dem Alpha-Wert explizit der Wert 1,0 gegeben worden wäre.

SwitchControl

Entweder ein Ein-/Aus-Schalter oder ein Kästchen in einem decoratedText-Widget.

Wird nur im decoratedText-Widget unterstützt.

JSON-Darstellung
{
  "name": string,
  "value": string,
  "selected": boolean,
  "onChangeAction": {
    object (Action)
  },
  "controlType": enum (ControlType)
}
Felder
name

string

Der Name, durch den das Schalter-Widget in einem Formulareingabeereignis identifiziert wird.

Weitere Informationen zum Arbeiten mit Formulareingaben finden Sie unter Formulardaten empfangen.

value

string

Der von einem Nutzer eingegebene Wert, der als Teil eines Formulareingabeereignisses zurückgegeben wird.

Weitere Informationen zum Arbeiten mit Formulareingaben finden Sie unter Formulardaten empfangen.

selected

boolean

Wenn true ausgewählt ist, ist der Schalter ausgewählt.

onChangeAction

object (Action)

Die auszuführende Aktion, wenn sich der Schalterstatus ändert, z. B. die auszuführende Funktion.

controlType

enum (ControlType)

Wie der Schalter in der Benutzeroberfläche angezeigt wird

Steuerelementtyp

Wie der Schalter in der Benutzeroberfläche angezeigt wird

Enums
SWITCH Ein Umschalter.
CHECKBOX Zugunsten von CHECK_BOX verworfen.
CHECK_BOX Ein Kästchen.

Schaltflächenliste

Eine Liste horizontal angeordneter Schaltflächen. Ein Beispiel in Google Chat-Apps finden Sie unter Schaltflächenliste.

JSON-Darstellung
{
  "buttons": [
    {
      object (Button)
    }
  ]
}
Felder
buttons[]

object (Button)

Ein Array mit Schaltflächen.

TextInput

Ein Feld, in das Benutzer Text eingeben können. Unterstützt Vorschläge und Aktionen bei Änderung. Ein Beispiel in Google Chat-Apps finden Sie unter Texteingabe.

Chat-Apps empfangen den Wert des eingegebenen Textes und können ihn während der Eingabe im Formular verarbeiten. Weitere Informationen zum Arbeiten mit Formulareingaben finden Sie unter Formulardaten empfangen.

Wenn Sie undefinierte oder abstrakte Daten von Nutzern erfassen müssen, verwenden Sie eine Texteingabe. Verwenden Sie das SelectionInput-Widget, um definierte oder Aufzählungsdaten von Nutzern zu erfassen.

JSON-Darstellung
{
  "name": string,
  "label": string,
  "hintText": string,
  "value": string,
  "type": enum (Type),
  "onChangeAction": {
    object (Action)
  },
  "initialSuggestions": {
    object (Suggestions)
  },
  "autoCompleteAction": {
    object (Action)
  },
  "placeholderText": string
}
Felder
name

string

Der Name, anhand dessen die Texteingabe in einem Formulareingabeereignis identifiziert wird.

Weitere Informationen zum Arbeiten mit Formulareingaben finden Sie unter Formulardaten empfangen.

label

string

Der Text, der in der Benutzeroberfläche über dem Texteingabefeld angezeigt wird.

Geben Sie Text an, mit dem der Nutzer die Informationen eingeben kann, die Ihre App benötigt. Wenn Sie beispielsweise nach dem Namen einer Person fragen, aber ausdrücklich nach ihrem Nachnamen suchen, schreiben Sie surname anstelle von name.

Erforderlich, wenn hintText nicht angegeben ist. Optional.

hintText

string

Text, der unterhalb des Texteingabefelds erscheint und Nutzende zur Eingabe eines bestimmten Werts auffordert. Dieser Text ist immer sichtbar.

Erforderlich, wenn label nicht angegeben ist. Optional.

value

string

Der von einem Nutzer eingegebene Wert, der als Teil eines Formulareingabeereignisses zurückgegeben wird.

Weitere Informationen zum Arbeiten mit Formulareingaben finden Sie unter Formulardaten empfangen.

type

enum (Type)

Wie ein Texteingabefeld in der Benutzeroberfläche angezeigt wird. Geben Sie beispielsweise an, ob das Feld einzeilig oder mehrzeilig ist.

onChangeAction

object (Action)

Vorgehensweise bei einer Änderung im Texteingabefeld Das kann beispielsweise der Fall sein, wenn ein Nutzer etwas in ein Feld einfügt oder Text löscht.

Beispiele für Aktionen sind das Ausführen einer benutzerdefinierten Funktion oder das Öffnen eines Dialogfelds in Google Chat.

initialSuggestions

object (Suggestions)

Vorgeschlagene Werte, die Nutzer eingeben können. Diese Werte werden angezeigt, wenn Benutzer in das Texteingabefeld klicken. Während der Eingabe werden die vorgeschlagenen Werte dynamisch gefiltert, damit sie dem entsprechen, was sie eingegeben haben.

Ein Texteingabefeld für eine Programmiersprache kann beispielsweise Java, JavaScript, Python und C++ vorschlagen. Wenn Nutzer beginnen, Jav einzugeben, wird die Liste der Vorschläge so gefiltert, dass nur Java und JavaScript angezeigt werden.

Vorgeschlagene Werte helfen Nutzern dabei, Werte einzugeben, die Ihre App verständlich ist. Wenn von JavaScript verwiesen wird, geben einige Nutzer möglicherweise javascript und andere java script ein. Durch den Vorschlag von JavaScript kann die Interaktion von Nutzern mit deiner App standardisiert werden.

Wenn angegeben, ist TextInput.type immer SINGLE_LINE, auch wenn es auf MULTIPLE_LINE gesetzt ist.

autoCompleteAction

object (Action)

Optional. Geben Sie an, welche Aktion ausgeführt werden soll, wenn das Texteingabefeld Nutzern Vorschläge macht, die damit interagieren.

Wenn nicht angegeben, werden die Vorschläge von initialSuggestions festgelegt und vom Client verarbeitet.

Wenn angegeben, führt die App die hier angegebene Aktion aus, z. B. das Ausführen einer benutzerdefinierten Funktion.

Unterstützt von Google Workspace-Add-ons, aber nicht von Google Chat-Apps.

placeholderText

string

Text, der im Texteingabefeld erscheint, wenn das Feld leer ist. Verwenden Sie diesen Text, um Nutzende zur Eingabe eines Werts aufzufordern. Beispiel: Enter a number from 0 to 100.

Von Google Chat-Apps unterstützt, aber nicht von Google Workspace-Add-ons.

Typ

Wie ein Texteingabefeld in der Benutzeroberfläche angezeigt wird. Geben Sie beispielsweise an, ob es sich um ein ein- oder mehrzeiliges Eingabefeld handelt.

Wenn initialSuggestions angegeben ist, ist type immer SINGLE_LINE, auch wenn MULTIPLE_LINE festgelegt ist.

Enums
SINGLE_LINE Das Texteingabefeld hat eine feste Höhe von einer Zeile.
MULTIPLE_LINE Das Texteingabefeld hat eine feste Höhe von mehreren Zeilen.

Vorschläge

Vorgeschlagene Werte, die Nutzer eingeben können. Diese Werte werden angezeigt, wenn Benutzer in das Texteingabefeld klicken. Während der Eingabe werden die vorgeschlagenen Werte dynamisch gefiltert, damit sie dem entsprechen, was sie eingegeben haben.

Ein Texteingabefeld für eine Programmiersprache kann beispielsweise Java, JavaScript, Python und C++ vorschlagen. Wenn Nutzer beginnen, Jav einzugeben, wird die Liste der Vorschläge gefiltert, um Java und JavaScript anzuzeigen.

Vorgeschlagene Werte helfen Nutzern dabei, Werte einzugeben, die Ihre App verständlich ist. Wenn von JavaScript verwiesen wird, geben einige Nutzer möglicherweise javascript und andere java script ein. Durch den Vorschlag von JavaScript kann die Interaktion von Nutzern mit deiner App standardisiert werden.

Wenn angegeben, ist TextInput.type immer SINGLE_LINE, auch wenn es auf MULTIPLE_LINE gesetzt ist.

JSON-Darstellung
{
  "items": [
    {
      object (SuggestionItem)
    }
  ]
}
Felder
items[]

object (SuggestionItem)

Eine Liste von Vorschlägen, die für automatisch vervollständigte Empfehlungen in Texteingabefeldern verwendet werden.

Vorschlagselement

Ein vorgeschlagener Wert, den Benutzer in ein Texteingabefeld eingeben können.

JSON-Darstellung
{

  // Union field content can be only one of the following:
  "text": string
  // End of list of possible types for union field content.
}
Felder

Union-Feld content.

Für content ist nur einer der folgenden Werte zulässig:

text

string

Der Wert einer vorgeschlagenen Eingabe für ein Texteingabefeld. Dies entspricht den Daten, die Nutzer selbst eingeben.

Auswahleingabe

Ein Widget, das ein oder mehrere UI-Elemente erstellt, die Benutzer auswählen können. Zum Beispiel ein Drop-down-Menü oder Kästchen. Sie können dieses Widget zum Erfassen von Daten verwenden, die vorhergesagt oder aufgezählt werden können. Ein Beispiel in Google Chat-Apps finden Sie unter Auswahleingabe.

Chat-Apps können den Wert von Elementen verarbeiten, die Nutzer auswählen oder eingeben. Weitere Informationen zum Arbeiten mit Formulareingaben finden Sie unter Formulardaten empfangen.

Verwenden Sie das TextInput-Widget, um nicht definierte oder abstrakte Daten von Nutzern zu erfassen.

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

  // 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.
}
Felder
name

string

Der Name, der die Auswahleingabe in einem Formulareingabeereignis identifiziert.

Weitere Informationen zum Arbeiten mit Formulareingaben finden Sie unter Formulardaten empfangen.

label

string

Der Text, der in der Benutzeroberfläche über dem Eingabefeld für die Auswahl angezeigt wird.

Geben Sie Text an, mit dem der Nutzer die Informationen eingeben kann, die Ihre App benötigt. Wenn Nutzer beispielsweise die Dringlichkeit eines Arbeitstickets aus einem Drop-down-Menü auswählen, kann das Label „Dringlichkeit“ oder „Dringlichkeit auswählen“ lauten.

type

enum (SelectionType)

Der Elementtyp, der Nutzern in einem SelectionInput-Widget angezeigt wird. Bei Auswahltypen werden verschiedene Arten von Interaktionen unterstützt. Nutzende können beispielsweise ein oder mehrere Kontrollkästchen auswählen, aber sie können nur einen Wert aus einem Dropdown-Menü auswählen.

items[]

object (SelectionItem)

Ein Array aus auswählbaren Elementen. Beispiel: ein Array mit Optionsfeldern oder Kontrollkästchen. Unterstützt bis zu 100 Artikel.

onChangeAction

object (Action)

Wenn angegeben, wird das Formular gesendet, wenn sich die Auswahl ändert. Falls nicht angegeben, müssen Sie eine separate Schaltfläche angeben, über die das Formular gesendet wird.

Weitere Informationen zum Arbeiten mit Formulareingaben finden Sie unter Formulardaten empfangen.

multiSelectMaxSelectedItems

integer

Bei Mehrfachauswahl-Menüs ist dies die maximale Anzahl von Elementen, die ein Nutzer auswählen kann. Der Mindestwert beträgt 1 Element. Wenn nicht angegeben, legen Sie 3 Elemente fest.

multiSelectMinQueryLength

integer

Bei Mehrfachauswahl-Menüs die Anzahl der Textzeichen, die ein Nutzer eingibt, bevor die Chat-App Abfragen ausführt und vorgeschlagene Elemente auf der Karte angezeigt werden.

Wenn Sie nichts angeben, legen Sie für statische Datenquellen 0 Zeichen und für externe Datenquellen 3 Zeichen fest.

Union-Feld multi_select_data_source. Nur Chat-Apps Bei einem Menü mit Mehrfachauswahl ist es der Typ der Datenquelle. Für multi_select_data_source ist nur einer der folgenden Werte zulässig:
externalDataSource

object (Action)

Eine externe Datenquelle, z. B. eine relationale Datenbank.

platformDataSource

object (PlatformDataSource)

Eine Datenquelle aus einer Google Workspace-Hostanwendung.

Auswahltyp

Das Format für die Elemente, die Nutzer auswählen können. Verschiedene Optionen unterstützen unterschiedliche Arten von Interaktionen. Nutzer können beispielsweise mehrere Kästchen auswählen, aber nur ein Element aus einem Drop-down-Menü auswählen.

Jede Auswahleingabe unterstützt einen Auswahltyp. Eine Kombination von Kästchen und Schaltern ist beispielsweise nicht möglich.

Enums
CHECK_BOX Eine Reihe von Kästchen. Nutzer können ein oder mehrere Kästchen auswählen.
RADIO_BUTTON Eine Reihe von Optionsfeldern Nutzer können ein Optionsfeld auswählen.
SWITCH Eine Reihe von Schaltern. Nutzer können einen oder mehrere Schalter aktivieren.
DROPDOWN Ein Drop-down-Menü. Nutzer können einen Eintrag aus dem Menü auswählen.
MULTI_SELECT

Von Chat-Apps unterstützt, aber nicht von Google Workspace-Add-ons.

Ein Mehrfachauswahl-Menü für statische oder dynamische Daten. In der Menüleiste können Nutzer ein oder mehrere Elemente auswählen. Benutzer können auch Werte eingeben, um dynamische Daten auszufüllen. Nutzer können beispielsweise mit der Eingabe des Namens eines Gruppenbereichs in Google Chat beginnen und das Widget schlägt automatisch den Gruppenbereich vor.

Wenn Sie Elemente für ein Mehrfachauswahl-Menü ausfüllen möchten, können Sie eine der folgenden Arten von Datenquellen verwenden:

  • Statische Daten: Elemente werden im Widget als SelectionItem-Objekte angegeben. Maximal 100 Elemente.
  • Google Workspace-Daten: Für Elemente werden Daten aus einer Google Workspace-Anwendung verwendet, z. B. Google Chat-Nutzer oder Gruppenbereiche.
  • Externe Daten: Die Elemente werden aus einer dynamischen externen Datenquelle gefüllt.

Beispiele für die Implementierung von Mehrfachauswahl-Menüs finden Sie auf der SelectionInput-Widget-Seite .

Auswahlelement

Ein Element, das Nutzer in einer Auswahleingabe auswählen können, z. B. ein Kästchen oder einen Schalter.

JSON-Darstellung
{
  "text": string,
  "value": string,
  "selected": boolean,
  "startIconUri": string,
  "bottomText": string
}
Felder
text

string

Der Text, der den Artikel für Nutzende identifiziert oder beschreibt.

value

string

Der mit diesem Element verknüpfte Wert. Der Client sollte diesen Wert als Formulareingabewert verwenden.

Weitere Informationen zum Arbeiten mit Formulareingaben finden Sie unter Formulardaten empfangen.

selected

boolean

Gibt an, ob das Element standardmäßig ausgewählt ist. Wenn die Auswahleingabe nur einen Wert akzeptiert (z. B. für Optionsfelder oder ein Dropdown-Menü), legen Sie dieses Feld nur für ein Element fest.

startIconUri

string

Bei Mehrfachauswahl-Menüs die URL für das Symbol, das neben dem Feld text des Elements angezeigt wird. Unterstützt PNG- und JPEG-Dateien. Muss eine HTTPS-URL sein. Beispiel: https://developers.google.com/chat/images/quickstart-app-avatar.png.

bottomText

string

Bei Mehrfachauswahl-Menüs eine Textbeschreibung oder ein Label, die bzw. das unter dem Feld text des Elements angezeigt wird.

Plattform-Datenquelle

Nur Chat-Apps Bei einem SelectionInput-Widget, das ein Mehrfachauswahlmenü verwendet, die Daten aus einer Google Workspace-Hostanwendung. Dient zum Ausfüllen der Elemente im Mehrfachauswahl-Menü.

JSON-Darstellung
{

  // 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.
}
Felder
Union-Feld data_source. Die Datenquelle. Für data_source ist nur einer der folgenden Werte zulässig:
commonDataSource

enum (CommonDataSource)

Für ein SelectionInput-Widget, das ein Mehrfachauswahl-Menü verwendet, eine Datenquelle, die von allen Google Workspace-Hostanwendungen freigegeben wird, z. B. Nutzer in einer Google Workspace-Organisation.

hostAppDataSource

object (HostAppDataSourceMarkup)

Eine Datenquelle, die nur für eine Google Workspace-Hostanwendung gilt, z. B. Gmail-E-Mails, Google Kalender-Termine oder Google Chat-Nachrichten.

CommonDataSource

Nur Chat-Apps Eine Datenquelle, die von allen Google Workspace-Hostanwendungen gemeinsam genutzt wird.

Enums
UNKNOWN Standardwert. Nicht verwenden.
USER

Eine Liste der Nutzer, die von der Google Workspace-Hostanwendung bereitgestellt werden. Wenn Sie beispielsweise Nutzer aus Google Chat als Quelle angeben möchten, verwenden Sie den Ressourcennamen des Nutzers.

Format: Nutzer/{Nutzer}

HostAppDataSourceMarkup

Nur Chat-Apps Bei einem SelectionInput-Widget, das ein Mehrfachauswahlmenü verwendet, eine Datenquelle aus einer Google Workspace-Hostanwendung.

JSON-Darstellung
{

  // 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.
}
Felder
Union-Feld data_source. Die Google Workspace-Anwendung, die Daten für ein Menü mit Mehrfachauswahl bezieht. Für data_source ist nur einer der folgenden Werte zulässig:
chatDataSource

object (ChatClientDataSourceMarkup)

Die Datenquelle ist Google Chat.

ChatClientDataSourceMarkup

Nur Chat-Apps Für ein SelectionInput-Widget, das ein Mehrfachauswahlmenü verwendet, eine Datenquelle aus Google Chat. Das kann z. B. eine Liste von Gruppenbereichen in Google Chat sein, in denen der Nutzer Mitglied ist.

JSON-Darstellung
{

  // Union field source can be only one of the following:
  "spaceDataSource": {
    object (SpaceDataSource)
  }
  // End of list of possible types for union field source.
}
Felder
Union-Feld source. Die Google Chat-Datenquelle. Für source ist nur einer der folgenden Werte zulässig:
spaceDataSource

object (SpaceDataSource)

Eine Datenquelle, die einen Google Chat-Bereich darstellt.

Format: Leerzeichen/{Leerzeichen}

SpaceDataSource

Eine Datenquelle, die einen Google Chat-Bereich darstellt.

Format: Leerzeichen/{Leerzeichen}

JSON-Darstellung
{
  "defaultToCurrentSpace": boolean
}
Felder
defaultToCurrentSpace

boolean

Bei true wird der Google Chat-Bereich der Karte als Standardauswahl verwendet. Der Standardwert ist false.

Datum/Uhrzeit-Auswahl

Damit können Nutzer ein Datum, eine Uhrzeit oder sowohl ein Datum als auch eine Uhrzeit eingeben. Ein Beispiel in Google Chat-Apps finden Sie unter Datum/Uhrzeit-Auswahl.

Benutzer können Text eingeben oder über die Auswahl Datum und Uhrzeit auswählen. Wenn Nutzer ein ungültiges Datum oder eine ungültige Uhrzeit eingeben, wird in der Auswahl ein Fehler angezeigt, der den Nutzer auffordert, die Informationen korrekt einzugeben.

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

string

Der Name, durch den die DateTimePicker in einem Formulareingabeereignis identifiziert wird.

Weitere Informationen zum Arbeiten mit Formulareingaben finden Sie unter Formulardaten empfangen.

label

string

Der Text, der Nutzende auffordert, ein Datum, eine Uhrzeit oder ein Datum und eine Uhrzeit einzugeben. Wenn Nutzer beispielsweise einen Termin vereinbaren, verwenden Sie ein Label wie Appointment date oder Appointment date and time.

type

enum (DateTimePickerType)

Gibt an, ob das Widget die Eingabe eines Datums, einer Uhrzeit oder des Datums und der Uhrzeit unterstützt.

valueMsEpoch

string (int64 format)

Der im Widget angezeigte Standardwert in Millisekunden seit der UNIX-Epoche.

Geben Sie den Wert basierend auf dem Auswahltyp (DateTimePickerType) an:

  • DATE_AND_TIME: ein Kalenderdatum und eine Kalenderzeit in UTC Wenn Sie beispielsweise den 1. Januar 2023 um 12:00 Uhr UTC darstellen möchten, verwenden Sie 1672574400000.
  • DATE_ONLY: ein Kalenderdatum um 00:00:00 UTC Wenn Sie beispielsweise den 1. Januar 2023 darstellen möchten, verwenden Sie 1672531200000.
  • TIME_ONLY: eine Zeit in UTC Wenn Sie beispielsweise 12:00 Uhr darstellen möchten, verwenden Sie 43200000 (oder 12 * 60 * 60 * 1000).
timezoneOffsetDate

integer

Die Zahl in Minuten, die den Zeitzonenunterschied zur koordinierten Weltzeit (UTC) angibt. Wenn festgelegt, wird valueMsEpoch in der angegebenen Zeitzone angezeigt. Wenn kein Wert festgelegt ist, wird standardmäßig die Zeitzone des Nutzers verwendet.

onChangeAction

object (Action)

Wird ausgelöst, wenn der Nutzer auf der DateTimePicker-Oberfläche auf Speichern oder Löschen klickt.

Datum/UhrzeitAuswahltyp

Das Format für Datum und Uhrzeit im DateTimePicker-Widget. Legt fest, ob Nutzer ein Datum, eine Uhrzeit oder sowohl ein Datum als auch eine Uhrzeit eingeben können.

Enums
DATE_AND_TIME Nutzer geben Datum und Uhrzeit ein.
DATE_ONLY Nutzer geben ein Datum ein.
TIME_ONLY Nutzer geben eine Uhrzeit ein.

Trennlinie

Dieser Typ hat keine Felder.

Trennt Widgets als horizontale Linie. Ein Beispiel in Google Chat-Apps finden Sie unter Fahrbahntrennung.

Mit der folgenden JSON-Datei wird beispielsweise eine Trennlinie erstellt:

"divider": {}

Raster

Zeigt ein Raster mit mehreren Elementen an. Elemente dürfen nur Text oder Bilder enthalten. Verwenden Sie Columns für responsive Spalten oder um mehr als Text oder Bilder einzufügen. Ein Beispiel in Google Chat-Apps finden Sie unter Raster.

Ein Raster unterstützt eine beliebige Anzahl von Spalten und Elementen. Die Anzahl der Zeilen wird durch die Anzahl der Elemente geteilt durch die Spalten bestimmt. Ein Raster mit 10 Elementen und 2 Spalten hat 5 Zeilen. Ein Raster mit 11 Elementen und 2 Spalten hat 6 Zeilen.

Mit der folgenden JSON-Datei wird beispielsweise ein zweispaltiges Raster mit einem einzelnen Element erstellt:

"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-Darstellung
{
  "title": string,
  "items": [
    {
      object (GridItem)
    }
  ],
  "borderStyle": {
    object (BorderStyle)
  },
  "columnCount": integer,
  "onClick": {
    object (OnClick)
  }
}
Felder
title

string

Der Text, der in der Rasterüberschrift angezeigt wird.

items[]

object (GridItem)

Die Elemente, die im Raster angezeigt werden sollen.

borderStyle

object (BorderStyle)

Der Rahmenstil, der auf jedes Rasterelement angewendet wird.

columnCount

integer

Die Anzahl der Spalten, die im Raster angezeigt werden. Wenn dieses Feld nicht angegeben ist, wird ein Standardwert verwendet. Er unterscheidet sich je nachdem, wo das Raster angezeigt wird (Dialogfeld oder Companion).

onClick

object (OnClick)

Dieser Callback wird von jedem einzelnen Rasterelement wiederverwendet, allerdings werden die ID und der Index des Elements aus der Elementliste zu den Callback-Parametern hinzugefügt.

Gitterposition

Stellt ein Element in einem Rasterlayout dar. Elemente können Text, ein Bild oder sowohl Text als auch ein Bild enthalten.

JSON-Darstellung
{
  "id": string,
  "image": {
    object (ImageComponent)
  },
  "title": string,
  "subtitle": string,
  "layout": enum (GridItemLayout)
}
Felder
id

string

Eine benutzerdefinierte Kennung für dieses Rasterelement. Diese Kennung wird in den onClick-Callback-Parametern des übergeordneten Rasters zurückgegeben.

image

object (ImageComponent)

Das Bild, das im Rasterelement angezeigt wird.

title

string

Der Titel des Rasterelements.

subtitle

string

Der Untertitel des Rasterelements.

layout

enum (GridItemLayout)

Das Layout, das für das Rasterelement verwendet werden soll.

ImageComponent

Stellt ein Bild dar.

JSON-Darstellung
{
  "imageUri": string,
  "altText": string,
  "cropStyle": {
    object (ImageCropStyle)
  },
  "borderStyle": {
    object (BorderStyle)
  }
}
Felder
imageUri

string

Die Bild-URL.

altText

string

Das Bedienungshilfen-Label für das Bild.

cropStyle

object (ImageCropStyle)

Der Zuschneidestil, der auf das Bild angewendet werden soll.

borderStyle

object (BorderStyle)

Der Rahmenstil, der auf das Bild angewendet werden soll.

BildZuschneiden

Stellt den Zuschneidestil dar, der auf ein Bild angewendet wird.

So wenden Sie beispielsweise ein Seitenverhältnis von 16:9 an:

cropStyle {
 "type": "RECTANGLE_CUSTOM",
 "aspectRatio": 16/9
}
JSON-Darstellung
{
  "type": enum (ImageCropType),
  "aspectRatio": number
}
Felder
type

enum (ImageCropType)

Der Zuschnitttyp.

aspectRatio

number

Das Seitenverhältnis, das verwendet werden soll, wenn der Zuschnitttyp RECTANGLE_CUSTOM ist.

So wenden Sie beispielsweise ein Seitenverhältnis von 16:9 an:

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

Bildzuschnitttyp

Stellt den Zuschneidestil dar, der auf ein Bild angewendet wird.

Enums
IMAGE_CROP_TYPE_UNSPECIFIED Nicht verwenden. Nicht angegeben
SQUARE Standardwert. Wendet einen quadratischen Ausschnitt an.
CIRCLE Wendet einen kreisförmigen Zuschnitt an.
RECTANGLE_CUSTOM Wendet einen rechteckigen Zuschnitt mit einem benutzerdefinierten Seitenverhältnis an. Legen Sie das benutzerdefinierte Seitenverhältnis mit aspectRatio fest.
RECTANGLE_4_3 Wendet einen rechteckigen Ausschnitt mit einem Seitenverhältnis von 4:3 an.

Rahmenstil

Die Stiloptionen für den Rahmen einer Karte oder eines Widgets, einschließlich Rahmentyp und -farbe.

JSON-Darstellung
{
  "type": enum (BorderType),
  "strokeColor": {
    object (Color)
  },
  "cornerRadius": integer
}
Felder
type

enum (BorderType)

Der Rahmentyp.

strokeColor

object (Color)

Die zu verwendenden Farben, wenn der Typ BORDER_TYPE_STROKE ist.

cornerRadius

integer

Der Eckenradius für die Rahmenlinie.

Rahmentyp

Stellt die Rahmentypen dar, die auf Widgets angewendet werden.

Enums
BORDER_TYPE_UNSPECIFIED Nicht verwenden. Nicht angegeben
NO_BORDER Standardwert. Kein Rahmen.
STROKE Umriss

GridItemLayout

Stellt die verschiedenen Layoutoptionen dar, die für ein Rasterelement verfügbar sind.

Enums
GRID_ITEM_LAYOUT_UNSPECIFIED Nicht verwenden. Nicht angegeben
TEXT_BELOW Titel und Untertitel werden unter dem Bild des Rasterelements angezeigt.
TEXT_ABOVE Titel und Untertitel werden über dem Bild des Rasterelements angezeigt.

Spalten

Das Columns-Widget zeigt bis zu zwei Spalten in einer Kartenmeldung oder einem Dialogfeld an. Sie können jeder Spalte Widgets hinzufügen. Die Widgets werden in der angegebenen Reihenfolge angezeigt. Ein Beispiel in Google Chat-Apps finden Sie unter Spalten.

Die Höhe jeder Spalte wird durch die höhere Spalte bestimmt. Wenn beispielsweise die erste Spalte höher als die zweite Spalte ist, haben beide Spalten die Höhe der ersten Spalte. Da jede Spalte eine unterschiedliche Anzahl von Widgets enthalten kann, können Sie keine Zeilen definieren oder Widgets zwischen den Spalten ausrichten.

Spalten werden nebeneinander angezeigt. Mit dem Feld HorizontalSizeStyle lässt sich die Breite jeder Spalte anpassen. Wenn die Bildschirmbreite des Nutzers zu schmal ist, wird die zweite Spalte umgebrochen unter der ersten:

  • Im Web wird die zweite Spalte umgebrochen, wenn die Bildschirmbreite maximal 480 Pixel beträgt.
  • Auf iOS-Geräten wird die zweite Spalte umgebrochen, wenn die Bildschirmbreite maximal 300 pt beträgt.
  • Auf Android-Geräten wird die zweite Spalte umgebrochen, wenn die Bildschirmbreite maximal 320 dp beträgt.

Wenn Sie mehr als zwei Spalten einschließen oder Zeilen verwenden möchten, verwenden Sie das Widget Grid.

Von Chat-Apps unterstützt, aber nicht von Google Workspace-Add-ons.

JSON-Darstellung
{
  "columnItems": [
    {
      object (Column)
    }
  ]
}
Felder
columnItems[]

object (Column)

Ein Array von Spalten. Sie können einer Karte oder einem Dialogfeld bis zu zwei Spalten hinzufügen.

Säulendiagramm

Eine Spalte.

JSON-Darstellung
{
  "horizontalSizeStyle": enum (HorizontalSizeStyle),
  "horizontalAlignment": enum (HorizontalAlignment),
  "verticalAlignment": enum (VerticalAlignment),
  "widgets": [
    {
      object (Widgets)
    }
  ]
}
Felder
horizontalSizeStyle

enum (HorizontalSizeStyle)

Gibt an, wie eine Spalte die Breite der Karte einnimmt.

horizontalAlignment

enum (HorizontalAlignment)

Gibt an, ob Widgets links, rechts oder in der Mitte einer Spalte ausgerichtet werden.

verticalAlignment

enum (VerticalAlignment)

Gibt an, ob Widgets am oberen oder unteren Rand oder in der Mitte einer Spalte ausgerichtet werden.

widgets[]

object (Widgets)

Ein Array von Widgets, die in einer Spalte enthalten sind. Widgets werden in der angegebenen Reihenfolge angezeigt.

HorizontalSizeStyle

Gibt an, wie eine Spalte die Breite der Karte einnimmt. Die Breite der einzelnen Spalten hängt sowohl von der HorizontalSizeStyle als auch von der Breite der Widgets innerhalb der Spalte ab.

Enums
HORIZONTAL_SIZE_STYLE_UNSPECIFIED Nicht verwenden. Nicht angegeben
FILL_AVAILABLE_SPACE Standardwert. Die Spalte füllt den verfügbaren Platz aus und nimmt bis zu 70% der Kartenbreite ein. Wenn beide Spalten auf FILL_AVAILABLE_SPACE gesetzt sind, füllt jede Spalte 50% des Bereichs aus.
FILL_MINIMUM_SPACE Die Spalte füllt so wenig Platz wie möglich und nicht mehr als 30% der Kartenbreite aus.

HorizontalAlignment (Horizontale Ausrichtung)

Gibt an, ob Widgets links, rechts oder in der Mitte einer Spalte ausgerichtet werden.

Enums
HORIZONTAL_ALIGNMENT_UNSPECIFIED Nicht verwenden. Nicht angegeben
START Standardwert. Richtet Widgets an der Startposition der Spalte aus. Bei rechtsläufigen Layouts wird es linksbündig ausgerichtet. Wird bei linksläufigen Layouts rechtsbündig ausgerichtet.
CENTER Richtet Widgets an der Mitte der Spalte aus.
END Richtet Widgets an der Endposition der Spalte aus. Bei rechtsläufigen Layouts werden Widgets rechtsbündig ausgerichtet. Bei linksläufigen Layouts werden Widgets linksbündig ausgerichtet.

Vertikale Ausrichtung

Gibt an, ob Widgets am oberen oder unteren Rand oder in der Mitte einer Spalte ausgerichtet werden.

Enums
VERTICAL_ALIGNMENT_UNSPECIFIED Nicht verwenden. Nicht angegeben
CENTER Standardwert. Richtet Widgets an der Mitte einer Spalte aus.
TOP Richtet Widgets am oberen Rand einer Spalte aus.
BOTTOM Richtet Widgets am unteren Rand einer Spalte aus.

Widgets

Die unterstützten Widgets, die Sie in eine Spalte aufnehmen können.

JSON-Darstellung
{

  // 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)
  }
  // End of list of possible types for union field data.
}
Felder

Union-Feld data.

Für data ist nur einer der folgenden Werte zulässig:

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.

Trennlinienart

Trennlinienstil einer Karte. Wird derzeit nur für die Trennung zwischen Kartenabschnitten verwendet.

Enums
DIVIDER_STYLE_UNSPECIFIED Nicht verwenden. Nicht angegeben
SOLID_DIVIDER Standardoption. Stellen Sie eine durchgängige Trennlinie zwischen den Abschnitten dar.
NO_DIVIDER Wenn festgelegt, werden keine Trennlinien zwischen Abschnitten gerendert.

Kartenaktion

Eine Kartenaktion ist die mit der Karte verknüpfte Aktion. Eine Rechnungskarte kann beispielsweise Aktionen wie das Löschen einer Rechnung oder das Senden einer Rechnung per E-Mail oder das Öffnen der Rechnung in einem Browser enthalten.

Wird von Chat-Apps nicht unterstützt.

JSON-Darstellung
{
  "actionLabel": string,
  "onClick": {
    object (OnClick)
  }
}
Felder
actionLabel

string

Das Label, das als Element im Aktionsmenü angezeigt wird.

onClick

object (OnClick)

Die Aktion onClick für diese Aufgabe.

CardFixedFooter

Eine dauerhafte (fixierte) Fußzeile, die unten auf der Karte angezeigt wird. Ein Beispiel in Google Chat-Apps finden Sie unter Kartenfußzeile.

Wenn Sie fixedFooter ohne Angabe von primaryButton oder secondaryButton festlegen, verursacht dies einen Fehler.

Unterstützt von Google Workspace-Add-ons und Chat-Apps. Für Chat-Apps können Sie feste Fußzeilen in Dialogfeldern verwenden, aber keine Kartennachrichten.

JSON-Darstellung
{
  "primaryButton": {
    object (Button)
  },
  "secondaryButton": {
    object (Button)
  }
}
Felder
primaryButton

object (Button)

Die Hauptschaltfläche der festen Fußzeile. Bei der Schaltfläche muss es sich um eine Textschaltfläche mit Text- und Farbeinstellung handeln.

secondaryButton

object (Button)

Die sekundäre Schaltfläche der festen Fußzeile. Bei der Schaltfläche muss es sich um eine Textschaltfläche mit Text- und Farbeinstellung handeln. Wenn secondaryButton festgelegt ist, müssen Sie auch primaryButton festlegen.

Darstellungsart

Legt in Google Workspace-Add-ons fest, wie eine Karte angezeigt wird.

Wird von Chat-Apps nicht unterstützt.

Enums
DISPLAY_STYLE_UNSPECIFIED Nicht verwenden. Nicht angegeben
PEEK Die Kopfzeile der Karte erscheint unten in der Seitenleiste und bedeckt teilweise die aktuelle obere Karte des Stapels. Durch Klicken auf die Überschrift wird die Karte in den Kartenstapel verschoben. Wenn die Karte keinen Header hat, wird stattdessen ein generierter Header verwendet.
REPLACE Standardwert. Die Karte wird angezeigt, indem die Ansicht der obersten Karte im Kartenstapel ersetzt wird.