如何使用Google Apps脚本设置修订历史记录

Odi*_*din 6 google-sheets google-apps-script google-drive-api

尝试通过高级Google Apps Services和Google Apps脚本找出答案。我本质上想更改文档以将其还原到以前的版本,但要以编程方式进行,而不要使用Google驱动器UI。我已经拼凑了代码,通过在Drive API上进行一些搜索和细读Google Apps脚本数据来获得versionID,我以为自己找到了相应地更新工作表所需的内容。但是,我被困住了。我不完全了解如何Update使用。Drive.Revisions.Update(),我曾想过,如果您传递参数正在寻找,那么我便可以将Google电子表格设置回我指定的版本。

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);
} 
Run Code Online (Sandbox Code Playgroud)

很基本,我listRevisions在特定的工作表上使用revisionID。我曾计划用来alterRevision将测试表重置为先前列出的修订版。

也许我不了解驱动器API的工作方式。我希望能弄清楚为什么它不将工作表更新为传递给update()调用的修订版。

抱歉,如果格式错误,则措词不正确。

编辑

alterRevisions控制台输出

[16-10-05 15:14:51:798 CDT] 1306 2016-05-02T16:20:57.841Z
Run Code Online (Sandbox Code Playgroud)

实际上,它可以获取我要制作的实际修订版本的正确日期。我只是不认为更新就是我想的那样。或者,也许还有另外一个步骤可以使它成为实时修订,从而有效地执行旧修订功能的还原。我还尝试添加更新变量的其他属性,以尽可能查看其他数据。

执行日志对我而言毫无帮助。

[16-10-05 15:30:37:970 CDT] Starting execution
[16-10-05 15:30:39:732 CDT] Logger.log([1306 2016-05-02T16:20:57.841Z undefined true, []]) [0 seconds]
[16-10-05 15:30:39:733 CDT] Execution succeeded [1.757 seconds total runtime]
Run Code Online (Sandbox Code Playgroud)