脚本-DriveApp.getFilesByName-获取最新版本?

时间:2019-10-08 12:50:28

标签: google-apps-script google-sheets

如标题所示

获得了一个脚本,该脚本正在从特定的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);

}

2 个答案:

答案 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