Если вы создаёте пользовательский интерфейс для скрипта, вы можете опубликовать его как веб-приложение. Например, скрипт, позволяющий пользователям планировать встречи с сотрудниками службы поддержки, лучше всего оформить в виде веб-приложения, чтобы пользователи могли получать к нему доступ непосредственно из браузера.
Как автономные скрипты , так и скрипты, привязанные к приложениям Google Workspace, можно превратить в веб-приложения, если они соответствуют указанным ниже требованиям.
Требования к веб-приложениям
Скрипт может быть опубликован как веб-приложение, если он соответствует следующим требованиям:
-  Он содержит функцию 
doGet(e)илиdoPost(e). -  Функция возвращает объект 
HtmlOutputслужбы HTML или объектTextOutputслужбы контента . 
Параметры запроса
 Когда пользователь открывает приложение или программа отправляет приложению HTTP-запрос GET , Apps Script запускает функцию doGet(e) . Когда программа отправляет приложению HTTP-запрос POST , Apps Script вместо этого запускает doPost(e) . В обоих случаях аргумент e представляет собой параметр события, который может содержать информацию о любых параметрах запроса. Структура объекта события представлена в таблице ниже:
| Поля | |
|---|---|
 e.queryString |  Значение части строки запроса URL-адреса или  name=alice&n=1&n=2  | 
 e.parameter | Объект пар «ключ/значение», соответствующий параметрам запроса. Для параметров с несколькими значениями возвращается только первое значение. {"name": "alice", "n": "1"} | 
 e.parameters |  Объект, аналогичный  {"name": ["alice"], "n": ["1", "2"]} | 
 e.pathInfo |  Путь URL после   | 
 e.contextPath | Не используется, всегда пустая строка. | 
 e.contentLength |  Длина тела запроса для запросов POST или  332  | 
 e.postData.length |  То же, что и  332  | 
 e.postData.type | Тип MIME тела POST text/csv  | 
 e.postData.contents | Текст содержимого тела POST-запроса Alice,21  | 
 e.postData.name | Всегда значение "postData" postData  | 
Например, вы можете передать такие параметры, как username и age в URL-адрес, как показано ниже:
https://script.google.com/.../exec?username=jsmith&age=21
Затем вы можете отобразить параметры следующим образом:
function doGet(e) {
  var params = JSON.stringify(e);
  return ContentService.createTextOutput(params).setMimeType(ContentService.MimeType.JSON);
}
В приведенном выше примере doGet(e) возвращает следующий вывод: 
{
  "queryString": "username=jsmith&age=21",
  "parameter": {
    "username": "jsmith",
    "age": "21"
  },
  "contextPath": "",
  "parameters": {
    "username": [
      "jsmith"
    ],
    "age": [
      "21"
    ]
  },
  "contentLength": -1
}
Развернуть скрипт как веб-приложение
Чтобы развернуть скрипт как веб-приложение, выполните следующие действия:
- В правом верхнем углу проекта скрипта нажмите Развернуть > Новое развертывание .
 - Рядом с пунктом «Выбрать тип» нажмите Включить типов развертывания > Веб-приложение .
 - Введите информацию о вашем веб-приложении в поля в разделе «Конфигурация развертывания».
 - Нажмите Развернуть .
 
Вы можете поделиться URL-адресом веб-приложения с теми, кто хотел бы использовать ваше приложение, при условии, что вы предоставили им доступ.
Тестирование развертывания веб-приложения
Чтобы протестировать свой скрипт как веб-приложение, выполните следующие действия:
- В правом верхнем углу проекта скрипта нажмите Развернуть > Тестовые развертывания .
 - Рядом с пунктом «Выбрать тип» нажмите Включить типов развертывания > Веб-приложение .
 - Под URL-адресом веб-приложения нажмите «Копировать» .
 Вставьте URL-адрес в адресную строку браузера и протестируйте свое веб-приложение.
Этот URL-адрес заканчивается на
/devи доступен только пользователям с правами на редактирование скрипта. Этот экземпляр приложения всегда запускает последний сохранённый код и предназначен только для тестирования во время разработки.
Разрешения
Разрешения для веб-приложения различаются в зависимости от выбранного вами способа запуска приложения:
- Выполнить приложение от имени меня — в этом случае скрипт всегда будет выполняться от вашего имени, владельца скрипта, независимо от того, кто получает доступ к веб-приложению.
 - Запустить приложение от имени пользователя, обращающегося к веб-приложению. В этом случае скрипт запускается от имени активного пользователя, использующего веб-приложение. Такой подход к разрешениям позволяет веб-приложению отображать адрес электронной почты владельца скрипта, когда пользователь разрешает доступ.
 
Встройте свое веб-приложение в Google Sites
 Чтобы встроить веб-приложение в Google Сайты, его необходимо сначала развернуть . Вам также понадобится URL-адрес развёрнутого приложения из диалогового окна Deploy .
Чтобы встроить веб-приложение на страницу сайта , выполните следующие действия:
- Откройте страницу «Сайты», на которую вы хотите добавить веб-приложение.
 - Выберите Вставить > Встроить URL .
 - Вставьте URL-адрес веб-приложения и нажмите ДОБАВИТЬ .
 
Веб-приложение отображается в рамке в предварительном просмотре страницы. При публикации страницы посетителям вашего сайта может потребоваться авторизация веб-приложения для его корректной работы. Неавторизованные веб-приложения выводят пользователю запросы на авторизацию.
Веб-приложения и история браузера
Веб-приложение Apps Script может быть желательным для имитации многостраничного приложения или приложения с динамическим пользовательским интерфейсом, управляемым параметрами URL. Для этого можно определить объект состояния, представляющий пользовательский интерфейс или страницу приложения, и сохранять его в истории браузера при навигации пользователя по приложению. Вы также можете отслеживать события истории, чтобы ваше веб-приложение отображало корректный пользовательский интерфейс при навигации пользователя с помощью кнопок браузера. Запрашивая параметры URL во время загрузки, вы можете динамически формировать пользовательский интерфейс приложения на основе этих параметров, позволяя пользователю запускать приложение в определённом состоянии.
Apps Script предоставляет два асинхронных клиентских API JavaScript для создания веб-приложений, связанных с историей браузера:
google.script.historyпредоставляет методы для динамического реагирования на изменения истории браузера. Это включает в себя: добавление состояний (простых объектов, которые вы можете определить) в историю браузера, замену верхнего состояния в стеке истории и установку функции обратного вызова прослушивателя для реагирования на изменения истории.google.script.urlпредоставляет средства для извлечения параметров URL текущей страницы и фрагмента URL, если они присутствуют.
Эти API истории доступны только для веб-приложений. Они не поддерживаются для боковых панелей, диалоговых окон и дополнений. Эту функциональность также не рекомендуется использовать в веб-приложениях, встроенных в Google Сайты .
,Если вы создаёте пользовательский интерфейс для скрипта, вы можете опубликовать его как веб-приложение. Например, скрипт, позволяющий пользователям планировать встречи с сотрудниками службы поддержки, лучше всего оформить в виде веб-приложения, чтобы пользователи могли получать к нему доступ непосредственно из браузера.
Как автономные скрипты , так и скрипты, привязанные к приложениям Google Workspace, можно превратить в веб-приложения, если они соответствуют указанным ниже требованиям.
Требования к веб-приложениям
Скрипт может быть опубликован как веб-приложение, если он соответствует следующим требованиям:
-  Он содержит функцию 
doGet(e)илиdoPost(e). -  Функция возвращает объект 
HtmlOutputслужбы HTML или объектTextOutputслужбы контента . 
Параметры запроса
 Когда пользователь открывает приложение или программа отправляет приложению HTTP-запрос GET , Apps Script запускает функцию doGet(e) . Когда программа отправляет приложению HTTP-запрос POST , Apps Script вместо этого запускает doPost(e) . В обоих случаях аргумент e представляет собой параметр события, который может содержать информацию о любых параметрах запроса. Структура объекта события представлена в таблице ниже:
| Поля | |
|---|---|
 e.queryString |  Значение части строки запроса URL-адреса или  name=alice&n=1&n=2  | 
 e.parameter | Объект пар «ключ/значение», соответствующий параметрам запроса. Для параметров с несколькими значениями возвращается только первое значение. {"name": "alice", "n": "1"} | 
 e.parameters |  Объект, аналогичный  {"name": ["alice"], "n": ["1", "2"]} | 
 e.pathInfo |  Путь URL после   | 
 e.contextPath | Не используется, всегда пустая строка. | 
 e.contentLength |  Длина тела запроса для запросов POST или  332  | 
 e.postData.length |  То же, что и  332  | 
 e.postData.type | Тип MIME тела POST text/csv  | 
 e.postData.contents | Текст содержимого тела POST-запроса Alice,21  | 
 e.postData.name | Всегда значение "postData" postData  | 
Например, вы можете передать такие параметры, как username и age в URL-адрес, как показано ниже:
https://script.google.com/.../exec?username=jsmith&age=21
Затем вы можете отобразить параметры следующим образом:
function doGet(e) {
  var params = JSON.stringify(e);
  return ContentService.createTextOutput(params).setMimeType(ContentService.MimeType.JSON);
}
В приведенном выше примере doGet(e) возвращает следующий вывод: 
{
  "queryString": "username=jsmith&age=21",
  "parameter": {
    "username": "jsmith",
    "age": "21"
  },
  "contextPath": "",
  "parameters": {
    "username": [
      "jsmith"
    ],
    "age": [
      "21"
    ]
  },
  "contentLength": -1
}
Развернуть скрипт как веб-приложение
Чтобы развернуть скрипт как веб-приложение, выполните следующие действия:
- В правом верхнем углу проекта скрипта нажмите Развернуть > Новое развертывание .
 - Рядом с пунктом «Выбрать тип» нажмите Включить типов развертывания > Веб-приложение .
 - Введите информацию о вашем веб-приложении в поля в разделе «Конфигурация развертывания».
 - Нажмите Развернуть .
 
Вы можете поделиться URL-адресом веб-приложения с теми, кто хотел бы использовать ваше приложение, при условии, что вы предоставили им доступ.
Тестирование развертывания веб-приложения
Чтобы протестировать свой скрипт как веб-приложение, выполните следующие действия:
- В правом верхнем углу проекта скрипта нажмите Развернуть > Тестовые развертывания .
 - Рядом с пунктом «Выбрать тип» нажмите Включить типов развертывания > Веб-приложение .
 - Под URL-адресом веб-приложения нажмите «Копировать» .
 Вставьте URL-адрес в адресную строку браузера и протестируйте свое веб-приложение.
Этот URL-адрес заканчивается на
/devи доступен только пользователям с правами на редактирование скрипта. Этот экземпляр приложения всегда запускает последний сохранённый код и предназначен только для тестирования во время разработки.
Разрешения
Разрешения для веб-приложения различаются в зависимости от выбранного вами способа запуска приложения:
- Выполнить приложение от имени меня — в этом случае скрипт всегда будет выполняться от вашего имени, владельца скрипта, независимо от того, кто получает доступ к веб-приложению.
 - Запустить приложение от имени пользователя, обращающегося к веб-приложению. В этом случае скрипт запускается от имени активного пользователя, использующего веб-приложение. Такой подход к разрешениям позволяет веб-приложению отображать адрес электронной почты владельца скрипта, когда пользователь разрешает доступ.
 
Встройте свое веб-приложение в Google Sites
 Чтобы встроить веб-приложение в Google Сайты, его необходимо сначала развернуть . Вам также понадобится URL-адрес развёрнутого приложения из диалогового окна Deploy .
Чтобы встроить веб-приложение на страницу сайта , выполните следующие действия:
- Откройте страницу «Сайты», на которую вы хотите добавить веб-приложение.
 - Выберите Вставить > Встроить URL .
 - Вставьте URL-адрес веб-приложения и нажмите ДОБАВИТЬ .
 
Веб-приложение отображается в рамке в предварительном просмотре страницы. При публикации страницы посетителям вашего сайта может потребоваться авторизация веб-приложения для его корректной работы. Неавторизованные веб-приложения выводят пользователю запросы на авторизацию.
Веб-приложения и история браузера
Веб-приложение Apps Script может быть желательным для имитации многостраничного приложения или приложения с динамическим пользовательским интерфейсом, управляемым параметрами URL. Для этого можно определить объект состояния, представляющий пользовательский интерфейс или страницу приложения, и сохранять его в истории браузера при навигации пользователя по приложению. Вы также можете отслеживать события истории, чтобы ваше веб-приложение отображало корректный пользовательский интерфейс при навигации пользователя с помощью кнопок браузера. Запрашивая параметры URL во время загрузки, вы можете динамически формировать пользовательский интерфейс приложения на основе этих параметров, позволяя пользователю запускать приложение в определённом состоянии.
Apps Script предоставляет два асинхронных клиентских API JavaScript для создания веб-приложений, связанных с историей браузера:
google.script.historyпредоставляет методы для динамического реагирования на изменения истории браузера. Это включает в себя: добавление состояний (простых объектов, которые вы можете определить) в историю браузера, замену верхнего состояния в стеке истории и установку функции обратного вызова прослушивателя для реагирования на изменения истории.google.script.urlпредоставляет средства для извлечения параметров URL текущей страницы и фрагмента URL, если они присутствуют.
Эти API истории доступны только для веб-приложений. Они не поддерживаются для боковых панелей, диалоговых окон и дополнений. Эту функциональность также не рекомендуется использовать в веб-приложениях, встроенных в Google Сайты .
,Если вы создаёте пользовательский интерфейс для скрипта, вы можете опубликовать его как веб-приложение. Например, скрипт, позволяющий пользователям планировать встречи с сотрудниками службы поддержки, лучше всего оформить в виде веб-приложения, чтобы пользователи могли получать к нему доступ непосредственно из браузера.
Как автономные скрипты , так и скрипты, привязанные к приложениям Google Workspace, можно превратить в веб-приложения, если они соответствуют указанным ниже требованиям.
Требования к веб-приложениям
Скрипт может быть опубликован как веб-приложение, если он соответствует следующим требованиям:
-  Он содержит функцию 
doGet(e)илиdoPost(e). -  Функция возвращает объект 
HtmlOutputслужбы HTML или объектTextOutputслужбы контента . 
Параметры запроса
 Когда пользователь открывает приложение или программа отправляет приложению HTTP-запрос GET , Apps Script запускает функцию doGet(e) . Когда программа отправляет приложению HTTP-запрос POST , Apps Script вместо этого запускает doPost(e) . В обоих случаях аргумент e представляет собой параметр события, который может содержать информацию о любых параметрах запроса. Структура объекта события представлена в таблице ниже:
| Поля | |
|---|---|
 e.queryString |  Значение части строки запроса URL-адреса или  name=alice&n=1&n=2  | 
 e.parameter | Объект пар «ключ/значение», соответствующий параметрам запроса. Для параметров с несколькими значениями возвращается только первое значение. {"name": "alice", "n": "1"} | 
 e.parameters |  Объект, аналогичный  {"name": ["alice"], "n": ["1", "2"]} | 
 e.pathInfo |  Путь URL после   | 
 e.contextPath | Не используется, всегда пустая строка. | 
 e.contentLength |  Длина тела запроса для запросов POST или  332  | 
 e.postData.length |  То же, что и  332  | 
 e.postData.type | Тип MIME тела POST text/csv  | 
 e.postData.contents | Текст содержимого тела POST-запроса Alice,21  | 
 e.postData.name | Всегда значение "postData" postData  | 
Например, вы можете передать такие параметры, как username и age в URL-адрес, как показано ниже:
https://script.google.com/.../exec?username=jsmith&age=21
Затем вы можете отобразить параметры следующим образом:
function doGet(e) {
  var params = JSON.stringify(e);
  return ContentService.createTextOutput(params).setMimeType(ContentService.MimeType.JSON);
}
В приведенном выше примере doGet(e) возвращает следующий вывод: 
{
  "queryString": "username=jsmith&age=21",
  "parameter": {
    "username": "jsmith",
    "age": "21"
  },
  "contextPath": "",
  "parameters": {
    "username": [
      "jsmith"
    ],
    "age": [
      "21"
    ]
  },
  "contentLength": -1
}
Развернуть скрипт как веб-приложение
Чтобы развернуть скрипт как веб-приложение, выполните следующие действия:
- В правом верхнем углу проекта скрипта нажмите Развернуть > Новое развертывание .
 - Рядом с пунктом «Выбрать тип» нажмите Включить типов развертывания > Веб-приложение .
 - Введите информацию о вашем веб-приложении в поля в разделе «Конфигурация развертывания».
 - Нажмите Развернуть .
 
Вы можете поделиться URL-адресом веб-приложения с теми, кто хотел бы использовать ваше приложение, при условии, что вы предоставили им доступ.
Тестирование развертывания веб-приложения
Чтобы протестировать свой скрипт как веб-приложение, выполните следующие действия:
- В правом верхнем углу проекта скрипта нажмите Развернуть > Тестовые развертывания .
 - Рядом с пунктом «Выбрать тип» нажмите Включить типов развертывания > Веб-приложение .
 - Под URL-адресом веб-приложения нажмите «Копировать» .
 Вставьте URL-адрес в адресную строку браузера и протестируйте свое веб-приложение.
Этот URL-адрес заканчивается на
/devи доступен только пользователям с правами на редактирование скрипта. Этот экземпляр приложения всегда запускает последний сохранённый код и предназначен только для тестирования во время разработки.
Разрешения
Разрешения для веб-приложения различаются в зависимости от выбранного вами способа запуска приложения:
- Выполнить приложение от имени меня — в этом случае скрипт всегда будет выполняться от вашего имени, владельца скрипта, независимо от того, кто получает доступ к веб-приложению.
 - Запустить приложение от имени пользователя, обращающегося к веб-приложению. В этом случае скрипт запускается от имени активного пользователя, использующего веб-приложение. Такой подход к разрешениям позволяет веб-приложению отображать адрес электронной почты владельца скрипта, когда пользователь разрешает доступ.
 
Встройте свое веб-приложение в Google Sites
 Чтобы встроить веб-приложение в Google Сайты, его необходимо сначала развернуть . Вам также понадобится URL-адрес развёрнутого приложения из диалогового окна Deploy .
Чтобы встроить веб-приложение на страницу сайта , выполните следующие действия:
- Откройте страницу «Сайты», на которую вы хотите добавить веб-приложение.
 - Выберите Вставить > Встроить URL .
 - Вставьте URL-адрес веб-приложения и нажмите ДОБАВИТЬ .
 
Веб-приложение отображается в рамке в предварительном просмотре страницы. При публикации страницы посетителям вашего сайта может потребоваться авторизация веб-приложения для его корректной работы. Неавторизованные веб-приложения выводят пользователю запросы на авторизацию.
Веб-приложения и история браузера
Веб-приложение Apps Script может быть желательным для имитации многостраничного приложения или приложения с динамическим пользовательским интерфейсом, управляемым параметрами URL. Для этого можно определить объект состояния, представляющий пользовательский интерфейс или страницу приложения, и сохранять его в истории браузера при навигации пользователя по приложению. Вы также можете отслеживать события истории, чтобы ваше веб-приложение отображало корректный пользовательский интерфейс при навигации пользователя с помощью кнопок браузера. Запрашивая параметры URL во время загрузки, вы можете динамически формировать пользовательский интерфейс приложения на основе этих параметров, позволяя пользователю запускать приложение в определённом состоянии.
Apps Script предоставляет два асинхронных клиентских API JavaScript для создания веб-приложений, связанных с историей браузера:
google.script.historyпредоставляет методы для динамического реагирования на изменения истории браузера. Это включает в себя: добавление состояний (простых объектов, которые вы можете определить) в историю браузера, замену верхнего состояния в стеке истории и установку функции обратного вызова прослушивателя для реагирования на изменения истории.google.script.urlпредоставляет средства для извлечения параметров URL текущей страницы и фрагмента URL, если они присутствуют.
Эти API истории доступны только для веб-приложений. Они не поддерживаются для боковых панелей, диалоговых окон и дополнений. Эту функциональность также не рекомендуется использовать в веб-приложениях, встроенных в Google Сайты .