Выполнение функций Google Apps Script

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

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

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

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

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

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