【问题标题】:Google Script Document Inaccessible Error - creating and attempting to open document in codeGoogle Script Document Inaccessible Error - 在代码中创建并尝试打开文档
【发布时间】:2019-08-15 15:28:37
【问题描述】:

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

代码的相关部分是:

//创建模板副本

  var copy = DriveApp.getFileById(docTemplate)
            .makeCopy(docName+' TEST ')
            .getId();

//打开临时文件

  var copyDoc = DocumentApp.openById(copy);

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

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

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

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

【问题讨论】:

  • 这些行本身似乎有效。会不会是变量copy 在这两行代码之间被重置或重新定义?
  • 我不知道为什么会这样。我在第一行之后添加了代码以通过电子邮件将 var copy 的值发送给我,它会向我发送新文档的正确 ID。
  • 我也有类似的问题。但在我的情况下,从表单触发 onSubmit() 并打开模板文档以填充数据。它无法打开文档,因为触发器没有权限,但我不知道如何解决这个问题

标签: google-apps-script google-drive-api google-docs


【解决方案1】:

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

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

【讨论】:

  • 正对块孔。非常感谢
【解决方案2】:

这对我有用:

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();
}

当然,当脚本通过 Id 打开文档时,它实际上并没有使用用户界面打开它,它只是在服务器上打开它。但是当我打开它时,果然有 appendedParagrahp。

【讨论】:

    【解决方案3】:

    实际上自从新版本以来,你不能只运行脚本......我在这上面度过了一天。

    https://developers.google.com/apps-script/guides/cloud-platform-projects#switching_to_a_different_standard_gcp_project

    1. 您需要创建一个标准项目
    2. 获取 ID 并将其提供给您的脚本
    3. 在脚本上启用您需要的 API(驱动器、文档等)
    4. GCP 项目也是如此

    完成此操作后,文件开始打开文件。 主要问题是表单(或其他)上的触发器无法打开文档以确保安全。这很痛苦,因为您现在需要在上面做一堆其他的事情......

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-07-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-04-26
      • 1970-01-01
      相关资源
      最近更新 更多