Eine Aktion, die Interaktivität in UI-Elementen ermöglicht. Die Aktion erfolgt nicht direkt auf dem Client, sondern ruft eine Apps Script-Callback-Funktion mit optionalen Parametern auf.
Verfügbar für Google Workspace-Add‑ons und Google Chat-Apps.
const image = CardService.newImage().setOnClickAction( CardService.newAction().setFunctionName('handleImageClick').setParameters({ imageSrc: 'carImage' }), );
Methoden
| Methode | Rückgabetyp | Kurzbeschreibung |
|---|---|---|
add | Action | Fügt die Namen der Widgets hinzu, die für eine gültige Einreichung dieser Aktion erforderlich sind. |
set | Action | Gibt an, ob für diese Aktion Eingaben von allen Widgets erforderlich sind. |
set | Action | Legt den Namen der aufzurufenden Callback-Funktion fest. |
set | Action | Legt die Interaktion mit einem Nutzer fest. Ist nur beim Öffnen eines Dialogfelds erforderlich. |
set | Action | Legt die Ladeanzeige fest, die während der Ausführung der Aktion angezeigt wird. |
set | Action | Ermöglicht das Übergeben benutzerdefinierter Parameter an die Callback-Funktion. |
set | Action | Gibt an, ob Formularwerte durch die Werte des Clients oder des Servers bestimmt werden, nachdem durch eine Aktionsantwort das Card des Formulars aktualisiert wurde. |
Detaillierte Dokumentation
addRequiredWidget(requiredWidget)
Fügt die Namen der Widgets hinzu, die für eine gültige Einreichung dieser Aktion erforderlich sind. Wenn die Widgets in dieser Liste keinen Wert haben, wenn diese Aktion aufgerufen wird, wird das Senden des Formulars abgebrochen.
Verfügbar für Google Workspace-Add‑ons und Google Chat-Apps.
const textInput = CardService.newTextInput() .setFieldName('text_input_1') .setTitle('Text input title'); // Creates a footer button that requires an input from the above TextInput // Widget. const action = CardService.newAction() .setFunctionName('notificationCallback') .addRequiredWidget('text_input_1'); const fixedFooter = CardService.newFixedFooter().setPrimaryButton( CardService.newTextButton().setText('help').setOnClickAction(action), );
Parameter
| Name | Typ | Beschreibung |
|---|---|---|
required | String | Der Name des Widgets, das für diese Aktion erforderlich ist. |
Rückflug
Action – Dieses Objekt zur Verkettung.
setAllWidgetsAreRequired(allWidgetsAreRequired)
Gibt an, ob für diese Aktion Eingaben von allen Widgets erforderlich sind.
Verfügbar für Google Workspace-Add‑ons und Google Chat-Apps.
// 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 |
|---|---|---|
all | Boolean | Gibt an, ob für die Aktion Eingaben von allen Widgets erforderlich sind. Die Standardeinstellung ist false. |
Rückflug
Action – Dieses Objekt zur Verkettung.
setFunctionName(functionName)
Legt den Namen der aufzurufenden Callback-Funktion fest. Erforderlich.
Parameter
| Name | Typ | Beschreibung |
|---|---|---|
function | String | Der Name der Funktion. Sie können Funktionen aus enthaltenen Bibliotheken wie Library.libFunction1 verwenden. |
Rückflug
Action – Dieses Objekt zur Verkettung.
setInteraction(interaction)
Legt die Interaktion mit einem Nutzer fest. Ist nur beim Öffnen eines Dialogfelds erforderlich. Wenn nichts angegeben ist, reagiert die App wie gewohnt, indem sie eine Action ausführt, z. B. einen Link öffnet oder eine Funktion ausführt.
Nur für Google Chat-Apps verfügbar. Nicht für Google Workspace-Add‑ons verfügbar.
const action = CardService.newAction() .setFunctionName('handleDialog') .setInteraction(CardService.Interaction.OPEN_DIALOG);
Parameter
| Name | Typ | Beschreibung |
|---|---|---|
interaction | Interaction | Die Interaktion, die angegeben werden soll. |
Rückflug
Action – Dieses Objekt zur Verkettung.
setLoadIndicator(loadIndicator)
Legt die Ladeanzeige fest, die während der Ausführung der Aktion angezeigt wird.
Parameter
| Name | Typ | Beschreibung |
|---|---|---|
load | Load | Der anzuzeigende Indikator. |
Rückflug
Action – Dieses Objekt zur Verkettung.
setParameters(parameters)
Ermöglicht das Übergeben benutzerdefinierter Parameter an die Callback-Funktion. Optional.
Parameter
| Name | Typ | Beschreibung |
|---|---|---|
parameters | Object | Sowohl Schlüssel als auch Werte müssen Strings sein. |
Rückflug
Action – Dieses Objekt zur Verkettung.
setPersistValues(persistValues)
Gibt an, ob Formularwerte durch die Werte des Clients oder des Servers bestimmt werden, nachdem durch eine Aktionsantwort das Card des Formulars aktualisiert wurde. Wenn der Wert auf true gesetzt ist, bleiben die Werte des Clients nach der Serverantwort erhalten. Wenn diese Option auf false festgelegt ist, werden die Formularwerte durch die Serverwerte überschrieben. Die Standardeinstellung ist false.
Durch das Beibehalten der Client-Werte wird verhindert, dass sich ein Formular unerwartet ändert, nachdem ein Nutzer eine Änderung vorgenommen hat. Das kann beispielsweise passieren, wenn ein Nutzer eine Änderung an einem TextInput vornimmt, nachdem er ein Formular gesendet hat, aber bevor der Server antwortet. Wenn die Werte beibehalten werden, bleibt die vom Nutzer vorgenommene Änderung nach der Serverantwort, die Card aktualisiert, erhalten. Andernfalls wird der Formularwert auf den Wert zurückgesetzt, den der Nutzer ursprünglich im Formular angegeben hat.
Wenn Clientwerte beibehalten werden, kann dies die Fähigkeit Ihres Skripts beeinträchtigen, Formularfelder zu leeren oder Formularwerte zu überschreiben. Aktivieren Sie die Beibehaltung daher nicht für diese Art von Funktion. Ohne Persistenz empfiehlt es sich, LoadIndicator.SPINNER für Ereignisse zu verwenden, da dadurch die Benutzeroberfläche gesperrt und Nutzerbearbeitungen verhindert werden, 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 |
|---|---|---|
persist | Boolean | Gibt an, ob Werte beibehalten werden sollen. Die Standardeinstellung ist false. |
Rückflug
Action – Dieses Objekt zur Verkettung.