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