次のスクリプトを作成しました
function doGet(e) {
var app = UiApp.createApplication();
var lbl = app.createTextArea();
lbl.setWidth('100%');
lbl.setHeight('100%');
var txt = SitesApp.getActivePage().getUrl();
lbl.setText(txt);
app.add(lbl);
return app;
}
そして、このスクリプトにリンクされたGoogleScriptGadgetを埋め込んだ2ページ。スクリプトの出力は、インターネットブラウザのアドレスバーのURLと同じです。
@LehanCoetzeeコード。
var templ = HtmlService.createTemplateFromFile('profile').evaluate();
site.createPageFromTemplate(name + ' ' + surname, name, templ);
「profile」は、AppsScriptEditorで作成したHTMLテンプレートです。
編集01:
上記のスクリプトにリンクされたガジェットを使用してテンプレートページを作成しました。スクリプトの名前はProfileTemplate
です。また、次のスクリプトで新しいページを作成しました。
function doGet(e) {
var app = UiApp.createApplication();
var panel = app.createVerticalPanel();
var tb = app.createTextBox().setName('tb').setId('tb');
var btn = app.createButton().setText('Create').setId('btn');
var out = app.createTextArea().setId('out');
var handler = app.createServerHandler('onBtnClick');
handler.addCallbackElement(panel);
btn.addClickHandler(handler);
panel.add(tb);
panel.add(btn);
panel.add(out);
app.add(panel);
return app;
}
function onBtnClick(e) {
var app = UiApp.getActiveApplication();
var site = SitesApp.getActiveSite();
var out = app.getElementById('out');
var templates = site.getTemplates();
var template;
var names = '';
for (var i = 0; i < templates.length; i++) {
if (templates[i].getName() == 'profiletemplate') {
template = templates[i];
break;
}
}
if (template != null) {
var pageName = e.parameter.tb;
out.setText('Found: ' + pageName);
site.createPageFromTemplate(pageName, pageName, template);
}
else {
out.setText('Not Found');
}
return app;
}
新しいページを開いて、たとえばtest1やtest2などのテキストを入力し、Create
ボタンをクリックすると、テンプレートから新しいページが作成されます。テンプレート化されたページには、テキスト「test1」のhttps://sites.google.com/a/..../.../test1のようなURLが含まれ、ガジェットの出力にはこのテキストが含まれます。