Google Apps脚本中是否有方法可以上传数据并在之后打开新标签?

时间:2014-06-12 05:34:26

标签: google-apps-script

我们为Google表格提供Google Aops脚本以与我们的服务器进行交互。

我们需要导出所选数据,而不是打开新的浏览器标签(来自我们的服务器)。

目前我们在侧边栏中有一个按钮,它在GAS中有一个处理程序。此处理程序导出数据(通过urlfetch)并将一个锚(设置为按钮)附加到ui。当用户按下该锚点时,该锚点将从我们的服务器打开一个新选项卡。

有没有办法从GAS处理程序直接打开新选项卡(没有用户操作)?

1 个答案:

答案 0 :(得分:1)

不,您无法从处理程序中打开新选项卡。只有当用户自愿点击某个锚点时,才会打开一个选项卡,任何方式都会被Apps脚本团队视为安全问题。

但是,您可以向锚点添加处理程序,并在用户导航到新选项卡时处理点击。我不确定这对你有用。如果您可以控制目标服务器,那么您可以添加一个微调器或其他东西,让用户等待一段时间,直到Apps脚本后端向您发送数据。

这是使用UiApp和我前一段时间写过的library的实现。

function linkAndHandler() {
  var app = UI.newApp('Link And Handler Test');
  UI.app.add(UI.lockAction(UI.anchor('Google.com', 'https://google.com'), 'linkHandler'));
  SpreadsheetApp.getActive().show(UI.finish());
}

function linkHandler() {
  UI.app.add(UI.label('handler ran'));
}