可在 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));
參數
名稱 | 類型 | 說明 |
---|---|---|
requiredWidget | String | 此動作所需的小工具名稱。 |
回攻員
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));
參數
名稱 | 類型 | 說明 |
---|---|---|
allWidgetsAreRequired | Boolean | 動作是否需要所有小工具的輸入內容。預設為
false 。 |
回攻員
Action
:這個物件用於鏈結。
setFunctionName(functionName)
設定要呼叫的回呼函式名稱。必填。
參數
名稱 | 類型 | 說明 |
---|---|---|
functionName | String | 函式的名稱。您可以使用加入的程式庫中的函式
例如 Library.libFunction1 。 |
回攻員
Action
:這個物件用於鏈結。
setInteraction(interaction)
設定與使用者的互動,僅在開啟對話方塊時需要。如果未指定
照常執行 Action
以回應,例如開啟連結或執行函式。
僅適用於 Google Chat 應用程式。不適用於 Google Workspace 外掛程式。
const action = CardService.newAction() .setFunctionName('handleDialog') .setInteraction(CardService.Interaction.OPEN_DIALOG);
參數
名稱 | 類型 | 說明 |
---|---|---|
interaction | Interaction | 指定的互動。 |
回攻員
Action
:這個物件用於鏈結。
setLoadIndicator(loadIndicator)
setParameters(parameters)
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'));
參數
名稱 | 類型 | 說明 |
---|---|---|
persistValues | Boolean | 是否保留值。預設值為 false 。 |
回攻員
Action
:這個物件用於鏈結。