Выполнение функций скрипта приложений

API Apps Script (ранее — Apps Script Execution API) позволяет удаленно выполнять функцию в проекте скрипта, к которому у вас есть доступ. Ваше приложение может вызывать заданную функцию Apps Script, при необходимости предоставляя ей входные параметры, и получать возвращаемый ответ.

Примеры на этой странице иллюстрируют, как с помощью API можно выполнить некоторые распространенные операции выполнения. Дополнительную информацию , включая специальные требования к авторизации , см. в руководстве «Выполнение функции» .

В этих примерах заполнители scriptId используются для указания места, где вы должны указать идентификатор проекта сценария. Выполните следующие действия, чтобы найти идентификатор сценария:

  1. В проекте Apps Script в левом верхнем углу нажмите проекта» .
  2. Рядом с надписью «Идентификатор сценария» нажмите «Копировать » .

Выполнить функцию

Следующий запрос scripts.run вызывает функцию Apps Script с именем listFolderContent , передавая ей 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"
    ]
  },
}

Если функция обнаружила ошибку во время выполнения скрипта приложения, ответ может выглядеть следующим образом:

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