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 文档。这将创建一个新文件。将其用作新的基本文件。
这对我有用:
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 打开文档时,它实际上并没有使用用户界面打开它,它只是在服务器上打开它。但当我打开它时,果然附加的段落就在那里。
| 归档时间: |
|
| 查看次数: |
2195 次 |
| 最近记录: |