OpenByUrl 抛出错误:您没有调用 openByUrl 的权限(第 39 行,文件 "Code" )



我在谷歌电子表格中有一个脚本,它打开一个谷歌文档,并返回表格某个单元格中的文本,如下所示:

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:130EDT]开始执行

[13-07-17 19:27:39:387EDT]DocumentApp.openByUrl([…])[0.253秒]

[13-07-17美国东部时间19:27:39:388]文档.getBody()[0秒]

[13-07-17美国东部时间19:27:39:388]Body.getTables()[0秒]

[13-07-17 19:27:39:388 EDT]Table.getCell([3,1])[0秒]

[13-07-17美国东部时间19:27:39:389]TableCell.getText()[0秒]

[13-07-17 19:27:39:389 EDT]Logger.clear()[0秒]

[13-07-17 19:27:39:389 EDT]Logger.log([项目值为递延,[])[0秒]

[13-07-17 19:27:39:390EDT]执行成功[0.256秒总运行时间]

根据我在谷歌上搜索的内容,只要我对文档有编辑权或所有者权,我就应该能够做到这一点。

我是谷歌应用程序脚本的新手,所以请温柔一点。:)

提前感谢您的帮助和耐心!

自定义函数以有限的权限运行,不能利用依赖用户凭据的服务,包括DocumentApp。

https://developers.google.com/apps-script/execution_custom_functions#permissions

相关内容

最新更新