Eine Aktion, die Interaktivität innerhalb von UI-Elementen ermöglicht. Die Aktion wird nicht direkt auf dem Client ausgeführt, sondern ruft eine Apps Script-Callback-Funktion mit optionalen Parametern auf.
Verfügbar für Google Workspace-Add-ons und Google Chat-Apps.
var image = CardService.newImage() .setOnClickAction(CardService.newAction() .setFunctionName("handleImageClick") .setParameters({imageSrc: 'carImage'}));
Methoden
Methode | Rückgabetyp | Kurzbeschreibung |
---|---|---|
addRequiredWidget(requiredWidget) | Action | Fügt die Namen der Widgets hinzu, die diese Aktion für eine gültige Einreichung benötigt. |
setAllWidgetsAreRequired(allWidgetsAreRequired) | Action | Gibt an, ob für diese Aktion Eingaben von allen Widgets erforderlich sind. |
setFunctionName(functionName) | Action | Legt den Namen der aufzurufenden Callback-Funktion fest. |
setInteraction(interaction) | Action | Legt die Interaktion mit einem Nutzer fest, ist nur beim Öffnen eines Dialogfelds erforderlich. |
setLoadIndicator(loadIndicator) | Action | Legt die Ladeanzeige fest, die angezeigt wird, während die Aktion ausgeführt wird. |
setParameters(parameters) | Action | Ermöglicht die Übergabe benutzerdefinierter Parameter an die Callback-Funktion. |
setPersistValues(persistValues) | Action | Gibt an, ob Formularwerte von den Werten des Clients oder den Werten des Servers bestimmt werden, nachdem die Card des Formulars durch eine Aktionsantwort aktualisiert wurde. |
Detaillierte Dokumentation
addRequiredWidget(requiredWidget)
Fügt die Namen der Widgets hinzu, die diese Aktion für eine gültige Einreichung benötigt. Wenn die Widgets in dieser Liste beim Aufrufen dieser Aktion keinen Wert haben, wird die Formularübermittlung abgebrochen.
Nur für Google Chat-Apps verfügbar. Nicht verfügbar für Google Workspace-Add-ons.
var textInput = CardService.newTextInput() .setFieldName("text_input_1") .setTitle("Text input title") // Creates a footer button that requires an input from the above TextInput Widget. var action = CardService.newAction() .setFunctionName("notificationCallback") .addRequiredWidget("text_input_1"); var fixedFooter = CardService .newFixedFooter() .setPrimaryButton( CardService .newTextButton() .setText("help") .setOnClickAction(action));
Parameter
Name | Typ | Beschreibung |
---|---|---|
requiredWidget | String | Der Name des für diese Aktion erforderlichen Widgets. |
Return
Action
: Dieses Objekt zur Verkettung.
setAllWidgetsAreRequired(allWidgetsAreRequired)
Gibt an, ob für diese Aktion Eingaben von allen Widgets erforderlich sind.
Nur für Google Chat-Apps verfügbar. Nicht verfügbar für Google Workspace-Add-ons.
// Creates a button with an action that requires inputs from all widgets. const button = CardService.newTextButton() .setText('Create notification') .setOnClickAction( CardService.newAction() .setAllWidgetsAreRequired(true));
Parameter
Name | Typ | Beschreibung |
---|---|---|
allWidgetsAreRequired | Boolean | Gibt an, ob für die Aktion Eingaben von allen Widgets erforderlich sind. Die Standardeinstellung ist false . |
Return
Action
: Dieses Objekt zur Verkettung.
setFunctionName(functionName)
Legt den Namen der aufzurufenden Callback-Funktion fest. Erforderlich.
Parameter
Name | Typ | Beschreibung |
---|---|---|
functionName | String | Der Name der Funktion. Sie können Funktionen aus enthaltenen Bibliotheken verwenden, z. B. Library.libFunction1 . |
Return
Action
: Dieses Objekt zur Verkettung.
setInteraction(interaction)
Legt die Interaktion mit einem Nutzer fest, ist nur beim Öffnen eines Dialogfelds erforderlich. Wenn keine Angabe erfolgt, führt die Anwendung wie gewohnt ein Action
aus, z. B. das Öffnen eines Links oder das Ausführen einer Funktion.
Nur für Google Chat-Apps verfügbar. Nicht verfügbar für Google Workspace-Add-ons.
const action = CardService.newAction() .setFunctionName('handleDialog') .setInteraction(CardService.Interaction.OPEN_DIALOG);
Parameter
Name | Typ | Beschreibung |
---|---|---|
interaction | Interaction | Die anzugebende Interaktion. |
Return
Action
: Dieses Objekt zur Verkettung.
setLoadIndicator(loadIndicator)
Legt die Ladeanzeige fest, die angezeigt wird, während die Aktion ausgeführt wird.
Parameter
Name | Typ | Beschreibung |
---|---|---|
loadIndicator | LoadIndicator | Die anzuzeigende Anzeige. |
Return
Action
: Dieses Objekt zur Verkettung.
setParameters(parameters)
Ermöglicht die Übergabe benutzerdefinierter Parameter an die Callback-Funktion. Optional.
Parameter
Name | Typ | Beschreibung |
---|---|---|
parameters | Object | Sowohl Schlüssel als auch Werte müssen Strings sein. |
Return
Action
: Dieses Objekt zur Verkettung.
setPersistValues(persistValues)
Gibt an, ob Formularwerte von den Werten des Clients oder den Werten des Servers bestimmt werden, nachdem die Card
des Formulars durch eine Aktionsantwort aktualisiert wurde. Wenn true
festgelegt ist, bleiben die Werte des Clients nach der Serverantwort erhalten. Wenn false
festgelegt ist, überschreiben die Werte des Servers die Formularwerte. Die Standardeinstellung ist false
.
Durch das Speichern der Clientwerte wird verhindert, dass sich ein Formular unerwartet ändert, nachdem ein Nutzer eine Änderung vorgenommen hat. Beispiel: Ein Nutzer nimmt eine Änderung an TextInput
vor, nachdem ein Formular gesendet wurde, aber bevor der Server antwortet. Wenn die Werte beibehalten werden, bleibt die Änderung, die der Nutzer vorgenommen hat, nach der Aktualisierung von Card
durch die Serverantwort. Andernfalls wird der Formularwert auf den Wert zurückgesetzt, den der Nutzer ursprünglich an das Formular gesendet hat.
Feste Clientwerte können das Script daran hindern, Formularfelder zu löschen oder Formularwerte zu überschreiben. Daher sollten Sie die Persistenz für diese Art von Funktion nicht aktivieren. Ohne Persistenz wird empfohlen, für Ereignisse LoadIndicator.SPINNER
zu verwenden, da dies die UI sperrt und Nutzeränderungen verhindert, bevor der Server antwortet. Alternativ können Sie LoadIndicator.NONE
verwenden und dafür sorgen, dass jedes Element im Formular eine onChange-Aktion hat.
// Creates a button with an action that persists the client's values as the on-click action. const button = CardService.newTextButton() .setText('Create notification') .setOnClickAction( CardService.newAction() .setPersistValues(true) .setFunctionName('functionName'));
Parameter
Name | Typ | Beschreibung |
---|---|---|
persistValues | Boolean | Gibt an, ob Werte beibehalten werden sollen. Die Standardeinstellung ist false . |
Return
Action
: Dieses Objekt zur Verkettung.