Я создал скрипт Google Apps, и у меня есть вопрос о передаче переменной обработчику кликов. Сценарий публикуется как веб-приложение и доступен по ссылке HTML по электронной почте (форма одобрения/отклонения для бизнес-запроса). Когда кто-то отправляет форму, электронное письмо отправляется соответствующему лицу, который при нажатии на ссылку одобрения. Эта ссылка содержит следующие переменные:Переменная скрипта Google Script для Click Handler
?status=enteredInCC&rowNum=9
Так что, когда они нажимают на ссылку скрипт запущен, и он входит в function doGet(e)
блок и в соответствующих случаях код:
var app = UiApp.createApplication();
var grid = app.createGrid(1, 2);
var label = app.createLabel('Please enter the item\'s PLU:')
var input = app.createTextBox().setId("input").setName("input");
grid.setWidget(0, 0, label);
grid.setWidget(0, 1, input);
var handler = app.createServerHandler("retrieveInput").addCallbackElement(input);
var button = app.createButton("OK", handler);
var panel = app.createVerticalPanel().setId("panel")
panel.add(grid);
panel.add(button);
app.add(panel);
return app;
Что приводит к обработчик кликов:
function retrieveInput(e){
var input = e.parameter.input;
var app = UiApp.getActiveApplication();
var panel = app.getElementById('panel');
panel.clear();
app.add(app.createHTML('<h2>The request has been updated. You can close this window.</h2>'))
app.close()
return app;
}
И все это отлично работает. Однако ранее в функции doGet(e)
некоторая информация была собрана из URL-адреса и хранилась в переменных. Теперь в retrieveInput(e)
Мне нужно получить доступ к этим переменным, чтобы внести некоторые обновления в электронную таблицу (сразу после panel.clear()
). Есть идеи?
Работал как очарование. Спасибо. – MSCF