Google Apps Script自定义侧边栏报错ReferenceError: getService未定义
问题原因及修复方案
- 核心语法错误:你在调用侧边栏渲染方法时,
SpreadsheetApp.getUi后面缺少方法执行的括号()。getUi是 SpreadsheetApp 的实例方法,必须先调用拿到UI实例,才能执行后续的showSidebar操作,原代码直接访问方法本身没有执行,会导致逻辑执行异常。 - 额外排查点:如果修正上述错误后仍然抛出
ReferenceError: getService is not defined eval报错,说明你的Wip.html模板文件中存在调用未定义的getService方法的代码,比如在Apps Script模板打印标签<?= ?>/<?!= ?>中调用了Code.gs未声明的getService函数,或是HTML内嵌的JS代码里写了不存在的getService调用,你需要检查Wip.html的代码补充对应方法定义,或是删除无效调用。
修正后的Code.gs代码
function onOpen() { const ui = SpreadsheetApp.getUi(); ui.createMenu('XXX') .addItem('Test', 'testSidebar') .addToUi(); } function testSidebar () { var html = HtmlService.createTemplateFromFile('Wip') .evaluate() .setTitle('Test'); // 修正getUi的调用逻辑,添加执行括号 SpreadsheetApp.getUi().showSidebar(html); }
内容的提问来源于stack exchange,提问作者Arif Ahmed
相关产品推荐
相关产品推荐

