Class Action

動作

可在 UI 元素內啟用互動動作的動作。這個動作不會直接在 而是叫用 Apps Script 回呼函式 搭配自選參數

適用於 Google Workspace 外掛程式和 Google Chat 應用程式。

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

方法

方法傳回類型簡短說明
addRequiredWidget(requiredWidget)Action加入這項動作所需的小工具名稱,才能有效提交內容。
setAllWidgetsAreRequired(allWidgetsAreRequired)Action指出此動作是否需要所有小工具的輸入內容。
setFunctionName(functionName)Action設定要呼叫的回呼函式名稱。
setInteraction(interaction)Action設定與使用者的互動,僅在開啟對話方塊時需要。
setLoadIndicator(loadIndicator)Action設定動作執行中時顯示的載入指標。
setParameters(parameters)Action允許將自訂參數傳遞至回呼函式。
setPersistValues(persistValues)Action指出表單值是依據用戶端值還是伺服器的值決定 回應後更新表單的 Card

內容詳盡的說明文件

addRequiredWidget(requiredWidget)

加入這項動作所需的小工具名稱,才能有效提交內容。如果 這份清單沒有值。叫用這個動作時,表單提交作業就會取消。

僅適用於 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動作是否需要所有小工具的輸入內容。預設為 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:這個物件用於鏈結。

已淘汰的方法