Apps Script 関数の実行

Apps Script API(旧称 Apps Script Execution API)を使用すると、アクセス権のあるスクリプト プロジェクトの関数をリモートで実行できます。アプリは、必要に応じて入力パラメータを指定して Apps Script 関数を呼び出し、返されたレスポンスを受け取ることができます。

このページの例は、API を使用して一般的な実行オペレーションを行う方法を示しています。特別な認可要件などの詳細については、関数の実行ガイドをご覧ください。

この例では、プレースホルダ scriptId を使用して、スクリプト プロジェクト ID を指定する場所を示します。スクリプト ID を確認する手順は次のとおりです。

  1. Apps Script プロジェクトの左上にある [プロジェクトの設定] をクリックします。
  2. [スクリプト ID] の横にある [コピー] をクリックします。

関数を実行

以下の scripts.run リクエストは、listFolderContent という名前の Apps Script 関数を呼び出し、引数としてドライブの folderId と整数の MAX_SIZE を渡します。関数は開発モードで実行されます。つまり、実行ファイルとしてデプロイされたバージョンに関係なく、関数の最新の保存されたバージョンが実行されます。

リクエストのプロトコルを以下に示します。関数の実行ガイドでは、Google API クライアント ライブラリを使用して実行リクエストをさまざまな言語で実装する方法について説明しています。

POST https://script.googleapis.com/v1/scripts/scriptId:run
{
  "function": "listFolderContent",
  "parameters": [
    folderId,
    MAX_SIZE
  ],
  "devMode": true
}

呼び出された Apps Script 関数が完了すると、このリクエストへのレスポンスに実行結果またはエラー レスポンスが含まれます。この例では、関数はファイル名の配列を正常に返します。

{
  "response": {
    "result": [
      "fileTitle1",
      "fileTitle2",
      "fileTitle3"
    ]
  },
}

Apps Script の実行中に関数でエラーが発生した場合、レスポンスは次のようになります。

{
  "response": {
    "error": {
      "code": 3,
      "message": "ScriptError",
      "details": [{
        "@type": "type.googleapis.com/google.apps.script.v1.ExecutionError",
        "errorMessage": "The script enountered an exeception it could not resolve.",
        "errorType": "ScriptError",
        "scriptStackTraceElements": [{
          "function": "listFolderContent",
          "lineNumber": 14
        }]
      }]
    }
  }
}