Запускает функцию в проекте Apps Script. Проект скрипта должен быть развёрнут для использования с API Apps Script, а вызывающее приложение должно использовать тот же проект Cloud Platform.
Этот метод требует авторизации с помощью токена OAuth 2.0, включающего как минимум одну из областей действия, перечисленных в разделе «Авторизация» . Проекты скриптов, не требующие авторизации, не могут быть выполнены через этот API. Чтобы найти области действия, которые нужно включить в токен аутентификации, откройте страницу «Обзор проекта скрипта» и прокрутите вниз до раздела «Области действия OAuth проекта».
 Ошибка 403, PERMISSION_DENIED: The caller does not have permission указывает на то, что проект Cloud Platform, используемый для авторизации запроса, не совпадает с тем, который используется скриптом. 
HTTP-запрос
 POST https://script.googleapis.com/v1/scripts/{deploymentId}:run
URL использует синтаксис перекодировки gRPC .
Параметры пути
| Параметры | |
|---|---|
 deploymentId |   Идентификатор развертывания исполняемого файла API. Найдите идентификатор развертывания в разделе «Развертывание» > «Управление развертываниями» в редакторе скриптов.  | 
Текст запроса
Тело запроса содержит данные со следующей структурой:
| JSON-представление | 
|---|
{ "function": string, "parameters": [ value ], "sessionState": string, "devMode": boolean }  | 
| Поля | |
|---|---|
 function |    Имя функции, которая должна быть выполнена в данном скрипте. Имя не содержит скобок и параметров. Оно может ссылаться на функцию из включённой библиотеки, например,   | 
 parameters[] |    Параметры, передаваемые в выполняемую функцию. Тип объекта каждого параметра должен соответствовать ожидаемому типу в Apps Script. Параметры не могут быть типами объектов, специфичными для Apps Script (например,   | 
 sessionState |    Устарело . Только для использования с надстройками Android. Идентификатор, представляющий текущий сеанс пользователя в приложении Android для Google Docs или Sheets, включённый в качестве дополнительных данных в намерение , запускающее надстройку. Когда надстройка Android запускается с состоянием сеанса, она получает привилегии связанного скрипта, то есть может получать доступ к такой информации, как текущее положение курсора пользователя (в Docs) или выбранная ячейка (в Sheets). Чтобы получить состояние, вызовите   | 
 devMode |    Если   | 
Тело ответа
В случае успеха тело ответа содержит данные со следующей структурой:
 Представление выполнения функции Apps Script, начатого с помощью run . Ответ на выполнение не поступает до завершения функции. Максимальное время выполнения указано в руководстве по квотам Apps Script .
После начала исполнения может быть один из четырех результатов:
-  Если функция скрипта возвращается успешно, поле 
responseсодержит объектExecutionResponseс возвращаемым значением функции в полеresultобъекта. -  Если функция скрипта (или сам скрипт Apps) выдаёт исключение, поле 
errorсодержит объектStatus. ПолеdetailsобъектаStatusсодержит массив с одним объектомExecutionError, который предоставляет информацию о характере ошибки. -  Если выполнение еще не завершено, поле 
doneравноfalseи ни полеresponse, ни полеerrorотсутствуют. -  Если сам вызов 
runзавершается неудачей (например, из-за некорректного запроса или ошибки авторизации), метод возвращает код HTTP-ответа в диапазоне 4XX с другим форматом тела ответа. Клиентские библиотеки автоматически преобразуют ответ 4XX в класс исключения. 
| JSON-представление | 
|---|
{ "done": boolean, // Union field  | 
| Поля | |
|---|---|
 done |    Это поле указывает, завершено ли выполнение скрипта. Завершенное выполнение сопровождается заполненным полем   | 
 Поле объединения result . Результат операции, который может быть как error , так и допустимым response . Если done == false , ни error , ни response не устанавливаются. Если done == true , может быть установлен только один из вариантов error или response . Некоторые службы могут не предоставлять результат. result может быть только одним из следующих: | |
 error |    Если вызов   | 
 response |    Если функция скрипта возвращается успешно, это поле содержит объект   Объект, содержащий поля произвольного типа. Дополнительное поле   | 
Области авторизации
Требуется одна из следующих областей OAuth:
-  
https://apps-apis.google.com/a/feeds -  
https://apps-apis.google.com/a/feeds/alias/ -  
https://apps-apis.google.com/a/feeds/groups/ -  
https://mail.google.com/ -  
https://sites.google.com/feeds -  
https://www.google.com/calendar/feeds -  
https://www.google.com/m8/feeds -  
https://www.googleapis.com/auth/admin.directory.group -  
https://www.googleapis.com/auth/admin.directory.user -  
https://www.googleapis.com/auth/documents -  
https://www.googleapis.com/auth/documents.currentonly -  
https://www.googleapis.com/auth/drive -  
https://www.googleapis.com/auth/dynamiccreatives -  
https://www.googleapis.com/auth/forms -  
https://www.googleapis.com/auth/forms.currentonly -  
https://www.googleapis.com/auth/groups -  
https://www.googleapis.com/auth/script.cpanel -  
https://www.googleapis.com/auth/script.external_request -  
https://www.googleapis.com/auth/script.scriptapp -  
https://www.googleapis.com/auth/script.send_mail -  
https://www.googleapis.com/auth/script.storage -  
https://www.googleapis.com/auth/script.webapp.deploy -  
https://www.googleapis.com/auth/spreadsheets -  
https://www.googleapis.com/auth/spreadsheets.currentonly -  
https://www.googleapis.com/auth/sqlservice -  
https://www.googleapis.com/auth/userinfo.email 
Более подробную информацию см. в обзоре OAuth 2.0 .
Статус
 Если вызов run выполнен успешно, но функция скрипта (или сам скрипт Apps) выдает исключение, поле error тела ответа содержит этот объект Status .
| JSON-представление | 
|---|
{ "code": integer, "message": string, "details": [ { "@type": string, field1: ..., ... } ] }  | 
| Поля | |
|---|---|
 code |   Код статуса. Для этого API это значение может быть: 
  | 
 message |    Сообщение об ошибке, отображаемое разработчиком на английском языке. Любое сообщение об ошибке, отображаемое пользователем, локализуется и отображается в поле   | 
 details[] |    Массив, содержащий один объект   Объект, содержащий поля произвольного типа. Дополнительное поле   |