Apps Script タスクからの戻り値を使用する

以下のセクションで説明するように、Apps Script 自動化タスクの戻り値を構成し、使用します。

Apps Script タスクの戻り値とは

Apps Script タスクを使用すると、Google Apps Script 関数の戻り値を AppSheet 自動化機能内の別のステップに渡すことができます。この記事では、戻り値を構成する方法と参照する方法を説明します。

使用例

  • Webhook 呼び出しの戻り値を Google スプレッドシートに書き戻す
  • Apps Script 関数の出力に基づいてテーブルの行の更新や新しい行の追加を行う
  • Apps Script 関数の結果に基づいて条件フローを記述する

AppSheet で Apps Script 戻り値を構成する

AppSheet で Apps Script の戻り値を構成するには、Apps Script 関数からの期待される戻り値と、戻り値を変換する AppSheet の型を指定する必要があります。

Apps Script での操作

  1. AppSheet で呼び出す Apps Script 関数に return 文を追加します。これはあらゆる AppS Script の型を返す可能性があり、型の制限に注意事項がリストアップされています。たとえば、この関数はブール値を返します。

    Example Apps Script function with a return value.

 

AppSheet での操作

  1. 自動化機能から Apps Script を呼び出すの説明に従い、Apps Script タスクを構成します。
  2. 戻り値を構成するために、[Return Value] をオンに切り替えます。

    Return Value section of the Apps Script task
  3. Apps Script 関数の戻り値の型をクリックします。
  4. プルダウンから変換先の AppSheet の型を選択します。

自動化で Apps Script 戻り値を使用する

同期タスク([Run asynchronously?] は無効)は、戻り値が返るのを [Apps Script execution limitation] で指定された上限まで待ちます。

プロセス中の次のステップの中の式で戻り値を参照するには、次の構文を使用して出力を参照できます。

  • [StepName].[Output]: 文字列、ブール値、数値、配列、日付に対して
  • [StepName].[Key]: 返されたオブジェクトのキーが Key であるオブジェクトに対して

: StepName は実行中の自動化のコンテキストにおいて、すべてのステップ名と列名に対して一意である必要があります。

たとえば、このプロセスには CreateFile というステップ名があり、データ アクション ステップで行の値の設定に使用されます。

Use the Apps Script return value in an automation

これで完了です。この戻り値の Sheet への書き戻し、既存の行の変更、戻り値を使用した条件付き自動化の実行が可能です。

レスポンスからネストされたフィールドを使用する

AppSheet は、レスポンス内の任意のレベルでネストされたオブジェクトをサポートします。ネストされたフィールドを使用するには、.(ドット)セパレータを使用します。

たとえば、Apps Script 関数の戻り値が以下のように定義されていたとします。

function myFunction() {
  return {
    a: {
      b: "Simple Example Text",
    },
    c: "More text",
  };
}

ネストされたフィールドを以下の構文を使用して参照できます。

[StepName].[a.b] // "Simple Example Text" を返します

Apps Script と AppSheet の型マッピング

次の表は、Apps Script の型と、それから変換できる同等の AppSheet の型を大まかに示しています。

Apps Script の型

AppSheet の型

String

“string”

Text、Url、Address など

Boolean

truefalse

Yes/No

Number

42

Number、Decimal、Price など

Object

{a: “string”, b: false}

それぞれの型の列の Table Ref

Array

[1, 2, 3]

List または EnumList

Date

new Date()

Date、Time、または DateTime

型の制限

Apps Script と AppSheet の型体系の違いにより、次の表に記載した高度な型はサポートされません。

説明

複数の型の Array

[1, “string”]

AppSheet の型体系では、リストは同じ型で構成されていることが期待されます。

自動化の制限

戻り値を他のタスクに直接渡すことは、現在はできません。同じプロセスのコンテキスト内のステップ(アクションや条件実行)にのみ渡すことができます。

戻り値のデバッグに関するヒント

型変換に失敗した場合も、実行は失敗することはなく、エラー メッセージが Automation Monitor に報告されます。たとえば、Failed Apps Script type translation: Type 'Number' failed to translate to 'Yes/No' は、Apps Script から数値が返されたのに対し、タスクは Yes/No 型を期待するように構成されていたということを意味します。

この情報は役に立ちましたか?

改善できる点がありましたらお聞かせください。
検索
検索をクリア
検索を終了
Google アプリ
メインメニュー
12140274974696275235
true
ヘルプセンターを検索
false
true
true
true
false
false
false
false