API Apps Script (ранее — Apps Script Execution API) позволяет удаленно выполнять функцию в проекте скрипта, к которому у вас есть доступ. Ваше приложение может вызывать заданную функцию Apps Script, при необходимости предоставляя ей входные параметры, и получать возвращаемый ответ.
Примеры на этой странице иллюстрируют, как с помощью API можно выполнить некоторые распространенные операции выполнения. Дополнительную информацию, включая специальные требования к авторизации , см. в руководстве «Выполнение функции» .
В этих примерах заполнители scriptId используются для указания места, где вы должны указать идентификатор проекта сценария. Выполните следующие действия, чтобы найти идентификатор сценария:
- В проекте Apps Script в левом верхнем углу нажмите проекта» .
- Рядом с надписью «Идентификатор сценария» нажмите «Копировать » .
Выполнить функцию
Следующий запрос 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
}]
}]
}
}
}