Class Action

Aktion

Eine Aktion, die Interaktivität innerhalb von UI-Elementen ermöglicht. Die Aktion erfolgt nicht direkt auf dem Client, ruft vielmehr eine Apps Script-Callback-Funktion auf mit optionalen Parametern.

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

MethodeRückgabetypKurzbeschreibung
addRequiredWidget(requiredWidget)ActionFügt die Namen der Widgets hinzu, die diese Aktion für eine gültige Einreichung benötigt.
setAllWidgetsAreRequired(allWidgetsAreRequired)ActionGibt an, ob für diese Aktion Eingaben von allen Widgets erforderlich sind.
setFunctionName(functionName)ActionLegt den Namen der aufzurufenden Callback-Funktion fest.
setInteraction(interaction)ActionLegt die Interaktion mit einem Nutzer fest. Dies ist nur erforderlich, wenn ein Dialogfeld geöffnet wird.
setLoadIndicator(loadIndicator)ActionLegt die Ladeanzeige fest, die angezeigt wird, während die Aktion ausgeführt wird.
setParameters(parameters)ActionErmöglicht die Übergabe benutzerdefinierter Parameter an die Callback-Funktion.
setPersistValues(persistValues)ActionGibt an, ob Formularwerte von den Werten des Clients oder 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 hat diese Liste keinen Wert, wenn diese Aktion aufgerufen wird. Die Formularübermittlung wird 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

NameTypBeschreibung
requiredWidgetStringDer für diese Aktion erforderliche Name des Widgets.

Rückflug

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

NameTypBeschreibung
allWidgetsAreRequiredBooleanGibt an, ob für die Aktion Eingaben von allen Widgets erforderlich sind. Standardeinstellung: false

Rückflug

Action: Dieses Objekt zur Verkettung.


setFunctionName(functionName)

Legt den Namen der aufzurufenden Callback-Funktion fest. Erforderlich.

Parameter

NameTypBeschreibung
functionNameStringDer Name der Funktion. Sie können Funktionen aus enthaltenen Bibliotheken verwenden, wie Library.libFunction1.

Rückflug

Action: Dieses Objekt zur Verkettung.


setInteraction(interaction)

Legt die Interaktion mit einem Nutzer fest. Dies ist nur erforderlich, wenn ein Dialogfeld geöffnet wird. Wenn keine Angabe erfolgt, durch Ausführen einer Action wie das Öffnen eines Links oder das Ausführen einer Funktion – ganz normal.

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

NameTypBeschreibung
interactionInteractionDie anzugebende Interaktion.

Rückflug

Action: Dieses Objekt zur Verkettung.


setLoadIndicator(loadIndicator)

Legt die Ladeanzeige fest, die angezeigt wird, während die Aktion ausgeführt wird.

Parameter

NameTypBeschreibung
loadIndicatorLoadIndicatorDie anzuzeigende Anzeige.

Rückflug

Action: Dieses Objekt zur Verkettung.


setParameters(parameters)

Ermöglicht die Übergabe benutzerdefinierter Parameter an die Callback-Funktion. Optional.

Parameter

NameTypBeschreibung
parametersObjectSowohl Schlüssel als auch Werte müssen Strings sein.

Rückflug

Action: Dieses Objekt zur Verkettung.


setPersistValues(persistValues)

Gibt an, ob Formularwerte von den Werten des Clients oder des Servers bestimmt werden Nachdem die Card des Formulars durch eine Aktionsantwort aktualisiert wurde. Wenn true festgelegt ist, wird der Client-Werte bleiben auch nach der Serverantwort erhalten. Wenn dieser Wert auf false gesetzt ist, wird der -Werte die Formularwerte überschreiben. Die Standardeinstellung ist false.

Durch das Beibehalten der Clientwerte lassen sich Situationen vermeiden, in denen sich ein Formular unerwartet ändert. nachdem ein Nutzer eine Änderung vorgenommen hat. Wenn ein Nutzer z. B. danach eine TextInput bearbeitet bevor der Server antwortet. Wenn die Werte beibehalten werden, kann die vom Nutzer erstellte bleibt erhalten, nachdem Card durch die Serverantwort aktualisiert wurde. Andernfalls wird der Formularwert wird zu dem Wert zurückgegeben, den der Nutzer ursprünglich an das Formular gesendet hat.

Das Beibehalten von Clientwerten kann die Fähigkeit Ihres Skripts beeinträchtigen, Formularfelder zu löschen oder die Formularwerte zu überschreiben. Aktivieren Sie daher die Persistenz für diese Art von Funktion nicht. Ohne sollten Sie LoadIndicator.SPINNER für Ereignisse, da dadurch die Benutzeroberfläche gesperrt und Nutzerbearbeitungen verhindert werden, bevor der Server antwortet. Alternativ können Sie können Sie LoadIndicator.NONE verwenden und dafür sorgen, dass jedes Element im Formular eine onChange enthält Aktion ausführen.

// 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

NameTypBeschreibung
persistValuesBooleanGibt an, ob Werte beibehalten werden sollen. Die Standardeinstellung ist false.

Rückflug

Action: Dieses Objekt zur Verkettung.

Verworfene Methoden