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

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

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

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

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

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

Следующий запрос scripts.run вызывает функцию Apps Script с именем listFolderContent , передавая ей в качестве аргументов folderId Диска и целое число MAX_SIZE . Функция выполняется в режиме разработки, то есть выполняется последняя сохранённая версия функции, независимо от того, какая версия развернута как исполняемый файл.

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

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