Ответ:
Вы можете опубликовать sh ваш скрипт в качестве веб-приложения и использовать параметры URL для передачи скрипту необходимой вам информации.
Дополнительная информация :
Из документации Google о веб-приложениях:
Если вы создаете пользовательский интерфейс для скрипта, вы можете опубликовать sh скрипт как веб-приложение. Например, сценарий, который позволяет пользователям планировать встречи с членами группы поддержки, лучше всего представлять в виде веб-приложения, чтобы пользователи могли получать к нему доступ непосредственно из своих браузеров.
Однако даже без создания Пользовательский интерфейс, вы можете использовать эту функцию для запуска сценариев на вашем листе, используя HTTP-запросы.
Изменение сценария:
Чтобы разрешить сценарию принимать параметры URL-адреса, сначала необходимо изменить Ваш код, так что обработка выполняется по запросу HTTP GET
. Это можно сделать с помощью функции Apps Script doGet()
и параметра события e
:
function doGet(e) {
callName(e.parameter.name);
}
function callName(name) {
// Get the last Row and add the name provided
var sheet = SpreadsheetApp.getActiveSheet();
sheet.getRange(sheet.getLastRow() + 1,1).setValue([name]);
}
. Настройка веб-приложения:
В пользовательском интерфейсе Apps Script следуйте инструкциям Publish > Deploy as web app...
пункт меню, и во вновь открывшемся модальном окне вы захотите выбрать следующие настройки:
- Версия проекта:
New
- Запустите приложение как : Я (your-email@address.here)
- У кого есть доступ к приложению: Любой, даже анонимный
И нажмите Deploy
. Здесь вам дадут URL в новом меньшем модале в следующей форме:
https://script.google.com/a/your-domain.com/macros/s/some-script-id/exec
Выполнение запроса:
Остальное теперь тривиально - вы можете сделать HTTP-запрос к URL-адресу скрипта на предыдущем шаге, но с предоставлением параметра URL-адреса, который необходим вам, чтобы дать приложению информацию о значении, которое вы установите sh.
Например, если вы хотите чтобы установить значение на число 20, сделайте запрос на получение следующим образом:
GET https://script.google.com/a/your-domain.com/macros/s/some-script-id/exec?name=20
Обратите внимание, что ?name=20
в конце дает веб-приложению параметр name
со значением 20
. Функция doGet(e)
считывает это из e.parameter.name
и отправляет ее в вашу функцию callName(name)
для обработки и выполнения.
Надеюсь, это вам пригодится!
Ссылки: