如何使用脚本获取 Google 文档中的修订历史记录?

Luc*_*can 5 google-docs google-apps-script

如何使用脚本获取 Google 文档中的修订历史记录?

我该怎么做?一些想法?

小智 6

您可能需要启用 Drive SDK(您可以在“资源”->“高级 Google 服务”菜单中执行此操作),然后执行类似以下操作

var revisions = Drive.Revisions.list(fileId);
  if (revisions.items && revisions.items.length > 0) {
    for (var i = 0; i < revisions.items.length; i++) {
      var revision = revisions.items[i];
      var date = new Date(revision.modifiedDate); 
      Logger.log('ID: %s, Date: %s, File size (bytes): %s', revision.id, date.toLocaleString(),
          revision.fileSize);
    }
  } else {
    Logger.log('No revisions found.');
  }
Run Code Online (Sandbox Code Playgroud)

要获取文件 ID,请使用SpreadsheetApp.getActiveSpreadsheet().getId();DocumentApp.getActiveDocument().getId();


Hen*_*reu 3

我简直不敢相信,但似乎不可能以编程方式获得 Google 文档“文件”的修订历史版本。我彻底检查了Drive SDK,看来我们所能做的就是下载其他格式的 Google 文档(可能会丢失转换的详细信息)。不会从修订版生成新的 Google 文档,甚至不会恢复当前文件的修订版。

因此,您可以将特定的修订历史记录“下载”为 docx,然后重新上传并转换回 Google Docs(呃!),然后正常访问。为此,您必须启用 Drive API v2 高级服务(在“资源”菜单下)。并使用 Drive SDK 参考(上面链接)获取修订历史记录并执行此操作。