function setRevisionPermanent() { var rateLimit = 200; var today = new Date(); var oneYear = new Date(today.getTime() - 365 * 24 * 60 * 60 * 1000); var oneMonth = new Date(today.getTime() - 30 * 24 * 60 * 60 * 1000); var startTime = oneMonth.toISOString(); var search = '(trashed = false) and (modifiedDate > "' + startTime + '")'; var files = DriveApp.searchFiles(search); while (files.hasNext()) { var file = files.next(); var fileName = file.getName(); var fileId = file.getId(); try { var revisions = Drive.Revisions.list(fileId).items; for (var i = 0 ; i < revisions.length ; i ++) { var rclone = revisions[i]; rclone.pinned = i < revisions.length - rateLimit ? false : true; var request = Drive.Revisions.update(rclone, fileId, revisions[i].id); } } catch (e) { Logger.log(e.message); } } }