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)
アクションの進行中に表示される読み込みインジケーターを設定します。
パラメータ
名前 | 型 | 説明 |
---|---|---|
loadIndicator | LoadIndicator | 表示するインジケーター。 |
リターン
Action
- チェーン用のこのオブジェクト。
setParameters(parameters)
カスタム パラメータをコールバック関数に渡すことができます。省略可。
パラメータ
名前 | 型 | 説明 |
---|---|---|
parameters | Object | キーと値はどちらも文字列にする必要があります。 |
リターン
Action
- チェーン用のこのオブジェクト。
setPersistValues(persistValues)
アクション レスポンスによってフォームの Card
が更新された後に、フォームの値がクライアントの値とサーバーの値のどちらで決定されるかを示します。true
に設定すると、クライアントの値はサーバー レスポンス後も保持されます。false
に設定すると、サーバーの値によってフォームの値が上書きされます。デフォルトは false
です。
クライアントの値を永続化することで、ユーザーが編集を行った後にフォームが予期せず変更されるのを防ぐことができます。たとえば、フォームの送信後、サーバーが応答する前にユーザーが TextInput
を編集した場合などです。値が保持されている場合、サーバー レスポンスが Card
を更新した後も、ユーザーが行った編集は残ります。それ以外の場合、フォームの値はユーザーが最初にフォームを送信した値に戻ります。
クライアント値を永続化すると、スクリプトによるフォーム フィールドの消去やフォーム値のオーバーライドが妨げられる可能性があるため、このタイプの機能では永続性を有効にしないでください。永続化を使用しない場合は、イベントに LoadIndicator.SPINNER
を使用することをおすすめします。これにより、UI がロックされ、サーバーが応答する前にユーザーが編集できなくなるためです。または、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
- チェーン用のこのオブジェクト。