UI 要素内のインタラクティビティを有効にするアクション。アクションはクライアントで直接実行されるのではなく、省略可能なパラメータを使用して Apps Script コールバック関数を呼び出します。
Google Workspace アドオンと Google Chat アプリで利用できます。
const image = CardService.newImage().setOnClickAction( CardService.newAction().setFunctionName('handleImageClick').setParameters({ imageSrc: 'carImage' }), );
メソッド
| メソッド | 戻り値の型 | 概要 |
|---|---|---|
add | Action | この Action で有効な送信に必要なウィジェットの名前を追加します。 |
set | Action | このアクションですべてのウィジェットからの入力が必要かどうかを示します。 |
set | Action | 呼び出すコールバック関数の名前を設定します。 |
set | Action | ユーザーとのインタラクションを設定します。ダイアログを開く場合にのみ必要です。 |
set | Action | アクションの進行中に表示される読み込みインジケーターを設定します。 |
set | Action | カスタム パラメータをコールバック関数に渡すことができます。 |
set | Action | アクション レスポンスによってフォームの Card が更新された後、フォームの値がクライアントの値とサーバーの値のどちらによって決定されるかを示します。 |
詳細なドキュメント
addRequiredWidget(requiredWidget)
この Action で有効な送信に必要なウィジェットの名前を追加します。このリストのウィジェットに値がない場合、この Action が呼び出されると、フォームの送信は中止されます。
Google Workspace アドオンと Google Chat アプリで利用できます。
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 で必要なウィジェットの名前。 |
戻る
Action - チェーン用のこのオブジェクト。
setAllWidgetsAreRequired(allWidgetsAreRequired)
このアクションですべてのウィジェットからの入力が必要かどうかを示します。
Google Workspace アドオンと Google Chat アプリで利用できます。
// 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 - チェーン用のこのオブジェクト。
setFunctionName(functionName)
呼び出すコールバック関数の名前を設定します。必須。
パラメータ
| 名前 | タイプ | 説明 |
|---|---|---|
function | 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)
アクションの進行中に表示される読み込みインジケーターを設定します。
パラメータ
| 名前 | タイプ | 説明 |
|---|---|---|
load | Load | 表示するインジケーター。 |
戻る
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'), );
パラメータ
| 名前 | タイプ | 説明 |
|---|---|---|
persist | Boolean | 値を永続化するかどうか。デフォルトは false です。 |
戻る
Action - チェーン用のこのオブジェクト。