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)
| 归档时间: |
|
| 查看次数: |
641 次 |
| 最近记录: |