我目前正在尝试为我们的Google App Script文件添加订单,并开发一个HTMLService应用程序,用于查找和解析Google Drive中的GAS文件,并根据jsdoc样式注释生成API文档。
我有WebApp功能,可以提取我需要的所有数据并解析注释,但默认情况下它会导出当前的GAS文件内容,无论它是否已发布。
我想要做的是提取最新保存版本的内容而不是当前的开发内容,有没有办法指定要导出的版本?
我使用URLFetch()
获取内容,如下所示:
var params = {
headers:{
'Accept':'application/vnd.google-apps.script+json',
'Authorization':'Bearer '+ ScriptApp.getOAuthToken()
},
method:'get'
};
var fileDrive = Drive.Files.get(fileId);
var link = JSON.parse(fileDrive)['exportLinks']['application/vnd.google-apps.script+json'];
var fetched = UrlFetchApp.fetch(link, params);
return { meta: fileDrive, source: JSON.parse(fetched.getContentText()) };

任何帮助将不胜感激,谢谢!
答案 0 :(得分:0)
根据此documentation,每项更改都称为"修订版"并通过Revisions资源提供对修订的访问。您可以通过编程方式保存文件的新修订版,或查询版本历史记录,详见Revisions reference。
<强> Listing revisions 强>
以下示例演示如何列出给定文件的修订。请注意,某些修订属性仅适用于某些文件类型。例如,G Suite应用程序文件不占用Google云端硬盘中的空间,因此返回的文件大小为
0
。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]; var date = new Date(revision.modifiedDate); Logger.log('Date: %s, File size (bytes): %s', date.toLocaleString(), revision.fileSize); } } else { Logger.log('No revisions found.'); } }
希望这有帮助!