如标题所示
获得了一个脚本,该脚本正在从特定的G-Drive文件夹中获取CSV,该文件夹当前正在按特定的文件名进行过滤。
是否可以只说该文件夹中的“获取最新文件”,而不用特定名称进行搜索?
询问,因为同一文件的多个副本将被上载到同一文件夹(文件名为content.csv,副本将替换该文件,或者无疑会作为content(1).csv等上载)。因此,因此,假设仅尝试“获取最新文件”将是最佳方法吗?
脚本:
function importCSVFromGoogleDrive() {
var fSource = DriveApp.getFolderById('xxxxxxxxxxxxx'); // folder where files are saved
var file = DriveApp.getFilesByName("content.csv").next(); // currently searching by file name
var csvData = Utilities.parseCsv(file.getBlob().getDataAsString()); csvData.splice(299,csvData.length-300);
var sheet = SpreadsheetApp.getActiveSheet();
sheet.getRange(1, 1, csvData.length, csvData[0].length).setValues(csvData);
}
答案 0 :(得分:1)
尝试一下:
function getLatest(){
var optionalArgs = {
orderBy:"modifiedDate",
q:"title='TITLE'"
};
var files = Drive.Files.list(optionalArgs).items;
Logger.log(files);
}
这将使用Advanced Services API搜索文件并按日期排序。要使用此代码,您需要enable Google Advanced Services,该代码可让您直接使用API。您还应该查看File Resource,以了解可用的属性。最后,files
保存列表返回的文件数组。
答案 1 :(得分:0)
您可以按日期排序文件,以便列出最近上传的文件,并且当您点击已下载的文件时,您将停止整个过程。
https://developers.google.com/drive/api/v3/reference/files/list#orderBy