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.

Mit dem Card Builder Karten entwerfen und eine Vorschau anzeigen

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 die folgende JSON-Datei, um die Beispielkarte 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)

Der Header der Karte. Eine Überschrift enthält normalerweise ein führendes Bild 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. Die Abschnitte sind visuell durch eine Trennlinie voneinander getrennt. Ein Beispiel in Google Chat-Apps finden Sie unter Abschnitt einer Karte definieren

sectionDividerStyle

enum (DividerStyle)

Der Trennungsstil zwischen Abschnitten.

cardActions[]

object (CardAction)

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

Verfügbar für Google Workspace-Add-ons und 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 Kartenkennung in der Kartennavigation verwendet.

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

peekCardHeader

object (CardHeader)

Wenn kontextbezogene Inhalte angezeigt werden, dient die Überschrift der Minikarte als Platzhalter, damit Nutzer zwischen den Startseitenkarten und den kontextbezogenen Karten vor- und zurückwechseln können.

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

CardHeader

Stellt eine Kartenüberschrift dar. Ein Beispiel in Google Chat-Apps finden Sie unter Header 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. Erscheint gegebenenfalls in einer eigenen Zeile unterhalb der title

imageType

enum (ImageType)

Die Form, die zum Zuschneiden des Bildes verwendet wird.

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

imageUrl

string

Die HTTPS-URL des Bildes im Kartenheader.

imageAltText

string

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

ImageType

Die Form, die zum Zuschneiden des Bildes verwendet wird.

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

Enums
SQUARE Standardwert. Hiermit wird eine quadratische Maske auf das Bild angewendet. Ein Bild mit 4 x 3 Pixeln wird beispielsweise zu 3 x 3 Pixeln.
CIRCLE Wendet eine runde Maske auf das Bild an. Ein 4x3-Bild 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.

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 in diesem Abschnitt. Muss mindestens ein Widget enthalten.

collapsible

boolean

Gibt an, ob dieser Abschnitt minimierbar ist.

In minimierten Abschnitten sind einige oder alle Widgets ausgeblendet. Nutzer können den Abschnitt maximieren, um die ausgeblendeten Widgets zu sehen. Klicken Sie dazu auf Mehr anzeigen. Nutzer können die Widgets wieder ausblenden, indem sie auf Weniger anzeigen klicken.

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 und das Widget uncollapsibleWidgetsCount ist festgelegt auf 2, werden die ersten beiden Widgets immer angezeigt und die letzten drei sind standardmäßig minimiert. Die uncollapsibleWidgetsCount nur berücksichtigt, wenn collapsible ist true

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. Ist dieses Feld nicht festgelegt, wird die Standardschaltfläche verwendet. Verfügbar für Google Chat-Apps und nicht für Google Workspace-Add-ons.

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)
  },
  "chipList": {
    object (ChipList)
  }
  // End of list of possible types for union field data.
}
Felder
horizontalAlignment

enum (HorizontalAlignment)

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

Union-Feld data Ein Widget kann nur eines der folgenden Elemente haben. Sie können mehrere Widget-Felder verwenden, um mehr Elemente anzuzeigen. data kann nur einer der folgenden Werte sein:
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

Durch die folgende JSON-Datei wird beispielsweise ein 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)

Ein Textelement mit Verzierungen.

Mit der folgenden JSON-Datei wird beispielsweise ein bearbeitetes Text-Widget 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 Kä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.

Im folgenden JSON-Beispiel wird beispielsweise eine Datumsauswahl 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 den Widgets an.

Die folgende JSON-Datei erstellt beispielsweise eine Trennlinie:

"divider": {
}
grid

object (Grid)

Zeigt ein Raster mit einer Sammlung von Elementen an.

Ein Raster unterstützt eine beliebige Anzahl von Spalten und Elementen. Die Anzahl der Zeilen wird durch die Obergrenzen 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.

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

object (Columns)

Es werden bis zu zwei Spalten angezeigt.

Wenn Sie mehr als zwei Spalten einfügen oder Zeilen verwenden möchten, verwenden Sie die Methode Grid Widget.

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"
          }
        }
      ]
    }
  ]
}
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 Textabschnitt, der formatiert werden kann. Ein Beispiel in Google Chat-Apps finden Sie unter Fügen Sie einen Absatz mit formatiertem Text hinzu. 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. Überschreitet der Text die angegebene maximale Zeilenanzahl, wird der überschüssige Inhalt hinter einem Mehr anzeigen Schaltfläche. Wenn der Text gleich oder kürzer als die angegebene maximale Zeilenanzahl ist, wird ein Mehr anzeigen wird 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 ein onClick Aktion ausführen. Ein Beispiel finden Sie unter Fügen Sie ein Bild hinzu.

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 Bildes, der als Bedienungshilfe verwendet wird.

OnClick

Stellt dar, wie eine Reaktion erfolgen soll, wenn Nutzer auf ein interaktives Element auf einer Karte, z. B. eine Schaltfläche, klicken.

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

data kann nur einer der folgenden Werte sein:

action

object (Action)

Wenn angegeben, wird eine Aktion dadurch ausgelöst. onClick

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)

Falls angegeben, onClick öffnet ein Dreipunkt-Menü. 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: Formulardaten lesen

parameters[]

object (ActionParameter)

Liste der Aktionsparameter.

loadIndicator

enum (LoadIndicator)

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

persistValues

boolean

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

Wenn true bleiben die Formularwerte bestehen, nachdem die Aktion ausgelöst wurde. Wenn der Nutzer während der Verarbeitung der Aktion Änderungen vornehmen soll, legen Sie für LoadIndicator den Wert NONE fest. Für Kartennachrichten müssen Sie in Chat-Apps auch die Einstellung ResponseType bis UPDATE_MESSAGE und die gleichen cardId der die Aktion enthielt.

Wenn false, die Formularwerte werden gelöscht, wenn die Aktion ausgelöst wird. Um zu verhindern, dass der Nutzer Änderungen vornimmt, während die Aktion verarbeitet wird, legen Sie Folgendes fest: LoadIndicator bis SPINNER.

interaction

enum (Interaction)

Optional. Erforderlich beim Öffnen eines dialog eingegeben.

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

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

Durch die 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 für ein Add-on angegeben, wird die gesamte Karte entfernt und im Client wird nichts angezeigt.

Verfügbar für Google Chat-Apps und 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 aufweisen, wird die Formularübermittlung abgebrochen.

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

allWidgetsAreRequired

boolean

Optional. Wenn dies wahr ist, gelten für diese Aktion alle Widgets als erforderlich.

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

ActionParameter

Liste der Stringparameter, die beim Aufrufen der Aktionsmethode angegeben werden sollen. Betrachten Sie zum Beispiel drei Schaltflächen für die Schlummerfunktion: "Jetzt pausieren", "Schlummern an einem Tag" und "Schlummern für nächste Woche". Sie können action method = snooze() und übergeben den Typ und die Zeit für die Schlummerfunktion in der Liste der Stringparameter.

Weitere Informationen finden Sie 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 die Fortschrittsanzeige an, die während der Ausführung der Aktion angezeigt 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.

Wenn keine Angabe erfolgt, antwortet die Anwendung mit dem folgenden Befehl: action wie das Öffnen eines Links oder das Ausführen einer Funktion.

Durch die Angabe eines interaction, kann die App auf besondere interaktive Weise reagieren. Wenn Sie beispielsweise interaction bis OPEN_DIALOG, kann die App Folgendes öffnen: dialog dargestellt.

Wenn diese Option angegeben ist, 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.

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

Öffnet ein dialog ist 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 OnClick -Aktion öffnet einen Link, dann kann der Client diesen entweder als Fenster in voller Größe (wenn dieser Frame vom Client verwendet wird) oder als Overlay (z. B. ein Popup-Fenster) ö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 voller Größe geöffnet (wenn dieser Frame vom Client verwendet wird).
OVERLAY Der Link wird als Overlay geöffnet, z. B. als Pop-up-Fenster.

OnClose

Was passiert, wenn ein Link von einem OnClick abgeschlossen ist.

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

Wenn beides OnOpen und OnClose Handler festgelegt sind und die Client-Plattform nicht beide Werte unterstützt, OnClose hat Vorrang.

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

Enums
NOTHING Standardwert. Die Karte wird nicht aufgeladen. passiert nichts.
RELOAD

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

In Verbindung mit OpenAs.OVERLAY dient das untergeordnete Fenster als modales Dialogfeld und die übergeordnete Karte wird blockiert, bis das untergeordnete Fenster geschlossen wird.

OverflowMenu

Ein Widget, das ein Pop-up-Menü mit einer oder mehreren Aktionen enthält, die Nutzer ausführen können. Beispiel: Anzeige von nicht primären Aktionen in einer Karte. Sie können dieses Widget verwenden, wenn der verfügbare Platz für Aktionen nicht ausreicht. Geben Sie dieses Widget zur Verwendung in der OnClick unterstützen. Beispiel: In einer Button

Verfügbar für Google Chat-Apps und 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 vor dem Text angezeigte Symbol

text

string

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

onClick

object (OnClick)

Erforderlich. Die Aktion, die ausgeführt wird, wenn eine Menüoption ausgewählt wird. Dieses OnClick darf kein OverflowMenu, beliebige Angabe OverflowMenu 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 in Google Chat-Apps finden Sie unter Symbol hinzufügen:

Unterstützt vordefinierte 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 für Barrierefreiheit verwendet wird. Wenn kein Wert angegeben ist, wird der Standardwert Button verwendet. Als Best Practice sollten Sie eine hilfreiche Beschreibung für die Anzeige des Symbols und gegebenenfalls dessen Funktion festlegen. 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. Wenn die Schaltfläche jedoch auch text, das ist die altText wird ignoriert.

imageType

enum (ImageType)

Der auf das Bild angewendete Zuschnittsstil. In einigen Fällen kann das Anwenden einer CIRCLE crop bewirkt, dass das Bild größer gezeichnet wird als ein integriertes Symbol.

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 Bei Bussen: BUS

Eine vollständige Liste der unterstützten Symbole finden Sie unter integrierten Symbolen hinzufügen.

iconUrl

string

Ein benutzerdefiniertes Symbol anzeigen, das unter einer HTTPS-URL gehostet wird.

Beispiel:

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

Folgende Dateitypen werden unterstützt: .png und .jpg.

materialIcon

object (MaterialIcon)

Zeigen Sie eine der Material-Symbole von Google:

Um beispielsweise eine Kästchensymbol, verwenden Sie

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

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

MaterialIcon

A Material-Symbol von Google mit über 2.500 Optionen.

Um beispielsweise eine Kästchensymbol mit individueller Gewichtung und Note 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".

Eine Vorschau der verschiedenen Symboleinstellungen finden Sie unter Google-Schriftarten und passen Sie die Einstellungen Anpassen.

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.

Eine Vorschau der verschiedenen Symboleinstellungen finden Sie unter Google-Schriftarten und passen Sie die Einstellungen Anpassen.

grade

integer

Gewicht und Grad wirken sich auf die Stärke 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. Wenn ein anderer Wert angegeben wird, wird der Standardwert verwendet.

Eine Vorschau der verschiedenen Symboleinstellungen finden Sie unter Google-Schriftarten und passen Sie die Einstellungen Anpassen.

DecoratedText

Ein Widget, das Text mit optionalen Dekorationen anzeigt, z. B. mit einem Label ü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 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)

Zugunsten von startIcon

startIcon

object (Icon)

Das vor dem Text angezeigte Symbol

topLabel

string

Der oben angezeigte Text text Wird immer gekürzt.

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. Wenn true, wird der Text umgebrochen und in mehreren Zeilen angezeigt. Andernfalls wird der Text abgeschnitten.

Gilt nur für text, nicht topLabel und bottomLabel

bottomLabel

string

Der Text, der unten angezeigt wird, text Wird immer umgebrochen.

onClick

object (OnClick)

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

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 Nutzende 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.

Wird unterstützt integriert und benutzerdefiniert Symbole.

Schaltfläche

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

Damit ein Bild zu einer klickbaren Schaltfläche wird, geben Sie eine Image (keine ImageComponent) und legen Sie eine onClick Aktion ausführen.

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 in 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. Falls festgelegt, type ist festgelegt auf FILLED und die Farbe der text und icon zur besseren Lesbarkeit auf eine Kontrastfarbe eingestellt. Wenn die Schaltfläche beispielsweise blau ist, sind alle Texte oder Symbole auf der Schaltfläche weiß.

Um die Farbe der Schaltfläche festzulegen, geben Sie einen Wert für die red, green und blue . Der Wert muss eine Gleitkommazahl zwischen 0 und 1 sein, basierend auf dem RGB-Farbwert, wobei 0 (0/255) steht für das Fehlen von Farbe und 1 (255/255) steht für die maximale Intensität der Farbe.

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

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

Die alpha ist für die Farbe der Schaltfläche 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

Wenn true, die Schaltfläche wird inaktiv 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 eine Schaltfläche beispielsweise einen Hyperlink öffnet, könnten Sie Folgendes schreiben: „Öffnet einen neuen Browsertab und wechselt zur Google Chat-Entwicklerdokumentation unter https://developers.google.com/workspace/chat".

type

enum (Type)

Optional. Die Art einer Schaltfläche. Wenn kein Wert festgelegt ist, wird standardmäßig der OUTLINED Wenn die color festgelegt ist, wird der Schaltflächentyp FILLED und alle für dieses Feld festgelegten Werte werden 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 dem Konstruktor von java.awt.Color in Java; kann auch einfach dem UIColor-Tool +colorWithRed:green:blue:alpha in iOS verwenden: und kann mit wenig Aufwand in ein CSS-Format rgba() in JavaScript verwenden.

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 keine Angabe gemacht wird, wird dieses Farbobjekt als Volltonfarbe gerendert, so als ob dem Alphawert explizit der Wert 1,0 zugewiesen worden wäre.

Typ

Optional. Die Typ einer Schaltfläche. Wenn color festgelegt ist, wird der Parameter type ist gezwungen, FILLED

Verfügbar für Google Chat-Apps, 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 wichtige Aktionen, die nicht die primäre Aktion in einer Chat-App oder einem Add-on sind.
FILLED Eine ausgefüllte Schaltfläche hat einen Container mit einer durchgehenden Farbe. 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 alternativer Mittelweg zwischen gefüllten und umrandeten Schaltflächen. Sie sind nützlich, wenn eine Schaltfläche mit niedrigerer Priorität etwas mehr Betonung erfordert als eine Umrissschaltfläche.
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 präsentiert werden.

SwitchControl

Entweder ein Umschalter oder ein Kontrollkästchen innerhalb eines decoratedText Widget.

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

Nur unterstützt im decoratedText Widget.

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 Formulareingabeereignis identifiziert wird.

Weitere Informationen zur Arbeit mit Formulareingaben finden Sie unter Formulardaten abrufen

value

string

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

Weitere Informationen zur Arbeit mit Formulareingaben finden Sie unter Formulardaten abrufen

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

Darstellung des Schalters auf der Benutzeroberfläche

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

Enums
SWITCH Ein Schalter
CHECKBOX Zugunsten von CHECK_BOX
CHECK_BOX Ein Kästchen.

ButtonList

Eine Liste von Schaltflächen, die horizontal angeordnet sind. Ein Beispiel in Google Chat-Apps finden Sie 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)

Mehrere Schaltflächen

TextInput

Ein Feld, in das Nutzer Text eingeben können. Unterstützt Vorschläge und Aktionen bei Änderungen. Ein Beispiel in Google Chat-Apps finden Sie unter Fügen Sie ein Feld hinzu, in das Nutzer Text eingeben können.

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

Wenn Sie nicht definierte oder abstrakte Daten von Nutzenden erfassen müssen, 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 an, der den Nutzern hilft, die für Ihre App erforderlichen Informationen einzugeben. Wenn Sie beispielsweise nach dem Namen einer Person fragen, aber ausdrücklich den Nachnamen benötigen, schreiben Sie surname anstelle von name.

Erforderlich, wenn hintText ist nicht angegeben. Ansonsten optional.

hintText

string

Text, der unter dem Texteingabefeld angezeigt wird und Nutzer auffordert, einen bestimmten Wert einzugeben. Dieser Text ist immer sichtbar.

Erforderlich, wenn label ist nicht angegeben. Ansonsten optional.

value

string

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

Weitere Informationen zur Arbeit mit Formulareingaben finden Sie unter Formulardaten abrufen

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)

Vorgehensweise bei einer Änderung im Texteingabefeld Beispiel: Ein Nutzer fügt dem Feld etwas hinzu oder löscht Text.

Beispiele für auszuführende Aktionen sind das Ausführen einer benutzerdefinierten Funktion oder das Öffnen einer dialog in Google Chat.

initialSuggestions

object (Suggestions)

Vorgeschlagene Werte, die Nutzer eingeben können. Diese Werte werden angezeigt, wenn Nutzende in das Texteingabefeld klicken. Während Nutzer etwas eingeben, werden die vorgeschlagenen Werte dynamisch gefiltert, um den eingegebenen Text zu berücksichtigen.

Ein Texteingabefeld für eine Programmiersprache könnte beispielsweise Java, JavaScript, Python und C++ vorschlagen. Wenn Nutzer mit der Eingabe beginnen Jav, die Liste der Vorschlagsfilter, die nur angezeigt werden sollen Java und JavaScript

Vorgeschlagene Werte helfen Nutzern, Werte einzugeben, die für Ihre App sinnvoll sind. Wenn auf JavaScript verwiesen wird, geben einige Nutzer javascript und weitere java script. Vorschlagen JavaScript wie Nutzer mit Ihrer App interagieren.

Wenn angegeben, TextInput.type ist immer SINGLE_LINE, auch wenn folgendes festgelegt ist: MULTIPLE_LINE

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 durch initialSuggestions und werden vom Kunden 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, 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. Verwenden Sie diesen Text, um Nutzer zur Eingabe eines Werts aufzufordern. Beispiel: Enter a number from 0 to 100.

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

Typ

Wie ein Texteingabefeld in der Benutzeroberfläche angezeigt wird. Das kann beispielsweise ein einzeiliges Eingabefeld oder eine mehrzeilige Eingabe sein. Wenn initialSuggestions angegeben ist, type ist immer SINGLE_LINE, auch wenn folgendes festgelegt ist: MULTIPLE_LINE.

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 Rendering-Anweisungen, die eine Karte auffordern, eine Aktion auszuführen, oder die Add-on-Host-App oder die Chat-App anweisen, eine appspezifische Aktion auszuführen.

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

Felder
action

Action

Aktion

Felder
navigations[]

Navigation

Angezeigte Karten verschieben oder aktualisieren.

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 obere 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 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 beginnen Jav, die Liste der anzuzeigenden Vorschläge-Filter Java und JavaScript

Vorgeschlagene Werte helfen Nutzern, Werte einzugeben, die für Ihre App sinnvoll sind. Wenn auf JavaScript verwiesen wird, geben einige Nutzer javascript und weitere java script. Vorschlagen JavaScript wie Nutzer mit Ihrer App interagieren.

Wenn angegeben, TextInput.type ist immer SINGLE_LINE, auch wenn folgendes festgelegt ist: MULTIPLE_LINE

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 Texteingabefeld 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 kann nur einer der folgenden Werte sein:

text

string

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

Validierung

Die erforderlichen Daten zur Validierung des mit ihm verbundenen Widgets.

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 ganzzahliger Wert.
FLOAT Ein Gleitkommawert.
EMAIL Eine E-Mail-Adresse.
EMOJI_PICKER Ein Emoji, das aus der vom System bereitgestellten Emoji-Auswahl ausgewählt wurde.

SelectionInput

Ein Widget, das ein oder mehrere UI-Elemente erstellt, die Nutzer auswählen können. Zum Beispiel ein 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 zur Arbeit mit Formulareingaben finden Sie unter Formulardaten abrufen

Um undefinierte oder abstrakte Daten von Nutzenden zu sammeln, verwenden Sie die 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 kennzeichnet.

Weitere Informationen zur Arbeit mit Formulareingaben finden Sie unter Formulardaten abrufen

label

string

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

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

type

enum (SelectionType)

Die Art der Elemente, die Nutzern in einem SelectionInput Widget. 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. Es werden bis zu 100 Elemente unterstützt.

onChangeAction

object (Action)

Falls angegeben, wird das Formular gesendet, wenn sich die Auswahl ändert. Wenn nicht angegeben, musst du eine separate Schaltfläche zum Senden des Formulars angeben.

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 Artikel. Wenn keine Vorgabe erfolgt, werden standardmäßig 3 Elemente verwendet.

multiSelectMinQueryLength

integer

Bei Mehrfachauswahl-Menüs die Anzahl der Textzeichen, die ein Nutzer eingibt, bevor die App die automatische Vervollständigung abfragt und vorgeschlagene Elemente im Menü anzeigt.

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

validation

object (Validation)

Bei 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 und nicht für Google Workspace-Add-ons. multi_select_data_source darf nur einen der folgenden Werte haben:

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. Nutzer können beispielsweise mehrere Kästchen anklicken, aber aus einem Drop-down-Menü nur ein Element auswählen.

Jede Auswahleingabe unterstützt einen Auswahltyp. Das Mischen 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 ein Element aus dem Menü auswählen.
MULTI_SELECT

Ein Mehrfachauswahl-Menü 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 zu füllen. Wenn Nutzer beispielsweise den Namen eines Google Chat-Bereichs eingeben, wird dieser automatisch vom Widget vorgeschlagen.

Wenn Sie Elemente in einem Mehrfachauswahlmenü füllen möchten, können Sie einen der folgenden Datenquellentypen verwenden:

  • Statische Daten: Elemente werden angegeben als SelectionItem -Objekt im Widget. Bis zu 100 Artikel.
  • Google Workspace-Daten: Elemente werden anhand von Daten aus Google Workspace gefüllt, z. B. aus Google Workspace-Nutzern oder Google Chat-Gruppenbereichen.
  • Externe Daten: Elemente werden aus einer externen Datenquelle außerhalb von Google Workspace eingefügt.

Beispiele für die Implementierung 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 Artikel verknüpfte Wert. Der Client sollte diesen Wert als Eingabewert für das Formular verwenden.

Weitere Informationen zur Arbeit mit Formulareingaben finden Sie unter Formulardaten abrufen

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 wird die URL für das Symbol neben der Option text ein. Unterstützt PNG- und JPEG-Dateien. Muss ein HTTPS URL Beispiel: https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png

bottomText

string

Bei Menüs mit Mehrfachauswahl wird eine Textbeschreibung oder ein Label unterhalb des text ein.

PlatformDataSource

Für eine SelectionInput Widget, das ein Mehrfachauswahl-Menü verwendet, eine Datenquelle aus Google Workspace. Wird zum Füllen von Elementen in einem Mehrfachauswahlmenü verwendet.

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. data_source kann nur einer der folgenden Werte sein:
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 für eine Google Workspace-Hostanwendung eindeutig ist, z. B. Gruppenbereiche in Google Chat.

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

CommonDataSource

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

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

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

HostAppDataSourceMarkup

Für eine SelectionInput Widget, das ein Mehrfachauswahl-Menü verwendet, 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. data_source darf nur einen der folgenden Werte haben:
chatDataSource

object (ChatClientDataSourceMarkup)

Eine Datenquelle aus Google Chat.

ChatClientDataSourceMarkup

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

Verfügbar für Google Chat-Apps, 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 kann nur einer der folgenden Werte sein:
spaceDataSource

object (SpaceDataSource)

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

SpaceDataSource

Eine Datenquelle, die Google Chat-Gruppenbereiche als Auswahlelemente für ein Mehrfachauswahlmenü enthält. Es werden nur Gruppenbereiche ausgefüllt, in denen der Nutzer Mitglied ist.

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

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

boolean

Wenn festgelegt auf true – über das Mehrfachauswahl-Menü wird der aktuelle Google Chat-Bereich standardmäßig als Element ausgewählt.

DateTimePicker

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

Nutzer können Text eingeben oder die Auswahl verwenden, um Datum und Uhrzeit auszuwählen. Wenn Nutzer ein ungültiges Datum oder eine ungültige Uhrzeit eingeben, wird in der Auswahl eine Fehlermeldung angezeigt, in der sie aufgefordert werden, 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 Ereignis für die Formulareingabe identifiziert wird.

Weitere Informationen zur Arbeit mit Formulareingaben finden Sie unter Formulardaten abrufen

label

string

Text, mit dem die Nutzer aufgefordert werden, ein Datum, eine Uhrzeit oder ein Datum und eine Uhrzeit einzugeben. Wenn Nutzende 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 eines Datums und einer Uhrzeit unterstützt.

valueMsEpoch

string (int64 format)

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

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

  • DATE_AND_TIME : ein Kalenderdatum und eine Kalenderzeit in UTC. Für den 1. Januar 2023 um 12:00 Uhr UTC verwenden Sie beispielsweise 1672574400000
  • DATE_ONLY : ein Kalenderdatum um 00:00:00 UTC. Um beispielsweise den 1. Januar 2023 darzustellen, verwenden Sie 1672531200000
  • TIME_ONLY : eine Uhrzeit in UTC. Für 12:00 Uhr verwenden Sie beispielsweise 43200000 (oder 12 * 60 * 60 * 1000).
timezoneOffsetDate

integer

Die Zahl, die den Zeitzonen-Unterschied zu UTC in Minuten angibt. Wenn festgelegt, valueMsEpoch wird 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 Speichern oder Löschen aus der DateTimePicker .

validation

object (Validation)

Optional. Geben Sie die Validierung an, die für diese Datetimer-Auswahl erforderlich ist.

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

DateTimePickerType

Das Format für Datum und Uhrzeit im Feld 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.

Zeigt eine Trennlinie zwischen Widgets als horizontale Linie an. Ein Beispiel für Google Chat-Apps finden Sie unter Horizontale Trennlinie zwischen Widgets hinzufügen.

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

Die folgende JSON-Datei erstellt beispielsweise eine Trennlinie:

"divider": {}

Raster

Zeigt ein Raster mit einer Sammlung von Elementen an. Elemente dürfen nur Text oder Bilder enthalten. Für responsive Spalten oder wenn Sie mehr als Text oder Bilder einfügen möchten, verwenden Sie Columns 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 den Elementen geteilt durch die 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.

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"
    }
  }
}
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 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 im übergeordneten Raster onClick Callback-Parameter.

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

borderStyle

object (BorderStyle)

Der Rahmenstil, der auf das Bild angewendet werden soll.

ImageCropStyle

Stellt den auf ein Bild angewendeten Zuschnittsstil dar.

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 Erntetyp.

aspectRatio

number

Das Seitenverhältnis, das verwendet werden soll, wenn die Zuschneideart auf RECTANGLE_CUSTOM

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

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

ImageCropType

Stellt den auf ein Bild angewendeten Zuschnittsstil dar.

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

Enums
IMAGE_CROP_TYPE_UNSPECIFIED Nicht verwenden. Nicht angegeben
SQUARE Standardwert. Quadratzuschnitt anwenden.
CIRCLE Macht einen kreisförmigen Schnitt.
RECTANGLE_CUSTOM Wählt ein rechteckiges Zuschneiden mit einem benutzerdefinierten Seitenverhältnis aus. Benutzerdefiniertes Seitenverhältnis festlegen mit aspectRatio
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 für den Typ BORDER_TYPE_STROKE

Um die Strichfarbe festzulegen, geben Sie einen Wert für den red, green und blue . Der Wert muss eine Gleitkommazahl zwischen 0 und 1 sein, basierend auf dem RGB-Farbwert, wobei 0 (0/255) steht für das Fehlen von Farbe und 1 (255/255) steht 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,
}

Die 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

Im Columns-Widget können bis zu zwei Spalten in einer Karte oder einem Dialogfeld angezeigt werden. Sie können Widgets zu jeder Spalte hinzufügen. werden die Widgets in der angegebenen Reihenfolge angezeigt. Ein Beispiel in Google Chat-Apps finden Sie unter Karten und Dialogfelder in Spalten anzeigen

Die Höhe jeder Spalte wird durch die höhere Spalte bestimmt. Wenn beispielsweise die erste Spalte höher ist als die zweite Spalte, 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. Sie können die Breite jeder Spalte mithilfe der HorizontalSizeStyle ein. 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 kleiner oder gleich 300 pt ist.
  • Auf Android-Geräten wird die zweite Spalte umgebrochen, wenn die Bildschirmbreite kleiner oder gleich 320 dp ist.

Wenn Sie mehr als zwei Spalten einfügen oder Zeilen verwenden möchten, verwenden Sie die Methode Grid Widget.

Verfügbar für Google Chat-Apps und Google Workspace-Add-ons. Zu den Add-on-UIs, die Spalten unterstützen, gehören:

  • 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. Eine Karte oder ein Dialogfeld kann bis zu zwei Spalten enthalten.

Spalte

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 einnimmt.

horizontalAlignment

enum (HorizontalAlignment)

Gibt an, ob Widgets links, rechts oder Mitte 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, 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 jeder Spalte hängt sowohl vom HorizontalSizeStyle und die Breite der Widgets in der Spalte.

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, und zwar bis zu 70% der Kartenbreite. Wenn beide Spalten auf FILL_AVAILABLE_SPACE, jede Spalte füllt 50% der Fläche aus.
FILL_MINIMUM_SPACE Die Spalte füllt den geringsten Platz aus und nicht mehr als 30% der Kartenbreite.

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. Richtet Widgets an der Startposition der Spalte aus. Wird bei rechtsläufigen Layouts linksbündig ausgerichtet. Bei linksläufigen Layouts wird sie 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 rechts ausgerichtet. Bei Layouts, die von rechts nach links gelesen werden, werden Widgets links ausgerichtet.

VerticalAlignment

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

Google Workspace-Add-ons und Chat-Apps

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

Widgets

Die unterstützten Widgets, die Sie in eine Spalte einfügen 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

data kann nur einer der folgenden Werte sein:

textParagraph

object (TextParagraph)

TextParagraph Widget.

image

object (Image)

Image Widget.

decoratedText

object (DecoratedText)

DecoratedText Widget.

buttonList

object (ButtonList)

ButtonList Widget.

textInput

object (TextInput)

TextInput Widget.

selectionInput

object (SelectionInput)

SelectionInput Widget.

dateTimePicker

object (DateTimePicker)

DateTimePicker Widget.

chipList

object (ChipList)

ChipList Widget. Verfügbar für Google Chat-Apps und 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, 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 horizontal nicht genügend Platz vorhanden ist, wird von der Chipliste zur nächsten Zeile gewechselt.
HORIZONTAL_SCROLLABLE Die Chips scrollen horizontal, wenn sie nicht in den verfügbaren Platz 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 Text, der im Chip angezeigt wird.

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 disabled .

disabled

boolean

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

altText

string

Der alternative Text, der für 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 navigiert zur Google Chat-Entwicklerdokumentation unter https://developers.google.com/workspace/chat&quot;.

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 anpassbare 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 anpassbare Schaltfläche, um den Abschnitt zu minimieren. Es muss sowohl das Feld "expandButton" als auch das Feld "collapsbutton" festgelegt werden. Nur ein Feldsatz wird nicht wirksam. Wenn dieses Feld nicht festgelegt ist, wird die Standardschaltfläche verwendet.

DividerStyle

Der Trennlinienstil einer Karte. Wird derzeit nur für Trennlinien zwischen Kartenabschnitten 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 das Löschen einer Rechnung, eine E-Mail-Rechnung oder das Öffnen der Rechnung in einem Browser 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üelement für Aktionen angezeigt wird.

onClick

object (OnClick)

Die onClick Aktion für diese Aufgabe.

CardFixedFooter

Eine dauerhafte (fixierte) Fußzeile, die unten auf der Karte angezeigt wird.

Einstellung fixedFooter ohne eine primaryButton oder secondaryButton verursacht einen Fehler.

Für Chat-Apps können Sie feste Fußzeilen in dialogs, aber nicht Kartennachrichten Ein Beispiel in Google Chat-Apps finden Sie unter Fügen Sie eine dauerhafte Fußzeile hinzu.

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 einem festgelegten Text und einer bestimmten 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.

DisplayStyle

In Google Workspace-Add-ons wird festgelegt, wie eine Karte angezeigt wird.

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

Enums
DISPLAY_STYLE_UNSPECIFIED Nicht verwenden. Nicht angegeben
PEEK Der Header der Karte wird unten in der Seitenleiste angezeigt und verdeckt die aktuelle oberste Karte des Stapels teilweise. Wenn Sie auf den Header klicken, wird die Karte im Kartenstapel geöffnet. Wenn die Karte keine Kopfzeile hat, wird stattdessen eine generierte Kopfzeile verwendet.
REPLACE Standardwert. Die obere Karte im Stapel wird durch die neue Ansicht ersetzt.