我正在尝试使用Google App Script(GAS)。我的表格附有code.gs
。我正在获取价值并将其他地方发送给我。在表单的一个特定列中,我有Google Doc的URL,其中包含其他信息。
因此,如果我要阅读N行,我必须阅读N个相应Google文档的内容。我可以通过某种方式在表单附带的code.gs
内打开并阅读这些Google文档吗?
修改
我发现使用DocumentApp类,我可以阅读google doc的内容。以下代码对我来说很好。
function myFunction() {
var doc = DocumentApp.openByUrl("https://docs.google.com/document/<ID>");
var body = doc.getBody();
// I had a table in all the docs. They are uniform in structure.
var table= body.getTables()[0];
// My data was stored in the 10th row.
var row = t.getRow(10);
var res = row.getText();
Logger.log(res);
}
现在我已经碰到了下一个保险杠。 Google Sheet的所有者是SAM。以上代码可以读取SAM拥有的所有Google文档。其中一些不属于SAM。这些都无法阅读。我得到的错误是Execution failed: Action not allowed
行doc = DocumentApp.openByUrl(...)
。有没有办法解决这个授权问题?
答案 0 :(得分:2)
这是一项安全限制。 SAM只能阅读那些由他拥有或与他共享的文件。因此,那些不属于SAM的文件必须与文件的实际所有者共享。