【发布时间】:2015-03-11 08:41:49
【问题描述】:
我正在尝试通过作为网络应用发布的 Google 脚本访问 Google 电子表格。
我是如何创建脚本的:
- 来自电子表格、工具/脚本编辑器...、电子表格项目
- 它要求访问 GDrive 中的电子表格,所以总的来说我认为它已附加到电子表格中。
脚本:
function doGet() {
var ss = SpreadsheetApp.getActive();
// alternative, doesn't work either
// var ss = SpreadsheetApp.openByUrl("https://docs.google.com/spreadsheets/d/abcdef/edit");
var sheets = ss.getSheets();
var text = ... loop over sheets and do some stuff to get the data ...
return ContentService.createTextOutput(text);
}
调用网络应用时的错误信息:
TypeError: Cannot call method "getSheets" of null.
该函数在编辑器中运行时有效(当然减去 ContentService.createTextOutput)。
有什么建议吗?谢谢! :-)
桑德罗
【问题讨论】:
-
According to Google,将绑定脚本部署为 Web 应用程序是“不常见的”。似乎以这种方式部署会阻止脚本访问
getActiveSpreadsheet()等方法。如果我们考虑getActiveSheet(),这更有意义——在网络应用程序的上下文中没有“活动工作表”的概念。因此,您似乎需要按名称(或编号)打开工作表,并按 URL 或 Id 打开电子表格。
标签: google-apps-script google-sheets