Выполнение функций скрипта приложений

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

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

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

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

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

Следующий запрос 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
       
}]
     
}]
   
}
 
}
}