Class Action

アクション

UI 要素内でインタラクティビティを可能にするアクション。このアクションはクライアントで直接実行されず、オプションのパラメータを指定して Apps Script コールバック関数を呼び出します。

Google Workspace アドオンと Google Chat アプリでご利用いただけます。

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

Methods

メソッド戻り値の型概要
setFunctionName(functionName)Action呼び出されるコールバック関数の名前を設定します。
setInteraction(interaction)Actionユーザーとのやり取りを設定します。ダイアログを開く場合にのみ必要です。
setLoadIndicator(loadIndicator)Actionアクションの進行中に表示される読み込みインジケーターを設定します。
setParameters(parameters)Actionカスタム パラメータをコールバック関数に渡すことができます。
setPersistValues(persistValues)Actionアクション レスポンスによってフォームの Card が更新された後に、フォームの値がクライアントの値とサーバーの値のどちらで決定されるかを示します。

詳細なドキュメント

setFunctionName(functionName)

呼び出されるコールバック関数の名前を設定します。必須。

パラメータ

Name説明
functionNameString関数の名前。付属のライブラリの関数(Library.libFunction1 など)を使用できます。

リターン

Action - チェーン用のこのオブジェクト。


setInteraction(interaction)

ユーザーとのやり取りを設定します。ダイアログを開く場合にのみ必要です。指定しない場合、アプリは通常どおり、リンクのオープンや関数の実行など、Action を実行することで応答します。

Google Chat アプリでのみ使用できます。Google Workspace アドオンでは利用できません。

const action = CardService.newAction()
    .setFunctionName('handleDialog')
    .setInteraction(CardService.Interaction.OPEN_DIALOG);

パラメータ

Name説明
interactionInteraction指定するインタラクション。

リターン

Action - チェーン用のこのオブジェクト。


setLoadIndicator(loadIndicator)

アクションの進行中に表示される読み込みインジケーターを設定します。

パラメータ

Name説明
loadIndicatorLoadIndicator表示するインジケーター。

リターン

Action - チェーン用のこのオブジェクト。


setParameters(parameters)

カスタム パラメータをコールバック関数に渡すことができます。省略可。

パラメータ

Name説明
parametersObjectキーと値はどちらも文字列にする必要があります。

リターン

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'));

パラメータ

Name説明
persistValuesBoolean値を保持するかどうか。デフォルトは false です。

リターン

Action - チェーン用のこのオブジェクト。

サポート終了のメソッド