Class Action

操作

一种能够在界面元素内实现互动的操作。该操作不会直接在 而是调用 Apps 脚本回调函数 以及可选参数

适用于 Google Workspace 插件和 Google Chat 应用。

var image = CardService.newImage()
    .setOnClickAction(CardService.newAction()
        .setFunctionName("handleImageClick")
        .setParameters({imageSrc: 'carImage'}));

方法

方法返回类型简介
addRequiredWidget(requiredWidget)Action添加此 Action 有效提交所需的微件名称。
setAllWidgetsAreRequired(allWidgetsAreRequired)Action指明此操作是否需要所有微件的输入。
setFunctionName(functionName)Action设置要调用的回调函数的名称。
setInteraction(interaction)Action设置与用户的互动,仅在打开对话框时才需要。
setLoadIndicator(loadIndicator)Action设置操作正在进行时显示的加载指示器。
setParameters(parameters)Action允许将自定义参数传递给回调函数。
setPersistValues(persistValues)Action指示表单值是由客户端值还是服务器值决定 在操作响应更新表单的 Card 后。

详细文档

addRequiredWidget(requiredWidget)

添加此 Action 有效提交所需的微件名称。如果其中的微件 调用此操作时此列表不含任何值,表单提交将中止。

仅适用于 Google Chat 应用。不适用于 Google Workspace 插件。

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

参数

名称类型说明
requiredWidgetString此操作所需的微件名称。

返回

Action - 此对象,用于链接。


setAllWidgetsAreRequired(allWidgetsAreRequired)

指明此操作是否需要所有微件的输入。

仅适用于 Google Chat 应用。不适用于 Google Workspace 插件。

// Creates a button with an action that requires inputs from all widgets.
const button = CardService.newTextButton()
    .setText('Create notification')
    .setOnClickAction(
        CardService.newAction()
            .setAllWidgetsAreRequired(true));

参数

名称类型说明
allWidgetsAreRequiredBoolean操作是否需要所有 widget 的输入。默认值为 false

返回

Action - 此对象,用于链接。


setFunctionName(functionName)

设置要调用的回调函数的名称。必填。

参数

名称类型说明
functionNameString函数的名称。您可以使用包含的库中的函数, 例如 Library.libFunction1

返回

Action - 此对象,用于链接。


setInteraction(interaction)

设置与用户的互动,仅在打开对话框时才需要。如果未指定,应用 像往常一样通过执行 Action(如打开链接或运行函数)来做出响应。

仅适用于 Google Chat 应用。不适用于 Google Workspace 插件。

const action = CardService.newAction()
    .setFunctionName('handleDialog')
    .setInteraction(CardService.Interaction.OPEN_DIALOG);

参数

名称类型说明
interactionInteraction要指定的互动。

返回

Action - 此对象,用于链接。


setLoadIndicator(loadIndicator)

设置操作正在进行时显示的加载指示器。

参数

名称类型说明
loadIndicatorLoadIndicator要显示的指示器。

返回

Action - 此对象,用于链接。


setParameters(parameters)

允许将自定义参数传递给回调函数。可选。

参数

名称类型说明
parametersObject键和值都必须是字符串。

返回

Action - 此对象,用于链接。


setPersistValues(persistValues)

指示表单值是由客户端值还是服务器值决定 在操作响应更新表单的 Card 后。设置为 true 时, 客户端的值在服务器响应后保持不变。当设置为 false 时,服务器的 值会覆盖表单中的值。默认值为 false

保留客户端值有助于防止表单意外更改的情况 在用户做出修改后触发例如,如果用户在修改 TextInput 之后 提交表单,但在服务器响应之前。如果值是保留的,则修改 在服务器响应更新 Card 后,用户创建的内容会保留;否则,形式值 会返回用户最初提交至表单的值。

保留客户端值会干扰脚本清除表单字段或 覆盖表单值,因此请避免为此类功能开启持久化。不包含 因此建议您对事件使用 LoadIndicator.SPINNER, 因为这会锁定界面并阻止在服务器响应之前进行用户修改。或者 您可以使用 LoadIndicator.NONE,并确保表单中的每个元素都有一个 onChange 操作。

// 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'));

参数

名称类型说明
persistValuesBoolean是否保留值。默认为 false

返回

Action - 此对象,用于链接。

已弃用的方法