UI 要素内でのインタラクションを可能にするアクション。このアクションはクライアントで直接行われず、オプションのパラメータを使用して Apps Script のコールバック関数が呼び出されます。
Google Workspace アドオンと Google Chat アプリで利用できます。
const image = CardService.newImage().setOnClickAction( CardService.newAction().setFunctionName('handleImageClick').setParameters({ imageSrc: 'carImage' }), );
メソッド
メソッド | 戻り値の型 | 概要 |
---|---|---|
add | Action | 有効な送信に必要なウィジェットの名前を追加します。 |
set | Action | このアクションにすべてのウィジェットからの入力が必要かどうかを示します。 |
set | Action | 呼び出されるコールバック関数の名前を設定します。 |
set | Action | ユーザーとのインタラクションを設定します。ダイアログを開く場合にのみ必要です。 |
set | Action | アクションの進行中に表示される読み込みインジケーターを設定します。 |
set | Action | カスタム パラメータをコールバック関数に渡すことができます。 |
set | Action | アクション レスポンスでフォームの Card が更新された後、フォームの値がクライアントの値とサーバーの値のどちらによって決定されるかを指定します。 |
詳細なドキュメント
add Required Widget(requiredWidget)
有効な送信に必要なウィジェットの名前を追加します。このアクションが呼び出されたときに、このリスト内のウィジェットに値がない場合、フォームの送信は中止されます。
Google Chat アプリでのみ使用できます。Google Workspace アドオンには使用できません。
const textInput = CardService.newTextInput() .setFieldName('text_input_1') .setTitle('Text input title'); // Creates a footer button that requires an input from the above TextInput // Widget. const action = CardService.newAction() .setFunctionName('notificationCallback') .addRequiredWidget('text_input_1'); const fixedFooter = CardService.newFixedFooter().setPrimaryButton( CardService.newTextButton().setText('help').setOnClickAction(action), );
パラメータ
名前 | 型 | 説明 |
---|---|---|
required | String | このアクションに必要なウィジェットの名前。 |
戻る
Action
- チェーン用のこのオブジェクト。
set All Widgets Are Required(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));
パラメータ
名前 | 型 | 説明 |
---|---|---|
all | Boolean | アクションにすべてのウィジェットからの入力が必要なかどうか。デフォルトでは false に設定されます。 |
戻る
Action
- チェーン用のこのオブジェクト。
set Function Name(functionName)
呼び出されるコールバック関数の名前を設定します。必須。
パラメータ
名前 | 型 | 説明 |
---|---|---|
function | String | 関数名。Library.libFunction1 などの、含まれているライブラリの関数を使用できます。 |
戻る
Action
- チェーン用のこのオブジェクト。
set Interaction(interaction)
ユーザーとのインタラクションを設定します。ダイアログを開く場合にのみ必要です。指定しない場合、アプリは通常どおり、リンクを開く、関数を実行するなどの Action
を実行して応答します。
Google Chat アプリでのみ使用できます。Google Workspace アドオンには使用できません。
const action = CardService.newAction() .setFunctionName('handleDialog') .setInteraction(CardService.Interaction.OPEN_DIALOG);
パラメータ
名前 | 型 | 説明 |
---|---|---|
interaction | Interaction | 指定するインタラクション。 |
戻る
Action
- チェーン用のこのオブジェクト。
set Load Indicator(loadIndicator)
アクションの進行中に表示される読み込みインジケーターを設定します。
パラメータ
名前 | 型 | 説明 |
---|---|---|
load | Load | 表示するインジケーター。 |
戻る
Action
- チェーン用のこのオブジェクト。
set Parameters(parameters)
カスタム パラメータをコールバック関数に渡すことができます。省略可。
パラメータ
名前 | 型 | 説明 |
---|---|---|
parameters | Object | キーと値の両方が文字列である必要があります。 |
戻る
Action
- チェーン用のこのオブジェクト。
set Persist Values(persistValues)
アクション レスポンスでフォームの Card
が更新された後、フォームの値がクライアントの値とサーバーの値のどちらによって決定されるかを指定します。true
に設定すると、クライアントの値はサーバー レスポンス後に保持されます。false
に設定すると、サーバーの値がフォームの値を上書きします。デフォルトは false
です。
クライアント値を保持すると、ユーザーが編集した後にフォームが予期せず変更される状況を防ぐことができます。たとえば、ユーザーがフォームの送信後に、サーバーが応答する前に Text
を編集した場合です。値が保持されている場合、サーバー レスポンスが Card
を更新した後も、ユーザーが行った編集は保持されます。それ以外の場合、フォーム値はユーザーがフォームに最初に送信した値に戻ります。
クライアント値を保持すると、スクリプトがフォーム フィールドを消去したり、フォーム値をオーバーライドしたりする機能が妨げられる可能性があるため、このような機能では保持を有効にしないでください。永続性がない場合は、イベントに Load
を使用することをおすすめします。これにより、UI がロックされ、サーバーが応答する前にユーザーによる編集が防止されます。または、Load
を使用して、フォーム内のすべての要素に 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'), );
パラメータ
名前 | 型 | 説明 |
---|---|---|
persist | Boolean | 値を保持するかどうか。デフォルトは false です。 |
戻る
Action
- チェーン用のこのオブジェクト。