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