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
        }]
      }]
    }
  }
}