我的 Google 电子表格中有一个脚本,可以打开一个 Google 文档并在表格的某个单元格中返回文本,如下所示:
function getItemStatus(docUrl) {
var doc = DocumentApp.openByUrl(docUrl);
var docBody = doc.getBody();
var docTbls = docBody.getTables();
var itmTbl = docTbls[0];
var itmStatus = itmTbl.getCell(3,1).getText();
return itmStatus;
}
当我尝试在电子表格中运行该函数时,它返回此错误:
错误:您无权调用 openByUrl(第 39 行,文件“代码”)
如果我创建另一个函数来直接调用上述函数,它就可以正常工作并返回我所追求的值。
function testItemGet() {
var docUrl = ("...");
itmStr = getItemStatus(docUrl);
Logger.log("The item's value is " + itmStr)
}
生成的日志文件:
[13-07-17 19:27:39:130 EDT] 开始执行
[13-07-17 19:27:39:387 EDT] DocumentApp.openByUrl([...]) [0.253 秒]
[13-07-17 19:27:39:388 EDT] Document.getBody() [0 秒]
[13-07-17 19:27:39:388 EDT] Body.getTables() [0 秒]
[13-07-17 19:27:39:388 EDT] Table.getCell([3, 1]) [0 秒]
[13-07-17 19:27:39:389 EDT] TableCell.getText() [0 秒]
[13-07-17 19:27:39:389 EDT] Logger.clear() [0 秒]
[13-07-17 19:27:39:389 EDT] Logger.log([The item's value is Deferred , []]) [0 seconds]
[13-07-17 19:27:39:390 EDT] 执行成功 [0.256 秒总运行时间]
从我用谷歌搜索的内容来看,只要我对文档拥有编辑或所有者权限,我就应该能够做到这一点。
我对 Google Apps 脚本很陌生,所以请保持温和。:)
提前感谢您的帮助和耐心!