Google Script Document Inaccessible Error - 创建并尝试在代码中打开文档

Eug*_*oew 1 google-docs google-apps-script google-drive-api

我有一些旧代码,在 5 年前使用 Google 表单并根据信息填写预先设计的模板时效果很好。我已经有一段时间不需要使用它了,但现在我有一个类似的项目,并试图振兴过时的代码。我有一个错误,我无法弄清楚或在网上找到答案。请帮忙!

代码的相关部分是:

//创建模板副本

  var copy = DriveApp.getFileById(docTemplate)
            .makeCopy(docName+' TEST ')
            .getId();
Run Code Online (Sandbox Code Playgroud)

// 打开临时文件

  var copyDoc = DocumentApp.openById(copy);
Run Code Online (Sandbox Code Playgroud)

第一部分有效,在我的 Google Drive 中创建文档副本,var copy 返回新文档 ID 的值。

我收到错误消息“文档无法访问。请稍后再试。(第 79 行,文件“代码”)”

代码的第 79 行是:“var copyDoc = DocumentApp.openById(copy);”。

我尝试了几种不同的打开文件的代码,它们都返回相同的错误消息。

小智 6

只是想分享我对这个问题的解决方案。我知道这是一个旧线程,但将来可能会有其他人偶然发现这个线程,他们仍在尝试解决这个问题。

我刚才遇到了这个错误。事实证明,克隆并尝试打开的文件是“.docx”文件。上传到谷歌驱动器的 MS word 文件。DocumentApp API 只能打开 google docs 文件。要解决此问题,只需打开正在克隆的基本文件,然后选择文件 > 另存为 Google 文档。这将创建一个新文件。将其用作新的基本文件。


Coo*_*per 1

这对我有用:

function runOne() {
  var docTemplate='id string';
  var file=DriveApp.getFileById(docTemplate);
  var copy = file.makeCopy(file.getName()+'TEST').getId();
  var copyDoc = DocumentApp.openById(copy);
  copyDoc.getBody().appendParagraph("This is new text.");
  copyDoc.saveAndClose();
}
Run Code Online (Sandbox Code Playgroud)

当然,当脚本通过 Id 打开文档时,它实际上并没有使用用户界面打开它,它只是在服务器上打开它。但当我打开它时,果然附加的段落就在那里。