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