Сообщение от korodron
|
И можете еще подсказать, как также передавать параметр нужного сайта и параметр url страницы?
|
Допишите в doGet параметр e, вот так:
function doGet(e) {
И можете внутри нее получать параметры так:
var param1 = e.parameter.par1;
var param2 = e.parameter.par2;
В URL они будут выглядеть так:
.../exec?par1=aaa&par2=bbb
Сообщение от korodron
|
Но новые поля даже не появляются в обновленном скрипте
|
Странно, по идее должно работать. Вы код сохраняли и задеплоили? Сейчас проверил у себя, работает. Вот код, который тестил у себя:
function doGet(e) {
var app = UiApp.createApplication();
app.add(app.createHTML("Page title:<br>"));
var textBox = app.createTextBox().setId('pageTitle').setName('pageTitle');
app.add(textBox);
app.add(app.createHTML("<br>HTML:<br>"));
var textArea = app.createTextArea().setId('htmlText').setName('htmlText');
app.add(textArea);
app.add(app.createHTML("<br>"));
app.add(app.createHTML("Page url:<br>"));
var pageUrlTextBox = app.createTextBox().setId('pageUrl').setName('pageUrl');
app.add(pageUrlTextBox);
app.add(app.createHTML("Site:<br>"));
var siteHrefTextBox = app.createTextBox().setId('siteHref').setName('siteHref');
app.add(siteHrefTextBox);
app.add(app.createHTML("<br>"));
var button = app.createButton('Create page');
app.add(button);
var label = app.createLabel('The button was clicked.')
.setId('statusLabel')
.setVisible(false);
app.add(label);
var handler = app.createServerHandler('myClickHandler');
handler.addCallbackElement(label);
handler.addCallbackElement(textBox);
handler.addCallbackElement(textArea);
handler.addCallbackElement(pageUrlTextBox);
handler.addCallbackElement(siteHrefTextBox);
button.addClickHandler(handler);
return app;
}
function myClickHandler(e) {
var app = UiApp.getActiveApplication();
var pageTitle = e.parameter.pageTitle;
var html = e.parameter.htmlText;
var siteHref = e.parameter.siteHref;
var pageUrl = e.parameter.pageUrl;
createDemoPage(pageTitle, html, pageUrl, siteHref);
var label = app.getElementById('statusLabel');
label.setText('new page created: ' + pageTitle);
label.setVisible(true);
app.close();
return app;
}
function createDemoPage(pageTitle, html, pageUrl, siteHref) {
var site = SitesApp.getSiteByUrl("https://sites.google.com/site/"+siteHref+"/");
site.createWebPage(pageTitle, pageUrl, html);
};
Сообщение от korodron
|
Это будет верным вариантом?
|
В принципе, должно работать, если права доступа к сайтам у приложения есть. У меня по крайней мере работает.