如何通过按下 Google App Script UIApp 中的按钮在当前窗口中打开链接



我正在编写一个允许用户登录网站的脚本。 我已经完成了所有工作,但是在用户通过按登录按钮进行身份验证后,我似乎找不到打开新链接的方法。

步骤:

  1. 用户输入用户名和密码
  2. 用户已通过身份验证
  3. 如果用户存在于电子表格中,则会打开指向用户个人资料的链接(这是我似乎无法工作的链接)。

提前感谢您的帮助。

这是一个工作示例:键入其中一个名称,如果 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

您是否尝试过锚点,我认为它可以满足您的需求,不是吗? 一旦用户通过身份验证,您可以使其可见。

最新更新