Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-apps-script/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Google apps script 谷歌应用程序脚本-设置修订历史记录_Google Apps Script_Google Drive Api - Fatal编程技术网

Google apps script 谷歌应用程序脚本-设置修订历史记录

Google apps script 谷歌应用程序脚本-设置修订历史记录,google-apps-script,google-drive-api,Google Apps Script,Google Drive Api,有人在谷歌表单或文档上进行过版本控制吗?我希望在我或其他用户打开工作表时加载特定版本的Google工作表,此Id将使用下面的脚本列出,但是,我找不到方法将其设置为打开工作表时加载的版本。工作表的打开将触发此脚本的加载 请看下面的脚本 当我复习的时候 我不确定如何让它在打开工作表时设置工作表的特定版本。我附上了一个错误的示例:提供的参数数量无效。预期仅为3-4(第21行,文件“代码”) 可用的方法有: 删除 得到 列表 补丁 更新 没有设置修订的选项,所以我正在使用补丁和更新方法,但收效甚微。有什

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

请看下面的脚本

当我复习的时候

我不确定如何让它在打开工作表时设置工作表的特定版本。我附上了一个错误的示例:提供的参数数量无效。预期仅为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");
  }

}
函数setRevisions(){
列表修订(“1RMY631GHJRFASLCRHUOICD4DYXNTBVJMWCZTEGL2WO”)
}
函数列表修订(文件ID){
var revisions=Drive.revisions.list(fileId);
如果(revisions.items&&revisions.items.length>0){
对于(变量i=0;i

提前感谢

首先使用获取修订ID。获取不同的版本ID后,使用常规的修订方法,如Drive.Revisions.get和Drive.Revisions.update-through

演示示例可在以下位置找到:

函数列表修订(fileId){
变量文件ID='1yck2UQDJztdqD3Ji8UT3KcwTKiA0bgLd2-4xqwbU824';
var revisions=Drive.revisions.list(fileId);
如果(revisions.items&&revisions.items.length>0){
对于(变量i=0;i
是的,我也看到了这篇文章。但是,它并没有推送我指定的版本。我假设.update方法应该推送我正在查找的文件的版本?我使用了上面的确切语法,并且文件的版本没有设置为18。在我的情况下,当我打开文件时,它仍然保留其最新版本。当我打开工作表/文档时,是否可以设置要加载的特定版本?提前谢谢
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);
}