ユーザーがサイトにログインできるようにするスクリプトを書いています。すべて完了しましたが、ログイン ボタンを押してユーザーが認証された後、新しいリンクを開く方法が見つからないようです。
手順:
- ユーザーはユーザー名とパスワードを入力します
- ユーザーが認証される
- ユーザーがスプレッドシートに存在する場合、ユーザーのプロファイルへのリンクが開かれます (これは、機能していないように見えるリンクです)。
よろしくお願いいたします。
ユーザーがサイトにログインできるようにするスクリプトを書いています。すべて完了しましたが、ログイン ボタンを押してユーザーが認証された後、新しいリンクを開く方法が見つからないようです。
手順:
よろしくお願いいたします。
ここに実際の例を示します。名前の 1 つを入力してください。3 文字が正しければ、リンクが表示されます。
function showDialog() {
var app = UiApp.createApplication();
app.setTitle("AnchorTest");
var panel = app.createVerticalPanel();
var txtBox = app.createTextBox().setName("tbox");
var subm = app.createAnchor('OK', 'href').setId('subm').setVisible(false);
var fake = app.createButton('Enter your lastName').setId('fake');
panel.add(txtBox).add(subm).add(fake);
var keyHandler = app.createServerHandler("textkey");
txtBox.addKeyUpHandler(keyHandler);
keyHandler.addCallbackElement(panel);
var clickHandler = app.createServerHandler("showurl");
subm.addClickHandler(clickHandler)
clickHandler.addCallbackElement(panel);
app.add(panel);
var doc = SpreadsheetApp.getActive();
doc.show(app);
}
//
function textkey(e){
var app = UiApp.getActiveApplication();
var href = app.getElementById('subm');
var fake = app.getElementById('fake');
href.setVisible(false);
fake.setVisible(true);
var txtValue = e.parameter.tbox;
var data=SpreadsheetApp.getActiveSheet().getDataRange().getValues();
Logger.log(data)
Logger.log(txtValue.length);
if (txtValue.length>2){
for(nn=0;nn<data.length;++nn){
Logger.log(txtValue+' '+data[nn][0])
if(data[nn][0].match(txtValue)==txtValue){
href.setHref(data[nn][1]).setHTML('ACCEPTED').setVisible(true);
fake.setVisible(false);
break;
}
}
}
return app;
}
//
function showurl(e){
var app = UiApp.getActiveApplication();
app.close();
return app;
}
対応するシートで利用可能なデータは次のとおりです (列 A & B)
> lastName url
> serge https://sites.google.com/site/appsscriptexperiments/home
> john https://sites.google.com/site/appsscriptexperiments/home/a-database-project
> paul https://sites.google.com/site/appsscriptexperiments/home/a-simple-search-tool-ui
> mike https://sites.google.com/site/appsscriptexperiments/home/doc-list-viewer
アンカーを試してみましたが、あなたが探しているものだと思いますね。ユーザーが認証されたら、それを表示することができます。