在共享库中使用时,google.script.run已损坏

时间:2014-03-20 19:33:05

标签: google-apps-script

我有以下code.gs

function test() {
  Logger.log("Whoo hoo! test() called");
}

function showPopup() {
  var html = HtmlService.createTemplateFromFile('index').evaluate().setWidth(400).setHeight(300);
  SpreadsheetApp.getUi().showModalDialog(html, 'Click the button');  
}

以及此index.html

<div>
  <input type='button' onclick='google.script.run.test()' value='Test'>
</div>

这些工作正常:运行showPopup()后,我点击按钮,消息显示在日志example中。

当我使用&#34; Resources-&gt; Libraries ...&#34;菜单项。让我们说我给图书馆命名&#34;测试&#34;然后在我运行Test.showPopup()的新电子表格上,它会弹出弹出窗口。但是当我点击按钮时它不会调用test()函数。

相反,电子表格上的控制台抱怨&#34; undefined不是函数&#34;。问题似乎是,当使用库管理器共享代码时,google.script.run.test()不起作用。它想要像google.script.run.Test.test()之类的东西,但是我尝试了它并且它也没有工作:&#34;无法读取属性&#39;测试&#39;未定义&#34;。

有什么办法可以在共享(库)脚本中使用google.script.run吗?

或其他一些方法我可以在其他电子表格上重复使用我的代码,而不必将所有文件都粘贴到每个文件中?

啊,看起来像其他人reported this as a bug。哪里哪里。任何解决方法?

1 个答案:

答案 0 :(得分:0)

我想知道同样的事情。到目前为止还没有看到真正的答案。 我的答案不是最好的,但我在脚本上做了一个解决方法:

function test() {
  Test.test();
}

我很想知道真正的解决方案。