奇怪的事情正在发生。也许有人可以解释它或者可能有一个错误。我正在编写一个从绑定到电子表格的Apps脚本运行的webapp。当我使用openById()打开电子表格时,webapp正常运行,但不是getActiveSpreadsheet()。当我加载页面时,我收到此消息," TypeError:无法调用方法" getSheetByName"为null。 (第11行,文件"代码")"。它的行为就像它没有绑定到电子表格。
但是,如果我手动运行doGet(),我不会收到错误。从日志表中成功提取数据。这是我的代码...当我评论第1行并取消注释第2行时,它完美无缺。提前致谢。
function doGet() {
var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Log');
// var sheet = SpreadsheetApp.openById('abc123def456').getSheetByName('Log');
var data = sheet.getDataRange().getValues();
var t = HtmlService.createTemplateFromFile('index');
t.data = data;
var evaluatedTemplate = t.evaluate().setSandboxMode(HtmlService.SandboxMode.IFRAME);
return evaluatedTemplate;
}
答案 0 :(得分:0)
删除您的' doGet()'功能。如果您的脚本是附加组件,则它不需要doGet()。而是使用onInstall,onOpen然后使用HTML服务打开页面。
您正在发送谷歌混合信号。
绑定脚本和Web应用程序是不同的。