尝试使用高级Google Apps服务和Google Apps脚本找出问题所在。我想基本上修改文档以将它们恢复为先前版本,但是以编程方式执行而不是使用Google驱动器UI。我已经拼凑了代码以通过在Drive API上搜索和浏览Google Apps Scripts数据来获取版本ID,我以为我找到了相应更新工作表所需的内容。但是,我被卡住了。我不完全理解如何使用Update。 Drive.Revisions.Update(),我原以为如果你传递参数它正在寻找我能够将谷歌电子表格设置回我指定的修订版。
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);
}
非常基本,我在特定工作表上使用listRevisions来获取revisionID。我曾计划使用alterRevision将测试表重置回先前列出的修订版。
也许我不了解驱动API的工作原理。我希望能够清楚地了解为什么这不会将表格更新为我传递给update()调用的修订版。
道歉,如果格式错误,问题措辞不正确。
感谢您的时间。
EDIT ~~ alterRevisions控制台输出 [16-10-05 15:14:51:798 CDT] 1306 2016-05-02T16:20:57.841Z 它实际上抓取了我想要修改的正确日期作为实际文件。我不认为更新是我认为的。或者可能还有另一个步骤使其成为有效执行旧版修复功能恢复的实时修订。我还尝试添加更新变量的其他属性,以便在可能的情况下查看其他数据位。
执行日志对我来说没有任何意义。 [16-10-05 15:30:37:970 CDT]开始执行 [16-10-05 15:30:39:732 CDT] Logger.log([1306 2016-05-02T16:20:57.841Z undefined true,[]])[0秒] [16-10-05 15:30:39:733 CDT]执行成功[1.757秒总运行时间]