如何使用 Google Apps 脚本将多个 Google 文档合并到一个文件中

问题描述 投票:0回答:0

我在 Google Drive 文件夹中有相同格式的 Google 文档,我想合并/合并到一个 Google Doc 文件中,要合并的 Google 文档示例看起来像this。这是我为此目的尝试使用的示例代码:

function mergeGoogleDocs() {

  var folderId = "####"; //Where all Google docs currently are
  var folder = DriveApp.getFolderById(folderId);
  var docIDs = [];
  var combinedDoc = DocumentApp.create("Merged Document");
 
  var files = folder.getFiles();

  //Get all file Ids present in a folder
  while (files.hasNext()) {
    var file = files.next();
    docIDs.push(file.getId());
  }

  var baseDoc = DocumentApp.openById(combinedDoc.getId());

  var body = baseDoc.getActiveSection();

  for (var i = 1; i < docIDs.length; ++i) {
    var otherBody = DocumentApp.openById(docIDs[i]).getActiveSection();
    var totalElements = otherBody.getNumChildren();
    for (var j = 0; j < totalElements; ++j) {
      var element = otherBody.getChild(j).copy();
      var type = element.getType();
      if (type == DocumentApp.ElementType.PARAGRAPH) body.appendParagraph(element);
      else if (type == DocumentApp.ElementType.TABLE) body.appendTable(element);
      else if (type == DocumentApp.ElementType.LIST_ITEM) body.appendListItem(element);
      else if (type == DocumentApp.ElementType.INLINE_IMAGE) {
        var image = element.asInlineImage();
        var blob = image.getBlob();
        var imageFile = folder.createFile(blob);
        combinedDoc.getBody().appendImage(imageFile.getBlob());
        }
      else throw new Error('Unknown element type: ' + type);
    }
  }
}

但是,当我尝试运行它时,它显示以下错误:

异常:服务不可用:文档

我还在脚本编辑器左侧的服务下添加了Docs。但是问题没有解决。您能否指导我脚本有什么问题以及为什么它不能将所有文档合并为一个文档?任何帮助将不胜感激。

google-apps-script merge google-drive-api google-docs google-docs-api
© www.soinside.com 2019 - 2024. All rights reserved.