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