我正在尝试为Google表格创建一个附件。打开工作表后,脚本应在“加载项”中创建一个菜单项。
当我打开最初绑定到的工作表时,该项目已添加并且可以工作。当尝试使用onOpen作为我的脚本中已声明函数的附加组件对其进行测试时,它始终会导致未添加该项目,并在Google Chrome DevTools控制台中记录了针对该测试打开的工作表的错误:>
Google Apps脚本:很抱歉,发生服务器错误。请稍等一下 再试一次。
如果我注释掉onOpen方法,则不会发生此错误。
我尝试通过Auth.none和Auth.limited两种方式通过附加方式运行它:
所有这些都会导致上面的错误,并且当我取消注释确实具有代码的onOpen函数的内容时,它们的代码似乎都无法运行。
这是原始副本的代码,但是请记住,即使内容已被注释掉,我仍然会收到错误消息,并且this指出即使将createMenu用于附件,也可以由Google App Script正确处理:
function onOpen(e){
var menu = SpreadsheetApp.getUi().createAddonMenu(); // Or DocumentApp or FormApp.
if (e && e.authMode == ScriptApp.AuthMode.NONE) {
// Add a normal menu item (works in all authorization modes).
menu.addItem("Show Sidebar", "showSidebar");
menu.addToUi();
} else {
// Add a new menu (doesn't work in AuthMode.NONE).
var topUI = SpreadsheetApp.getUi();
topUI.createMenu("Mail Merge")
.addItem("Show Sidebar", "showSidebar")
.addToUi();
}
}
在将脚本作为附件运行时,Logger对象似乎也未记录我的消息。