我正在编写一个允许用户登录该站点的脚本。我已经完成了所有工作,但是在按下登录按钮对用户进行身份验证后,我似乎无法找到打开新链接的方法。
脚步:
- 用户输入用户名和密码
- 用户已通过身份验证
- 如果用户存在于电子表格中,则会打开一个指向用户个人资料的链接(这是我似乎无法使用的链接)。
预先感谢您的帮助。
我正在编写一个允许用户登录该站点的脚本。我已经完成了所有工作,但是在按下登录按钮对用户进行身份验证后,我似乎无法找到打开新链接的方法。
脚步:
预先感谢您的帮助。
您是否尝试过使用锚点,我认为它可以满足您的需求,不是吗?一旦用户通过身份验证,您就可以使其可见。
这是一个工作示例:输入其中一个名称,如果 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