Cards v2

Infokarte

Eine Karte, die in einer Google Chat-Nachricht oder einem Google Workspace-Add-on angezeigt wird

Karten unterstützen ein festgelegtes Layout, interaktive UI-Elemente wie Schaltflächen und Rich Media wie Bilder. Verwenden Sie Karten, um detaillierte Informationen zu präsentieren, Informationen von Nutzern zu erfassen und sie bei den nächsten Schritten zu unterstützen.

Entwerfen Sie Karten mit dem Card Builder und zeigen Sie Vorschauen an.

Card Builder öffnen

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 den folgenden JSON-Code, 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/workspace/chat/images/quickstart-app-avatar.png",
           "imageType": "CIRCLE",
           "imageAltText": "Avatar for Sasha"
         },
         "sections": [
           {
             "header": "Contact Info",
             "collapsible": true,
             "uncollapsibleWidgetsCount": 1,
             "widgets": [
               {
                 "decoratedText": {
                   "startIcon": {
                     "knownIcon": "EMAIL"
                   },
                   "text": "sasha@example.com"
                 }
               },
               {
                 "decoratedText": {
                   "startIcon": {
                     "knownIcon": "PERSON"
                   },
                   "text": "<font color=\"#80e27e\">Online</font>"
                 }
               },
               {
                 "decoratedText": {
                   "startIcon": {
                     "knownIcon": "PHONE"
                   },
                   "text": "+1 (555) 555-1234"
                 }
               },
               {
                 "buttonList": {
                   "buttons": [
                     {
                       "text": "Share",
                       "onClick": {
                        "openLink": {
                           "url": "https://example.com/share"
                         }
                       }
                     },
                     {
                       "text": "Edit",
                       "onClick": {
                         "action": {
                           "function": "goToView",
                           "parameters": [
                             {
                               "key": "viewType",
                               "value": "EDIT"
                             }
                           ]
                         }
                       }
                     }
                   ]
                 }
               }
             ]
           }
         ]
       }
    }
  ]
}
JSON-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 Kopfzeile der Karte. Ein Header enthält in der Regel ein Vorschaubild und einen Titel. Überschriften werden immer oben auf einer Karte angezeigt.

sections[]

object (Section)

Enthält eine Sammlung von Widgets. Jeder Abschnitt hat eine eigene, optionale Kopfzeile. Abschnitte sind durch eine Trennlinie visuell voneinander getrennt. Ein Beispiel für Google Chat-Apps finden Sie unter Bereich einer Karte definieren.

sectionDividerStyle

enum (DividerStyle)

Der Trennungsstil zwischen Kopfzeile, Abschnitten und Fußzeile.

cardActions[]

object (CardAction)

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

Verfügbar für Google Workspace-Add-ons, nicht für Google Chat-Apps.

Im folgenden JSON-Code 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 als Karten-ID in der Kartennavigation verwendet.

Verfügbar für Google Workspace-Add-ons, nicht für Google Chat-Apps.

displayStyle

enum (DisplayStyle)

Hier legen Sie in Google Workspace Add-ons die Anzeigeeigenschaften der peekCardHeader fest.

Verfügbar für Google Workspace-Add-ons und nicht für Google Chat-Apps.

peekCardHeader

object (CardHeader)

Bei der Anzeige von kontextbezogenen Inhalten fungiert der Header der Peek-Karte als Platzhalter, sodass der Nutzer zwischen den Startseiten- und den Kontextkarten vorwärts navigieren kann.

Verfügbar für Google Workspace-Add-ons und nicht für Google Chat-Apps.

CardHeader

Stellt eine Kartenüberschrift dar. Ein Beispiel für Google Chat-Apps finden Sie unter Überschrift hinzufügen.

Verfügbar für Google Chat-Apps und Google Workspace-Add-ons.

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 eine Unterüberschrift angegeben sind, belegt jede eine Zeile. Wenn nur der Titel angegeben ist, werden beide Zeilen ausgefüllt.

subtitle

string

Der Untertitel der Kartenüberschrift. Falls angegeben, wird es in einer eigenen Zeile unterhalb des title-Elements angezeigt.

imageType

enum (ImageType)

Die Form, mit der das Bild zugeschnitten wird.

Verfügbar für Google Chat-Apps und Google Workspace-Add-ons.

imageUrl

string

Die HTTPS-URL des Bildes in der Kartenüberschrift.

imageAltText

string

Der alternative Text dieses Bildes, der als Bedienungshilfe verwendet wird.

ImageType

Die Form, mit der das Bild zugeschnitten wird.

Verfügbar für Google Chat-Apps und Google Workspace-Add-ons.

Enums
SQUARE Standardwert. Wendet eine quadratische Maske auf das Bild an. Ein Bild mit 4:3 wird beispielsweise zu 3:3.
CIRCLE Wendet eine runde Maske auf das Bild an. Beispielsweise wird ein 4x3-Bild zu einem Kreis mit einem Durchmesser von 3.

Abschnitt

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

Verfügbar für Google Chat-Apps und Google Workspace-Add-ons.

JSON-Darstellung
{
  "header": string,
  "widgets": [
    {
      object (Widget)
    }
  ],
  "collapsible": boolean,
  "uncollapsibleWidgetsCount": integer,
  "collapseControl": {
    object (CollapseControl)
  }
}
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-Apps formatieren und Text in Google Workspace-Add-ons formatieren.

widgets[]

object (Widget)

Alle Widgets im Abschnitt. Muss mindestens ein Widget enthalten.

collapsible

boolean

Gibt an, ob dieser Bereich minimierbar ist.

Minimierbare Abschnitte blenden einige oder alle Widgets aus. Nutzer können den Bereich aber maximieren, um die ausgeblendeten Widgets einzublenden, indem sie auf Mehr anzeigen klicken. Nutzer können die Widgets durch Klicken auf Weniger anzeigen wieder ausblenden.

Geben Sie uncollapsibleWidgetsCount an, um festzustellen, welche Widgets ausgeblendet sind.

uncollapsibleWidgetsCount

integer

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

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

collapseControl

object (CollapseControl)

Optional. Legen Sie die Schaltfläche zum Maximieren/Minimieren des Bereichs fest. Diese Schaltfläche wird nur angezeigt, wenn der Bereich minimierbar ist. Wenn dieses Feld nicht festgelegt ist, wird die Standardschaltfläche verwendet. Verfügbar für Google Chat-Apps, nicht für Google Workspace-Add-ons.

Widget

Jede Karte besteht aus Widgets.

Ein Widget ist ein zusammengesetztes Objekt, das Text, Bilder, Schaltflächen und 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)
  },
  "chipList": {
    object (ChipList)
  }
  // End of list of possible types for union field data.
}
Felder
horizontalAlignment

enum (HorizontalAlignment)

Gibt an, ob Widgets links, rechts oder mittig in 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. data darf nur einen der folgenden Werte haben:
textParagraph

object (TextParagraph)

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

Mit dem folgenden JSON-Code wird beispielsweise fett formatierter Text erstellt:

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

object (Image)

Zeigt ein Bild an.

Die folgende JSON-Datei erstellt beispielsweise ein Bild mit alternativem Text:

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

object (DecoratedText)

Zeigt einen dekorierten Textgegenstand an.

Mit der folgenden JSON-Datei 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 dem folgenden JSON-Code werden beispielsweise zwei Schaltflächen erstellt. Die erste ist eine blaue Textschaltfläche und die zweite eine Bildschaltfläche, die einen Link öffnet:

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

Ein Textfeld, in das Nutzer etwas eingeben können.

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

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

Als weiteres Beispiel erstellt die folgende JSON-Datei eine Texteingabe für eine Programmiersprache mit statischen Vorschlägen:

"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 dem folgenden JSON-Code wird beispielsweise ein Drop-down-Menü erstellt, über das 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, über das Nutzer ein Datum, eine Uhrzeit oder ein Datum und eine Uhrzeit eingeben können.

Mit der folgenden JSON-Datei wird beispielsweise eine Datums-/Uhrzeitauswahl zum Planen eines Termins erstellt:

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

object (Divider)

Zeigt eine horizontale Trennlinie zwischen den Widgets an.

Die folgende JSON-Datei erstellt beispielsweise eine Trennlinie:

"divider": {
}
grid

object (Grid)

Ein Raster mit einer Sammlung von Elementen.

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.

Verfügbar für Google Chat-Apps und Google Workspace-Add-ons.

Mit dem folgenden JSON-Code wird beispielsweise ein Raster mit zwei Spalten und 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 werden bis zu zwei Spalten angezeigt.

Wenn Sie mehr als zwei Spalten einbeziehen oder Zeilen verwenden möchten, verwenden Sie das Grid-Widget.

Mit dem folgenden JSON-Code 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"
          }
        }
      ]
    }
  ]
}
chipList

object (ChipList)

Eine Liste mit Chips.

Mit der folgenden JSON-Datei werden beispielsweise zwei Chips erstellt. Der erste ist ein Textchip und der zweite ein Symbolchip, über den ein Link geöffnet wird:

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

Verfügbar für Google Chat-Apps und nicht für Google Workspace-Add-ons.

TextParagraph

Ein Textabsatz, der die Formatierung unterstützt. Ein Beispiel für Google Chat-Apps finden Sie unter Absatz mit formatiertem Text hinzufügen. Weitere Informationen zum Formatieren von Text finden Sie unter Text in Google Chat-Apps formatieren und Text in Google Workspace-Add-ons formatieren.

Verfügbar für Google Chat-Apps und Google Workspace-Add-ons.

JSON-Darstellung
{
  "text": string,
  "maxLines": integer
}
Felder
text

string

Der Text, der im Widget angezeigt wird.

maxLines

integer

Die maximale Anzahl von Textzeilen, die im Widget angezeigt werden. Wenn der Text die angegebene maximale Zeilenanzahl überschreitet, wird der überschüssige Inhalt hinter der Schaltfläche Mehr anzeigen verborgen. Wenn der Text der angegebenen maximalen Anzahl von Zeilen entspricht oder kürzer ist, wird die Schaltfläche Mehr anzeigen nicht angezeigt.

Der Standardwert ist 0, sodass der gesamte Kontext angezeigt wird. Negative Werte werden ignoriert. Verfügbar für Google Chat-Apps und nicht für Google Workspace-Add-ons.

Bild

Ein Bild, das durch eine URL angegeben wird und eine onClick-Aktion haben kann. Ein Beispiel finden Sie unter Bild hinzufügen.

Verfügbar für Google Chat-Apps und Google Workspace-Add-ons.

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

string

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

Beispiel:

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

object (OnClick)

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

altText

string

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

OnClick

Gibt an, wie reagiert werden soll, wenn Nutzer auf ein interaktives Element auf einer Karte klicken, z. B. auf eine Schaltfläche.

Verfügbar für Google Chat-Apps und Google Workspace-Add-ons.

JSON-Darstellung
{

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

Union-Feld data.

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

action

object (Action)

Wenn angegeben, wird eine Aktion von diesem onClick ausgelöst.

card

object (Card)

Wenn angegeben, wird nach dem Klicken eine neue Karte in den Stapel verschoben.

Verfügbar für Google Workspace-Add-ons, nicht für Google Chat-Apps.

overflowMenu

object (OverflowMenu)

Wenn angegeben, wird dadurch ein Dreipunkt-Menü geöffnet.onClick Verfügbar für Google Chat-Apps und nicht für Google Workspace-Add-ons.

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. Wenn die Aktion ausgelöst wird, werden die Formularwerte an den Server gesendet.

Verfügbar für Google Chat-Apps und Google Workspace-Add-ons.

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

string

Eine benutzerdefinierte Funktion, die aufgerufen wird, wenn auf das enthaltene Element geklickt oder es anderweitig aktiviert wird.

Anwendungsbeispiele finden Sie unter Formulardaten lesen.

parameters[]

object (ActionParameter)

Liste der Aktionsparameter.

loadIndicator

enum (LoadIndicator)

Gibt die Fortschrittsanzeige an, die während der Ausführung der Aktion angezeigt wird.

persistValues

boolean

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

Bei true bleiben die Formularwerte nach dem Auslösen der Aktion erhalten. Wenn der Nutzer während der Verarbeitung der Aktion Änderungen vornehmen soll, legen Sie für LoadIndicator den Wert NONE fest. Bei Kartennachrichten in Chat-Apps müssen Sie außerdem die ResponseType der Aktion auf UPDATE_MESSAGE festlegen und dieselbe cardId aus der Karte verwenden, die die Aktion enthält.

Bei false werden die Formularwerte gelöscht, wenn die Aktion ausgelöst wird. Wenn der Nutzer während der Verarbeitung der Aktion keine Änderungen vornehmen soll, legen Sie LoadIndicator auf SPINNER fest.

interaction

enum (Interaction)

Optional. Erforderlich, wenn ein Dialogfeld geöffnet wird.

Was soll bei einer Interaktion mit einem Nutzer passieren, z. B. wenn ein Nutzer auf eine Schaltfläche in einer Kartennachricht klickt?

Wird kein Wert angegeben, führt die App wie gewohnt eine action aus, z. B. das Öffnen eines Links oder das Ausführen einer Funktion.

Durch Angabe eines interaction kann die App auf besondere interaktive Weise reagieren. Wenn Sie beispielsweise interaction auf OPEN_DIALOG festlegen, kann die App ein Dialogfeld öffnen. Wenn angegeben, wird keine Ladeanzeige angezeigt. Wenn dies für ein Add-on angegeben ist, wird die gesamte Karte entfernt und im Client wird nichts angezeigt.

Verfügbar für Google Chat-Apps, nicht für Google Workspace-Add-ons.

requiredWidgets[]

string

Optional. Füllen Sie diese Liste mit den Namen der Widgets, die diese Aktion für eine gültige Einreichung benötigt.

Wenn die hier aufgeführten Widgets beim Aufrufen dieser Aktion keinen Wert haben, wird die Formularübermittlung abgebrochen.

Verfügbar für Google Chat-Apps und Google Workspace-Add-ons.

allWidgetsAreRequired

boolean

Optional. Wenn dies wahr ist, werden alle Widgets von dieser Aktion als erforderlich angesehen.

Verfügbar für Google Chat-Apps und Google Workspace-Add-ons.

ActionParameter

Liste der Stringparameter, die beim Aufrufen der Aktionsmethode angegeben werden müssen. Angenommen, Sie haben drei Schlummertaste: „Jetzt“, „Einen Tag“ und „Nächste Woche“. Sie können action method = snooze() verwenden und den Schlummertyp und die Schlummerzeit in der Liste der Stringparameter übergeben.

Weitere Informationen findest du unter CommonEventObject.

Verfügbar für Google Chat-Apps und Google Workspace-Add-ons.

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

string

Der Name des Parameters für das Aktionsskript.

value

string

Wert des Parameters.

LoadIndicator

Gibt den Ladeindikator an, der angezeigt wird, während die Aktion ausgeführt wird.

Verfügbar für Google Chat-Apps und Google Workspace-Add-ons.

Enums
SPINNER Ein rotierendes Ladesymbol wird angezeigt, wenn der Inhalt geladen wird.
NONE Es wird nichts angezeigt.

Interaktion

Optional. Erforderlich, wenn ein Dialogfeld geöffnet wird.

Was als Reaktion auf eine Interaktion mit einem Nutzer geschehen soll, z. B. wenn ein Nutzer auf eine Schaltfläche in einer Kartennachricht klickt.

Wird kein Wert angegeben, führt die App wie gewohnt eine action aus, z. B. das Öffnen eines Links oder das Ausführen einer Funktion.

Durch Angabe eines interaction kann die App auf besondere interaktive Weise reagieren. Wenn Sie beispielsweise interaction auf OPEN_DIALOG setzen, kann die Anwendung ein Dialogfeld öffnen.

Wenn diese Option angegeben ist, wird keine Ladeanzeige angezeigt. Wenn für ein Add-on angegeben, wird die gesamte Karte entfernt und im Client wird nichts angezeigt.

Verfügbar für Google Chat-Apps, nicht für Google Workspace-Add-ons.

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

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

Wird nur von Chat-Apps als Reaktion auf Schaltflächenklicks auf Kartennachrichten unterstützt. Wenn für ein Add-on angegeben, wird die gesamte Karte entfernt und im Client wird nichts angezeigt.

Verfügbar für Google Chat-Apps, nicht für Google Workspace-Add-ons.

OpenAs

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

Verfügbar für Google Workspace-Add-ons und nicht für Google Chat-Apps.

Enums
FULL_SIZE Der Link wird in einem Fenster in Originalgröße geöffnet, sofern dies der vom Kunden verwendete Frame ist.
OVERLAY Der Link wird als Overlay geöffnet, z. B. als Pop-up.

OnClose

Aktion des Clients, wenn ein durch eine OnClick-Aktion geöffneter Link 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 OnOpen- als auch OnClose-Handler festgelegt sind und die Clientplattform beide Werte nicht unterstützt, hat OnClose Vorrang.

Verfügbar für Google Workspace-Add-ons, nicht für Google Chat-Apps.

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

Lädt die Karte neu, nachdem das untergeordnete Fenster geschlossen wurde.

Wenn das untergeordnete Fenster in Verbindung mit OpenAs.OVERLAY verwendet wird, fungiert es als modales Dialogfeld. Die übergeordnete Karte wird blockiert, bis das untergeordnete Fenster geschlossen wird.

OverflowMenu

Ein Widget, das ein Pop-up-Menü mit einer oder mehreren Aktionen anzeigt, die Nutzer aufrufen können. Beispiel: Anzeige von nicht primären Aktionen in einer Karte. Sie können dieses Widget verwenden, wenn Aktionen nicht in den verfügbaren Bereich passen. Geben Sie dieses Widget in der Aktion OnClick von Widgets an, die es unterstützen. Beispielsweise in einem Button.

Verfügbar für Google Chat-Apps, nicht für Google Workspace-Add-ons.

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

object (OverflowMenuItem)

Erforderlich. Die Liste der Menüoptionen.

OverflowMenuItem

Eine Option, die Nutzer in einem Dreipunkt-Menü aufrufen können.

Verfügbar für Google Chat-Apps, nicht für Google Workspace-Add-ons.

JSON-Darstellung
{
  "startIcon": {
    object (Icon)
  },
  "text": string,
  "onClick": {
    object (OnClick)
  },
  "disabled": boolean
}
Felder
startIcon

object (Icon)

Das Symbol, das vor dem Text angezeigt wird.

text

string

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

onClick

object (OnClick)

Erforderlich. Die Aktion, die ausgeführt wird, wenn eine Menüoption ausgewählt wird. Dieses OnClick darf kein OverflowMenu enthalten, ein angegebenes OverflowMenu wird gelöscht und der Menüpunkt deaktiviert.

disabled

boolean

Gibt an, ob die Menüoption deaktiviert ist. Die Standardeinstellung ist "false".

Symbol

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

Unterstützt integrierte und benutzerdefinierte Symbole.

Verfügbar für Google Chat-Apps und Google Workspace-Add-ons.

JSON-Darstellung
{
  "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.
}
Felder
altText

string

Optional. Eine Beschreibung des Symbols, das als Bedienungshilfe verwendet wird. Wenn keine Vorgabe erfolgt, wird der Standardwert Button angegeben. Als Best Practice sollten Sie eine hilfreiche Beschreibung dafür festlegen, was das Symbol darstellt und gegebenenfalls, was es bewirkt. 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/workspace/chat.

Wenn das Symbol in einem Button festgelegt ist, wird der altText als Hilfetext angezeigt, wenn der Nutzer den Mauszeiger auf die Schaltfläche bewegt. Wird über die Schaltfläche außerdem text festgelegt, wird der altText des Symbols ignoriert.

imageType

enum (ImageType)

Der auf das Bild angewendete Zuschnittsstil. In einigen Fällen wird das Bild durch das Zuschneiden mit CIRCLE größer als ein integriertes Symbol dargestellt.

Union-Feld icons. Das Symbol, das im Widget auf der Karte angezeigt wird. icons darf nur einen der folgenden Werte haben:
knownIcon

string

Rufen Sie eines der integrierten Symbole von Google Workspace auf.

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

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

iconUrl

string

Zeigt ein benutzerdefiniertes Symbol an, das unter einer HTTPS-URL gehostet wird.

Beispiel:

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

Zu den unterstützten Dateitypen gehören .png und .jpg.

materialIcon

object (MaterialIcon)

Zeige eines der Material-Symbole von Google an.

Wenn beispielsweise ein Kästchensymbol angezeigt werden soll, verwenden Sie

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

Verfügbar für Google Chat-Apps und nicht für Google Workspace-Add-ons.

MaterialIcon

Ein Google Material-Symbol mit über 2.500 Optionen.

Wenn beispielsweise ein Kästchensymbol mit benutzerdefinierter Gewichtung und Note angezeigt werden soll, schreiben Sie Folgendes:

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

Verfügbar für Google Chat-Apps, nicht für Google Workspace-Add-ons.

JSON-Darstellung
{
  "name": string,
  "fill": boolean,
  "weight": integer,
  "grade": integer
}
Felder
name

string

Der im Google Material-Symbol definierte Symbolname, z. B. check_box. Alle ungültigen Namen werden verworfen und durch einen leeren String ersetzt, was dazu führt, dass das Symbol nicht gerendert wird.

fill

boolean

Gibt an, ob das Symbol gefüllt wird. Der Standardwert ist "false".

Wenn Sie sich eine Vorschau verschiedener Symboleinstellungen ansehen möchten, rufen Sie Google Fonts-Symbole auf und passen Sie die Einstellungen unter Anpassen an.

weight

integer

Die Strichstärke des Symbols. Wählen Sie eine der folgenden Optionen aus: {100, 200, 300, 400, 500, 600, 700}. Wenn nicht vorhanden, ist der Standardwert 400. Wenn ein anderer Wert angegeben wird, wird der Standardwert verwendet.

Wenn Sie sich eine Vorschau verschiedener Symboleinstellungen ansehen möchten, rufen Sie Google Fonts-Symbole auf und passen Sie die Einstellungen unter Anpassen an.

grade

integer

Gewicht und Stärke wirken sich auf die Dicke eines Symbols aus. Anpassungen der Noten sind detaillierter als Anpassungen der Gewichtung und wirken sich nur geringfügig auf die Größe des Symbols aus. Wählen Sie {-25, 0, 200} aus. Wenn nicht vorhanden, ist der Standardwert 0. Wird ein anderer Wert angegeben, wird der Standardwert verwendet.

Eine Vorschau der verschiedenen Symboleinstellungen findest du unter Google-Schriftsymbole. Die entsprechenden Einstellungen kannst du unter Anpassen anpassen.

DecoratedText

Ein Widget, das Text mit optionalen Verzierungen wie einem Label über oder unter dem Text, einem Symbol vor dem Text, einem Auswahl-Widget oder einer Schaltfläche nach dem Text enthält. Ein Beispiel für Google Chat-Apps findest du unter Anzeigetext mit dekorativem Text.

Verfügbar für Google Chat-Apps und Google Workspace-Add-ons.

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)

Wurde zugunsten von startIcon verworfen.

startIcon

object (Icon)

Das Symbol, das vor dem Text angezeigt wird.

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-Apps formatieren und Text in Google Workspace-Add-ons formatieren.

wrapText

boolean

Die Einstellung für den Textumbruch. Bei true wird der Text umgebrochen und auf 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. Wird immer umgebrochen.

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 rechts neben dem Text im decoratedText-Widget angezeigt wird. control darf nur einen der folgenden Werte haben:
button

object (Button)

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

switchControl

object (SwitchControl)

Ein Schalter-Widget, auf das Nutzer klicken können, um den 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.

Schaltfläche

Text-, Symbol- oder Text- und Symbolschaltflächen, auf die Nutzende klicken können. Ein Beispiel für Google Chat-Apps finden Sie unter Schaltfläche hinzufügen.

Damit ein Bild zu einer anklickbaren Schaltfläche wird, musst du ein Image und kein ImageComponent angeben und eine onClick-Aktion festlegen.

Verfügbar für Google Chat-Apps und Google Workspace-Add-ons.

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

string

Der auf der Schaltfläche angezeigte Text.

icon

object (Icon)

Ein Symbol, das innerhalb der Schaltfläche angezeigt wird. Wenn sowohl icon als auch text festgelegt sind, wird das Symbol vor dem Text angezeigt.

color

object (Color)

Optional. Die Farbe der Schaltfläche. Ist dies der Fall, wird die Schaltfläche type auf FILLED gesetzt und die Farbe der Felder text und icon wird zur besseren Lesbarkeit auf eine Kontrastfarbe festgelegt. Wenn für die Schaltfläche beispielsweise Blau festgelegt ist, wird auch der gesamte Text und alle Symbole in der Schaltfläche weiß dargestellt.

Gib zum Festlegen der Farbe der Schaltfläche einen Wert für die Felder red, green und blue an. Der Wert muss eine Gleitkommazahl zwischen 0 und 1 sein, die auf dem RGB-Farbwert basiert. Dabei steht 0 (0/255) für das Fehlen von Farbe und 1 (255/255) für die maximale Intensität der Farbe.

Im folgenden Beispiel wird die Farbe beispielsweise auf Rot mit maximaler Intensität festgelegt:

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

Das Feld alpha ist für die Schaltflächenfarbe nicht verfügbar. Wenn angegeben, wird dieses Feld ignoriert.

onClick

object (OnClick)

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

disabled

boolean

Bei true wird die Schaltfläche in einem inaktiven Zustand angezeigt und reagiert nicht auf Nutzeraktionen.

altText

string

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

Legen Sie einen beschreibenden Text fest, der die Nutzer über die Funktion der Schaltfläche informiert. Wenn durch eine Schaltfläche beispielsweise ein Hyperlink geöffnet wird, könntest du Folgendes schreiben: „Öffnet einen neuen Browsertab und ruft die Google Chat-Entwicklerdokumentation unter https://developers.google.com/workspace/chat&quot; auf.

type

enum (Type)

Optional. Der Typ einer Schaltfläche. Wenn kein Wert festgelegt ist, wird standardmäßig der Schaltflächentyp OUTLINED verwendet. Wenn das Feld color festgelegt ist, wird der Schaltflächentyp auf FILLED gesetzt und jeder für dieses Feld festgelegte Wert wird ignoriert.

Verfügbar für Google Chat-Apps und nicht für Google Workspace-Add-ons.

Farbe

Ermöglicht die Darstellung einer Farbe im RGBA-Farbraum. Diese Darstellung ist auf die einfache Konvertierung in und aus Farbdarstellungen in verschiedenen Sprachen statt auf Kompaktheit ausgelegt. Die Felder dieser Darstellung können beispielsweise einfach für den Konstruktor von java.awt.Color in Java bereitgestellt werden. Sie können sie aber auch einfach für die Methode +colorWithRed:green:blue:alpha von UIColor in iOS bereitstellen und mit wenig Aufwand in JavaScript als CSS-String rgba() formatieren.

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 in Anwendungen der sRGB-Farbraum verwendet werden.

Wenn entschieden werden muss, ob zwei Farben gleich sind, behandeln Implementierungen, sofern nicht anders dokumentiert, zwei Farben als gleich, wenn sich alle Rot-, Grün-, Blau- und Alphawerte 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 nicht angegeben, wird das Farbobjekt als Volltonfarbe dargestellt (als ob für den Alphawert explizit 1,0 angegeben worden wäre).

Typ

Optional. Der Typ einer Schaltfläche. Wenn das Feld color festgelegt ist, wird type auf FILLED gesetzt.

Verfügbar für Google Chat-Apps und nicht für Google Workspace-Add-ons.

Enums
TYPE_UNSPECIFIED Nicht verwenden. Nicht angegeben
OUTLINED Umrissene Schaltflächen sind Schaltflächen mit mittlerer Betonung. Sie enthalten in der Regel Aktionen, die wichtig sind, aber nicht die Hauptaktion in einer Chat-App oder einem Add-on sind.
FILLED Eine ausgefüllte Schaltfläche hat einen Container mit einer Volltonfarbe. Sie hat die größte visuelle Wirkung und wird für die wichtige und primäre Aktion in einer Chat-App oder einem Add-on empfohlen.
FILLED_TONAL Eine gefüllte Schaltfläche mit Farbton ist ein Mittelweg zwischen gefüllten und umrandeten Schaltflächen. Sie eignen sich in Situationen, in denen eine Schaltfläche mit niedrigerer Priorität etwas stärker hervorgehoben werden muss als bei einer Schaltfläche mit Umriss.
BORDERLESS Im Standardzustand hat eine Schaltfläche keinen unsichtbaren Container. Sie wird häufig für Aktionen mit der niedrigsten Priorität verwendet, insbesondere wenn mehrere Optionen angezeigt werden.

SwitchControl

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

Verfügbar für Google Chat-Apps und Google Workspace-Add-ons.

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, mit dem das Schalter-Widget in einem Ereignis für die Formulareingabe identifiziert wird.

Weitere Informationen zum Arbeiten mit Formularinputs 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 Formularinputs finden Sie unter Formulardaten empfangen.

selected

boolean

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

onChangeAction

object (Action)

Die auszuführende Aktion, wenn der Schalterstatus geändert wird, z. B. welche Funktion ausgeführt werden soll.

controlType

enum (ControlType)

Wie der Schalter in der Benutzeroberfläche angezeigt wird.

Verfügbar für Google Chat-Apps und Google Workspace-Add-ons.

ControlType

Wie der Schalter in der Benutzeroberfläche angezeigt wird.

Verfügbar für Google Chat-Apps und Google Workspace-Add-ons.

Enums
SWITCH Ein Schalter
CHECKBOX Wurde zugunsten von CHECK_BOX verworfen.
CHECK_BOX Ein Kästchen.

ButtonList

Eine Liste von Schaltflächen, die horizontal angeordnet sind. Ein Beispiel für Google Chat-Apps findest du unter Schaltfläche hinzufügen.

Verfügbar für Google Chat-Apps und Google Workspace-Add-ons.

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

object (Button)

Ein Array von Schaltflächen.

TextInput

Ein Feld, in das Nutzer Text eingeben können. Unterstützt Vorschläge und Aktionen bei Änderungen. Ein Beispiel für Google Chat-Apps findest du unter Feld hinzufügen, in das ein Nutzer Text eingeben kann.

Chat-Apps empfangen den Wert des eingegebenen Texts während Formulareingabeereignissen und können ihn verarbeiten. Weitere Informationen zum Arbeiten mit Formularinputs finden Sie unter Formulardaten empfangen.

Wenn Sie nicht definierte oder abstrakte Daten von Nutzern erheben möchten, verwenden Sie eine Texteingabe. Wenn Sie definierte oder aufgezählte Daten von Nutzern erheben möchten, verwenden Sie das SelectionInput-Widget.

Verfügbar für Google Chat-Apps und Google Workspace-Add-ons.

JSON-Darstellung
{
  "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
}
Felder
name

string

Der Name, mit dem die Texteingabe in einem Formulareingabeereignis identifiziert wird.

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

label

string

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

Geben Sie Text ein, der dem Nutzer die Eingabe der Informationen erleichtert, die Ihre App benötigt. Wenn Sie beispielsweise nach dem Namen einer Person fragen, aber ausdrücklich den Nachnamen benötigen, geben Sie surname anstelle von name ein.

Erforderlich, wenn hintText nicht angegeben ist. Ansonsten optional.

hintText

string

Text, der unter dem Texteingabefeld erscheint und Nutzer auffordern soll, einen bestimmten Wert einzugeben. Dieser Text ist immer sichtbar.

Erforderlich, wenn label nicht angegeben ist. Andernfalls optional.

value

string

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

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

type

enum (Type)

Wie ein Texteingabefeld in der Benutzeroberfläche angezeigt wird. Beispielsweise, ob es sich um ein einzelnes oder ein mehrzeiliges Feld handelt.

onChangeAction

object (Action)

Was passiert, wenn sich etwas im Textfeld ändert? Beispiel: Ein Nutzer fügt dem Feld etwas hinzu oder löscht Text.

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 Nutzer in das Textfeld klicken. Während die Nutzer tippen, werden die vorgeschlagenen Werte dynamisch gefiltert, damit sie den Eingaben der Nutzer entsprechen.

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

Vorgeschlagene Werte helfen Nutzern, Werte einzugeben, die für Ihre App sinnvoll sind. Wenn es um JavaScript geht, geben einige Nutzer möglicherweise javascript ein, andere java script. Wenn du JavaScript vorschlägst, kannst du standardisieren, wie Nutzer mit deiner App interagieren.

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

Verfügbar für Google Chat-Apps und Google Workspace-Add-ons.

autoCompleteAction

object (Action)

Optional. Geben Sie an, welche Aktion ausgeführt werden soll, wenn das Texteingabefeld Vorschläge für Nutzer enthält, die damit interagieren.

Wenn kein Wert angegeben ist, 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.

Verfügbar für Google Workspace-Add-ons und nicht für Google Chat-Apps.

validation

object (Validation)

Geben Sie die für dieses Textfeld erforderliche Validierung an.

Verfügbar für Google Chat-Apps und Google Workspace-Add-ons.

placeholderText

string

Text, der im Texteingabefeld erscheint, wenn das Feld leer ist. Mit diesem Text werden Nutzer aufgefordert, einen Wert einzugeben. Beispiel: Enter a number from 0 to 100.

Verfügbar für Google Chat-Apps und nicht für Google Workspace-Add-ons.

Typ

Darstellung eines Texteingabefelds auf der Benutzeroberfläche. Beispielsweise, ob es sich um ein einzeiliges oder mehrzeiliges Eingabefeld handelt. Wenn initialSuggestions angegeben ist, ist type immer SINGLE_LINE, auch wenn es auf MULTIPLE_LINE gesetzt ist.

Verfügbar für Google Chat-Apps und Google Workspace-Add-ons.

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.

RenderActions

Eine Reihe von Anweisungen zum Rendern, die einer Karte oder der Add-on-Host-App oder der Chat-App vorgeben, eine appspezifische Aktion auszuführen.

Verfügbar für Google Chat-Apps und Google Workspace-Add-ons.

Felder
action

Action

Aktion

Felder
navigations[]

Navigation

Drücken oder aktualisieren Sie angezeigte Karten.

Fügen Sie dem Stapel eine neue Karte hinzu (vorwärts blättern). Für Chat-Apps nur für den App-Startbildschirm verfügbar

Verfügbar für Google Chat-Apps und Google Workspace-Add-ons.

navigations: {
  pushCard: CARD
}

Ersetzen Sie die oberste Karte durch eine neue. Bei Chat-Apps nur für den Startbildschirm der App verfügbar.

Verfügbar für Google Chat-Apps und Google Workspace-Add-ons.

navigations: {
  updateCard: CARD
}

Vorschläge

Vorgeschlagene Werte, die Nutzer eingeben können. Diese Werte werden angezeigt, wenn Nutzende in das Texteingabefeld klicken. Während die Nutzer tippen, werden die vorgeschlagenen Werte dynamisch gefiltert, damit sie den Eingaben der Nutzer entsprechen.

Ein Texteingabefeld für eine Programmiersprache könnte beispielsweise Java, JavaScript, Python und C++ vorschlagen. Wenn Nutzer mit der Eingabe von Jav beginnen, wird die Liste der Vorschläge so gefiltert, dass Java und JavaScript angezeigt werden.

Vorgeschlagene Werte helfen Nutzern, Werte einzugeben, die Ihre App verarbeiten kann. Wenn auf JavaScript verwiesen wird, geben einige Nutzer möglicherweise javascript und andere java script ein. Wenn du JavaScript vorschlägst, kannst du standardisieren, wie Nutzer mit deiner App interagieren.

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

Verfügbar für Google Chat-Apps und Google Workspace-Add-ons.

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

object (SuggestionItem)

Eine Liste mit Vorschlägen, die für Empfehlungen zur automatischen Vervollständigung in Texteingabefeldern verwendet werden.

SuggestionItem

Ein vorgeschlagener Wert, den Nutzer in ein Textfeld eingeben können.

Verfügbar für Google Chat-Apps und Google Workspace-Add-ons.

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.

content darf nur einen der folgenden Werte haben:

text

string

Der Wert einer vorgeschlagenen Eingabe in ein Texteingabefeld. Das entspricht dem, was Nutzer selbst eingeben.

Validierung

Stellt die erforderlichen Daten für die Validierung des Widgets dar, mit dem es verknüpft ist.

Verfügbar für Google Chat-Apps und Google Workspace-Add-ons.

JSON-Darstellung
{
  "characterLimit": integer,
  "inputType": enum (InputType)
}
Felder
characterLimit

integer

Geben Sie die Zeichenbeschränkung für Texteingabe-Widgets an. Beachten Sie, dass dies nur für die Texteingabe verwendet und bei anderen Widgets ignoriert wird.

Verfügbar für Google Chat-Apps und Google Workspace-Add-ons.

inputType

enum (InputType)

Geben Sie den Typ der Eingabe-Widgets an.

Verfügbar für Google Chat-Apps und Google Workspace-Add-ons.

InputType

Der Typ des Eingabe-Widgets.

Enums
INPUT_TYPE_UNSPECIFIED Nicht definierter Typ. Nicht verwenden.
TEXT Normaler Text, in dem alle Zeichen zulässig sind.
INTEGER Ein Ganzzahlwert.
FLOAT Ein Gleitkommawert.
EMAIL Eine E-Mail-Adresse.
EMOJI_PICKER Ein Emoji, das über die vom System bereitgestellte Emoji-Auswahl ausgewählt wurde.

SelectionInput

Ein Widget, das ein oder mehrere UI-Elemente erstellt, die Nutzer auswählen können. Beispiel: Drop-down-Menü oder Kästchen. Mit diesem Widget können Sie Daten erfassen, die vorhergesagt oder aufgezählt werden können. Ein Beispiel für Google Chat-Apps finden Sie unter Auswahlbare UI-Elemente hinzufügen.

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

Wenn Sie nicht definierte oder abstrakte Daten von Nutzern erheben möchten, verwenden Sie das TextInput-Widget.

Verfügbar für Google Chat-Apps und Google Workspace-Add-ons.

JSON-Darstellung
{
  "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.
}
Felder
name

string

Erforderlich. Der Name, der die Auswahleingabe in einem Formulareingabeereignis identifiziert.

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

label

string

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

Geben Sie Text an, der den Nutzern hilft, die für Ihre App erforderlichen Informationen einzugeben. Wenn Nutzer beispielsweise die Dringlichkeit eines geschäftlichen Tickets aus einem Drop-down-Menü auswählen, kann das Label „Dringlichkeit“ oder „Dringlichkeit auswählen“ lauten.

type

enum (SelectionType)

Die Art der Elemente, die Nutzern in einem SelectionInput-Widget angezeigt werden. Auswahltypen unterstützen verschiedene Arten von Interaktionen. Nutzer können beispielsweise ein oder mehrere Kästchen auswählen, aber nur einen Wert aus einem Drop-down-Menü auswählen.

items[]

object (SelectionItem)

Ein Array mit auswählbaren Elementen. Dies kann beispielsweise ein Array von Optionsfeldern oder Kästchen sein. Unterstützt bis zu 100 Artikel.

onChangeAction

object (Action)

Wenn Sie diese Option aktivieren, wird das Formular gesendet, wenn sich die Auswahl ändert. Andernfalls müssen Sie eine separate Schaltfläche angeben, über die das Formular gesendet wird.

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

multiSelectMaxSelectedItems

integer

Bei Menüs mit Mehrfachauswahl die maximale Anzahl von Elementen, die ein Nutzer auswählen kann. Der Mindestwert beträgt 1 Element. Wenn keine Vorgabe erfolgt, werden standardmäßig 3 Elemente verwendet.

multiSelectMinQueryLength

integer

Bei Menüs mit Mehrfachauswahl ist dies die Anzahl der Textzeichen, die ein Nutzer eingibt, bevor die App die automatische Vervollständigung abfragt und Vorschläge im Menü anzeigt.

Wenn kein Wert angegeben ist, wird standardmäßig 0 Zeichen für statische Datenquellen und 3 Zeichen für externe Datenquellen verwendet.

validation

object (Validation)

Für Drop-down-Menüs die Validierung für dieses Auswahleingabefeld.

Verfügbar für Google Chat-Apps und Google Workspace-Add-ons.

Union-Feld multi_select_data_source. Bei einem Mehrfachauswahl-Menü die Datenquelle, über die die Auswahlelemente gefüllt werden.

Verfügbar für Google Chat-Apps, nicht für Google Workspace-Add-ons. 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 Google Workspace.

SelectionType

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

Jede Auswahleingabe unterstützt einen Auswahltyp. Die Kombination von Kästchen und Schaltern wird beispielsweise nicht unterstützt.

Verfügbar für Google Chat-Apps und Google Workspace-Add-ons.

Enums
CHECK_BOX Eine Reihe von Kästchen. Nutzer können ein oder mehrere Kästchen auswählen.
RADIO_BUTTON Mehrere Optionsfelder. 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 Artikel aus dem Menü auswählen.
MULTI_SELECT

Ein Mehrfachauswahlmenü für statische oder dynamische Daten. In der Menüleiste wählen Nutzer ein oder mehrere Elemente aus. Nutzer können auch Werte eingeben, um dynamische Daten einzufügen. Wenn Nutzer beispielsweise den Namen eines Google Chat-Bereichs eingeben, wird dieser automatisch vom Widget vorgeschlagen.

Sie können eine der folgenden Datenquellen verwenden, um Elemente für ein Mehrfachauswahlmenü einzufügen:

  • Statische Daten: Elemente werden im Widget als SelectionItem-Objekte angegeben. Bis zu 100 Elemente.
  • Google Workspace-Daten: Elemente werden mit Daten aus Google Workspace wie Google Workspace-Nutzern oder Google Chat-Gruppenbereichen ausgefüllt.
  • Externe Daten: Elemente werden aus einer externen Datenquelle außerhalb von Google Workspace eingefügt.

Beispiele zum Implementieren von Menüs mit Mehrfachauswahl finden Sie unter Mehrfachauswahlmenü hinzufügen.

Verfügbar für Google Chat-Apps und Google Workspace-Add-ons.

SelectionItem

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

Verfügbar für Google Chat-Apps und Google Workspace-Add-ons.

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

string

Der Text, mit dem der Artikel für Nutzer identifiziert oder beschrieben wird.

value

string

Der mit diesem Element verknüpfte Wert. Der Kunde sollte diesen Wert als Formulareingabe verwenden.

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

selected

boolean

Gibt an, ob das Element standardmäßig ausgewählt ist. Wenn in der Auswahl nur ein Wert zulässig ist (z. B. für Optionsfelder oder ein Dropdown-Menü), legen Sie dieses Feld nur für ein Element fest.

startIconUri

string

Bei Menüs mit Mehrfachauswahl 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/workspace/chat/images/quickstart-app-avatar.png.

bottomText

string

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

PlatformDataSource

Bei einem SelectionInput-Widget mit Mehrfachauswahl-Menü eine Datenquelle aus Google Workspace. Wird verwendet, um Elemente in einem Menü mit Mehrfachauswahl einzufügen.

Verfügbar für Google Chat-Apps, nicht für Google Workspace-Add-ons.

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)

Eine Datenquelle, die von allen Google Workspace-Anwendungen freigegeben wird, z. B. Nutzern in einer Google Workspace-Organisation.

hostAppDataSource

object (HostAppDataSourceMarkup)

Eine Datenquelle, die nur für eine Google Workspace-Hostanwendung wie Gruppenbereiche in Google Chat gilt.

Dieses Feld wird von den Google API-Clientbibliotheken unterstützt, ist aber in den Cloud-Clientbibliotheken nicht verfügbar. Weitere Informationen finden Sie unter Clientbibliotheken installieren.

CommonDataSource

Eine Datenquelle, die von allen Google Workspace-Anwendungen gemeinsam genutzt wird.

Verfügbar für Google Chat-Apps, nicht für Google Workspace-Add-ons.

Enums
UNKNOWN Standardwert. Nicht verwenden.
USER Google Workspace-Nutzer. Der Nutzer kann Nutzer aus seiner Google Workspace-Organisation nur ansehen und auswählen.

HostAppDataSourceMarkup

Bei einem SelectionInput-Widget mit Mehrfachauswahl-Menü eine Datenquelle aus einer Google Workspace-Anwendung. Die Datenquelle füllt die Auswahlelemente für das Mehrfachauswahl-Menü mit Daten.

Verfügbar für Google Chat-Apps und nicht für Google Workspace-Add-ons.

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, mit der Elemente für ein Mehrfachauswahlmenü ausgefüllt werden. Für data_source ist nur einer der folgenden Werte zulässig:
chatDataSource

object (ChatClientDataSourceMarkup)

Eine Datenquelle aus Google Chat.

ChatClientDataSourceMarkup

Bei einem SelectionInput-Widget, das ein Mehrfachauswahl-Menü verwendet, eine Datenquelle aus Google Chat. Die Datenquelle füllt die Auswahlelemente für das Mehrfachauswahlmenü. Ein Nutzer kann beispielsweise Google Chat-Gruppenbereiche auswählen, in denen er Mitglied ist.

Verfügbar für Google Chat-Apps und nicht für Google Workspace-Add-ons.

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. source darf nur einen der folgenden Werte haben:
spaceDataSource

object (SpaceDataSource)

Google Chat-Gruppenbereiche, in denen der Nutzer Mitglied ist.

SpaceDataSource

Eine Datenquelle, über die Gruppenbereiche in Google Chat als Auswahlelemente für ein Mehrfachauswahlmenü gefüllt werden. Es werden nur Gruppenbereiche angezeigt, in denen der Nutzer Mitglied ist.

Verfügbar für Google Chat-Apps, nicht für Google Workspace-Add-ons.

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

boolean

Wenn true festgelegt ist, wird im Menü für die Mehrfachauswahl standardmäßig der aktuelle Google Chat-Bereich ausgewählt.

DateTimePicker

Damit können Nutzer ein Datum, eine Uhrzeit oder beides eingeben. Ein Beispiel für Google Chat-Apps findest du unter Nutzer dürfen Datum und Uhrzeit auswählen.

Nutzer 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 Nutzer auffordert, die Informationen korrekt einzugeben.

Verfügbar für Google Chat-Apps und Google Workspace-Add-ons.

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

string

Der Name, mit dem die DateTimePicker in einem Formulareingabeereignis identifiziert wird.

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

label

string

Der Text, in dem Nutzer aufgefordert werden, ein Datum, eine Uhrzeit oder ein Datum und eine Uhrzeit einzugeben. Wenn Nutzer beispielsweise einen Termin planen, 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 eines Datums und einer Uhrzeit unterstützt.

valueMsEpoch

string (int64 format)

Der im Widget angezeigte Standardwert in Millisekunden seit der Unix-Epochenzeit.

Geben Sie den Wert entsprechend dem Typ der Auswahl an (DateTimePickerType):

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

integer

Die Zahl, die den Zeitzonen-Unterschied zu UTC in Minuten angibt. Wenn dies festgelegt ist, wird valueMsEpoch in der angegebenen Zeitzone angezeigt. Wenn kein Wert festgelegt ist, wird standardmäßig die Zeitzoneneinstellung des Nutzers verwendet.

onChangeAction

object (Action)

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

validation

object (Validation)

Optional. Geben Sie die für diese Datumsauswahl erforderliche Validierung an.

Verfügbar für Google Chat-Apps und Google Workspace-Add-ons.

DateTimePickerType

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

Verfügbar für Google Chat-Apps und Google Workspace-Add-ons.

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

Trennlinie

Dieser Typ hat keine Felder.

Eine Trennlinie zwischen Widgets wird als horizontale Linie angezeigt. Ein Beispiel für Google Chat-Apps finden Sie unter Horizontalen Trennstrich zwischen Widgets hinzufügen.

Verfügbar für Google Chat-Apps und Google Workspace-Add-ons.

Mit dem folgenden JSON-Code wird beispielsweise ein Trennstrich erstellt:

"divider": {}

Raster

Ein Raster mit einer Sammlung von Elementen. Elemente dürfen nur Text oder Bilder enthalten. Verwenden Sie Columns für responsive Spalten oder wenn Sie mehr als Text oder Bilder aufnehmen möchten. Ein Beispiel für Google Chat-Apps finden Sie unter Raster mit einer Sammlung von Elementen anzeigen.

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

Verfügbar für Google Chat-Apps und Google Workspace-Add-ons.

Die folgende JSON erstellt beispielsweise ein zweispaltiges Raster mit einem einzelnen Element:

"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 die einzelnen Rasterelemente angewendet werden soll.

columnCount

integer

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

onClick

object (OnClick)

Dieser Callback wird von jedem einzelnen Rasterelement wiederverwendet, wobei jedoch die Kennung und der Index des Elements in der Elementliste den Parametern des Callbacks hinzugefügt werden.

GridItem

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

Verfügbar für Google Chat-Apps und Google Workspace-Add-ons.

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

string

Eine vom Nutzer angegebene 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

Untertitel des Rasterelements

layout

enum (GridItemLayout)

Das für das Rasterelement zu verwendende Layout.

ImageComponent

Stellt ein Bild dar.

Verfügbar für Google Chat-Apps und Google Workspace-Add-ons.

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 Zuschnittsstil, der auf das Bild angewendet werden soll.

borderStyle

object (BorderStyle)

Der Rahmenstil, der auf das Bild angewendet werden soll.

ImageCropStyle

Der Zuschnittsstil, der auf ein Bild angewendet wird.

Verfügbar für Google Chat-Apps und Google Workspace-Add-ons.

So können Sie beispielsweise ein Seitenverhältnis von 16:9 verwenden:

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

enum (ImageCropType)

Der Zuschneidetyp.

aspectRatio

number

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

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

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

ImageCropType

Der Zuschnittsstil, der auf ein Bild angewendet wird.

Verfügbar für Google Chat-Apps und Google Workspace-Add-ons.

Enums
IMAGE_CROP_TYPE_UNSPECIFIED Nicht verwenden. Nicht angegeben
SQUARE Standardwert. Hiermit wird ein quadratischer Zuschnitt angewendet.
CIRCLE Hiermit wird ein kreisförmiger Zuschnitt angewendet.
RECTANGLE_CUSTOM schneidet einen rechteckigen Ausschnitt mit einem benutzerdefinierten Seitenverhältnis zu. Legen Sie das benutzerdefinierte Seitenverhältnis mit aspectRatio fest.
RECTANGLE_4_3 schneidet einen rechteckigen Ausschnitt mit einem Seitenverhältnis von 4:3 zu.

BorderStyle

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

Verfügbar für Google Chat-Apps und Google Workspace-Add-ons.

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.

Geben Sie zum Festlegen der Strichfarbe einen Wert für die Felder red, green und blue an. Der Wert muss eine Gleitkommazahl zwischen 0 und 1 sein, basierend auf dem RGB-Farbwert, wobei 0 (0/255) für das Fehlen von Farbe und 1 (255/255) die maximale Intensität der Farbe darstellt.

Das folgende Beispiel legt die Farbe bei maximaler Intensität auf Rot fest:

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

Das Feld alpha ist für die Strichfarbe nicht verfügbar. Wenn angegeben, wird dieses Feld ignoriert.

cornerRadius

integer

Der Eckenradius für den Rahmen.

BorderType

Stellt die Rahmentypen dar, die auf Widgets angewendet werden.

Verfügbar für Google Chat-Apps und Google Workspace-Add-ons.

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

GridItemLayout

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

Verfügbar für Google Chat-Apps und Google Workspace-Add-ons.

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 Widget Columns zeigt bis zu 2 Spalten in einer Karte oder einem Dialogfeld an. Sie können Widgets zu jeder Spalte hinzufügen. Die Widgets werden in der angegebenen Reihenfolge angezeigt. Ein Beispiel für Google Chat-Apps finden Sie unter Karten und Dialogfelder in Spalten anzeigen.

Die Höhe jeder Spalte wird durch die höchste Spalte bestimmt. Wenn die erste Spalte beispielsweise höher als die zweite 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.

Die Spalten werden nebeneinander angezeigt. Mit dem Feld HorizontalSizeStyle können Sie die Breite jeder Spalte anpassen. Wenn die Bildschirmbreite des Nutzers zu schmal ist, wird die zweite Spalte unter der ersten angezeigt:

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

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

Verfügbar für Google Chat-Apps und Google Workspace-Add-ons. Die Add-on-Benutzeroberflächen, die Spalten unterstützen, sind:

  • Das Dialogfeld, das angezeigt wird, wenn Nutzer das Add-on über einen E-Mail-Entwurf öffnen.
  • Das Dialogfeld, das angezeigt wird, wenn Nutzer das Add-on über das Menü Anhang hinzufügen in einem Google Kalender-Termin öffnen.
JSON-Darstellung
{
  "columnItems": [
    {
      object (Column)
    }
  ]
}
Felder
columnItems[]

object (Column)

Ein Array von Spalten. Sie können eine Karte oder ein Dialogfeld mit bis zu zwei Spalten versehen.

Spalte

Eine Spalte.

Google Workspace-Add-ons und Chat-Apps

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 ausfüllt.

horizontalAlignment

enum (HorizontalAlignment)

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

verticalAlignment

enum (VerticalAlignment)

Gibt an, ob Widgets am oberen, unteren oder mittleren Rand einer Spalte ausgerichtet werden.

widgets[]

object (Widgets)

Ein Array von Widgets in einer Spalte. Widgets werden in der Reihenfolge angezeigt, in der sie angegeben sind.

HorizontalSizeStyle

Gibt an, wie eine Spalte die Breite der Karte ausfüllt. Die Breite der einzelnen Spalten hängt sowohl vom HorizontalSizeStyle als auch von der Breite der Widgets in der Spalte ab.

Google Workspace-Add-ons und Chat-Apps

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

HorizontalAlignment

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

Verfügbar für Google Chat-Apps und nicht für Google Workspace-Add-ons.

Enums
HORIZONTAL_ALIGNMENT_UNSPECIFIED Nicht verwenden. Nicht angegeben
START Standardwert. Widgets werden an der Startposition der Spalte ausgerichtet. Wird bei rechtsläufigen Layouts linksbündig ausgerichtet. Bei linksläufigen Layouts wird sie rechtsbündig ausgerichtet.
CENTER Widgets werden in der Mitte der Spalte ausgerichtet.
END Richtet Widgets an der Endposition der Spalte aus. Bei rechtsläufigen Layouts werden Widgets rechts ausgerichtet. Bei Layouts, die von rechts nach links gelesen werden, werden Widgets links ausgerichtet.

VerticalAlignment

Gibt an, ob Widgets oben, unten oder in der Mitte einer Spalte ausgerichtet werden.

Google Workspace-Add-ons und Chat-Apps

Enums
VERTICAL_ALIGNMENT_UNSPECIFIED Nicht verwenden. Nicht angegeben
CENTER Standardwert. Widgets werden in der Mitte einer Spalte ausgerichtet.
TOP Richtet Widgets am Anfang 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.

Google Workspace-Add-ons und Chat-Apps

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)
  },
  "chipList": {
    object (ChipList)
  }
  // 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 Widget.

textInput

object (TextInput)

TextInput Widget.

selectionInput

object (SelectionInput)

SelectionInput.

dateTimePicker

object (DateTimePicker)

DateTimePicker.

chipList

object (ChipList)

ChipList Widget. Verfügbar für Google Chat-Apps, nicht für Google Workspace-Add-ons.

ChipList

Eine Liste von horizontal angeordneten Chips, die entweder horizontal gescrollt werden oder zur nächsten Zeile springen können.

Verfügbar für Google Chat-Apps und nicht für Google Workspace-Add-ons.

JSON-Darstellung
{
  "layout": enum (Layout),
  "chips": [
    {
      object (Chip)
    }
  ]
}
Felder
layout

enum (Layout)

Angegebenes Layout der Chipliste.

chips[]

object (Chip)

Eine Reihe von Chips.

Layout

Das Layout der Chipliste.

Enums
LAYOUT_UNSPECIFIED Nicht verwenden. Nicht angegeben
WRAPPED Standardwert. Wenn nicht genügend horizontaler Platz vorhanden ist, wird die Chipliste in die nächste Zeile umgebrochen.
HORIZONTAL_SCROLLABLE Die Chips werden horizontal gescrollt, wenn sie nicht in den verfügbaren Bereich passen.

Chip

Ein Chip mit Text, Symbol oder Text und Symbol, auf den Nutzer klicken können.

Verfügbar für Google Chat-Apps und nicht für Google Workspace-Add-ons.

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

object (Icon)

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

label

string

Der im Chip angezeigte Text.

onClick

object (OnClick)

Optional. Die Aktion, die ausgeführt werden soll, wenn ein Nutzer auf den Chip klickt, z. B. das Öffnen eines Hyperlinks oder das Ausführen einer benutzerdefinierten Funktion.

enabled
(deprecated)

boolean

Gibt an, ob sich der Chip in einem aktiven Zustand befindet und auf Nutzeraktionen reagiert. Die Standardeinstellung ist true. Verworfen. Verwenden Sie stattdessen disabled.

disabled

boolean

Gibt an, ob der Chip inaktiv ist und Nutzeraktionen ignoriert werden. Die Standardeinstellung ist false.

altText

string

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

Legen Sie einen beschreibenden Text fest, der Nutzer über die Funktion des Chips informiert. Wenn durch einen Chip beispielsweise ein Hyperlink geöffnet wird, schreiben Sie: „Öffnet einen neuen Browsertab und ruft die Google Chat-Entwicklerdokumentation unter https://developers.google.com/workspace/chat&quot; auf.

CollapseControl

Stellt ein Steuerelement zum Maximieren und Minimieren dar. Verfügbar für Google Chat-Apps und nicht für Google Workspace-Add-ons.

JSON-Darstellung
{
  "horizontalAlignment": enum (HorizontalAlignment),
  "expandButton": {
    object (Button)
  },
  "collapseButton": {
    object (Button)
  }
}
Felder
horizontalAlignment

enum (HorizontalAlignment)

Die horizontale Ausrichtung der Schaltfläche zum Maximieren und Minimieren.

expandButton

object (Button)

Optional. Definieren Sie eine benutzerdefinierte Schaltfläche, um den Bereich zu maximieren. Es muss sowohl das Feld "expandButton" als auch das Feld "collapsbutton" festgelegt werden. Nur ein Feldsatz wird nicht wirksam. Ist dieses Feld nicht festgelegt, wird die Standardschaltfläche verwendet.

collapseButton

object (Button)

Optional. Definieren Sie eine benutzerdefinierte Schaltfläche, um den Bereich zu minimieren. Sowohl das Feld „expandButton“ als auch das Feld „collapseButton“ müssen festgelegt sein. Nur ein Feldsatz wird nicht übernommen. Ist dieses Feld nicht festgelegt, wird die Standardschaltfläche verwendet.

DividerStyle

Der Trennlinienstil einer Karte. Wird derzeit nur für Trennlinien zwischen Kartenbereichen verwendet.

Verfügbar für Google Chat-Apps und Google Workspace-Add-ons.

Enums
DIVIDER_STYLE_UNSPECIFIED Nicht verwenden. Nicht angegeben
SOLID_DIVIDER Standardoption. Einen durchgehenden Trennstrich rendern
NO_DIVIDER Wenn diese Option festgelegt ist, wird kein Trennstrich gerendert. Durch diesen Stil wird die Trennlinie aus dem Layout vollständig entfernt. Das Ergebnis ist dasselbe, wenn gar keine Trennlinie hinzugefügt wird.

CardAction

Eine Kartenaktion ist die mit der Karte verknüpfte Aktion. Eine Rechnungskarte kann beispielsweise Aktionen wie „Rechnung löschen“, „Rechnung per E-Mail senden“ oder „Rechnung in einem Browser öffnen“ enthalten.

Verfügbar für Google Workspace-Add-ons und nicht für Google Chat-Apps.

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

string

Das Label, das als Menüpunkt für die Aktion 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.

Wenn Sie fixedFooter festlegen, ohne primaryButton oder secondaryButton anzugeben, tritt ein Fehler auf.

Für Chat-Apps können Sie feste Fußzeilen in Dialogfeldern verwenden, aber keine Kartennachrichten. Ein Beispiel für Google Chat-Apps finden Sie unter Eine dauerhafte Fußzeile hinzufügen.

Verfügbar für Google Chat-Apps und Google Workspace-Add-ons.

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

object (Button)

Die primäre Schaltfläche der festen Fußzeile. Die Schaltfläche muss eine Textschaltfläche mit Text und Farbe sein.

secondaryButton

object (Button)

Die sekundäre Schaltfläche der festen Fußzeile. Die Schaltfläche muss eine Textschaltfläche mit Text und Farbe sein. Wenn secondaryButton festgelegt ist, müssen Sie auch primaryButton festlegen.

DisplayStyle

In Google Workspace-Add-ons legen Sie fest, wie eine Karte angezeigt wird.

Verfügbar für Google Workspace-Add-ons, nicht für Google Chat-Apps.

Enums
DISPLAY_STYLE_UNSPECIFIED Nicht verwenden. Nicht angegeben
PEEK Die Kopfzeile der Karte wird unten in der Seitenleiste angezeigt und deckt teilweise die aktuell oberste Karte des Stapels ab. Wenn Sie auf die Überschrift klicken, wird die Karte in den Kartenstapel eingefügt. Wenn die Karte keinen Header hat, wird stattdessen ein generierter Header verwendet.
REPLACE Standardwert. Die obere Karte im Stapel wird durch die neue Ansicht ersetzt.