如何从 Google Sheet 的脚本中读取 Google 文档的内容?
How to read contents of a Google Doc from the script of a Google Sheet?
我正在尝试在这里使用 Google 应用程序脚本 (GAS)。我的 sheet 附有 code.gs
。我正在获取值并发送到其他地方。在 sheet 的一个特定列中,我有 Google 文档的 URL,其中包含其他信息。
所以如果我要阅读 N 行,我必须阅读 N 个相应的 Google 文档的内容。在附加到 sheet?
的 code.gs
中,有什么方法可以让我打开和阅读这些 Google 文档吗?
编辑:
我发现使用 DocumentApp class,我可以阅读 google 文档的内容。以下代码对我来说很好。
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(...)
。有什么办法可以解决这个授权问题吗?
这是一个安全限制。 SAM 将只能阅读他拥有或与他共享的那些文档。因此,那些不属于 SAM 的文件必须由文件的实际所有者与他共享。
我正在尝试在这里使用 Google 应用程序脚本 (GAS)。我的 sheet 附有 code.gs
。我正在获取值并发送到其他地方。在 sheet 的一个特定列中,我有 Google 文档的 URL,其中包含其他信息。
所以如果我要阅读 N 行,我必须阅读 N 个相应的 Google 文档的内容。在附加到 sheet?
的code.gs
中,有什么方法可以让我打开和阅读这些 Google 文档吗?
编辑:
我发现使用 DocumentApp class,我可以阅读 google 文档的内容。以下代码对我来说很好。
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(...)
。有什么办法可以解决这个授权问题吗?
这是一个安全限制。 SAM 将只能阅读他拥有或与他共享的那些文档。因此,那些不属于 SAM 的文件必须由文件的实际所有者与他共享。