Google Apps脚本 - 设置修订历史记录

时间:2017-12-06 22:51:17

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

有没有人在Google表格或文档上进行版本控制?我希望在我或其他用户打开工作表时加载特定版本的Google表格,此ID将使用下面的脚本列出,但是,我找不到将其设置为打开工作表时加载的版本的方法。工作表的打开将是此脚本加载的触发器。

请参阅下面的我的脚本

我查看了https://developers.google.com/drive/v2/reference/revisions

我不确定如何在打开工作表时设置特定版本的工作表。我附上了我的样本,它给了我一个错误:提供的参数数量无效。仅预期3-4(第21行,文件"代码")

可用的方法是: 删除 得到 名单 补丁 更新 没有选项可以设置修订,因此我正在使用补丁和更新方法,但收效甚微。有什么想法吗?

这是我到目前为止所拥有的:

function setRevisions() {
  listRevisions("1rMy631GhjrfaSlcRhUoICD4dYxNTBVJMwCzteGwl2wo")
}

function listRevisions(fileId) {
  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];
      Logger.log(revision.id);
    }
  } else {
    Logger.log('No revisions found.');
  }
  if(revision.id = '18') {
  Drive.Revisions.patch(revision.id);
} else {
  Logger.log("18 is not available");
  }

}

提前致谢

1 个答案:

答案 0 :(得分:0)

首先使用Drive.Revisions.list(fileId)获取修订版ID。获取差异修订版ID后,使用常规修订方法,如Drive.Revisions.get和Drive.Revisions.update到Advanced Drive Service

可以在this post中找到演示样本:

function listRevisions(fileId) {
  var fileId = '1yck2UQDJztdqD3Ji8UT3KcwTKiA0bgLd2-4xqwbU824';
  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(revision.id);
    }
  } else {
   Logger.log('No revisions found.');
  }
}

function alterRevision(){
  var fileId = '1yck2UQDJztdqD3Ji8UT3KcwTKiA0bgLd2-4xqwbU824';
  var change = Drive.Revisions.get(fileId, 1306);
  var update = Drive.Revisions.update(change, fileId, 1306);
  Logger.log(update.id + update.modifiedDate);
}