且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

在Google云端硬盘文件夹中获取最新的文件

更新时间:2023-02-14 14:37:50

以下代码将获取文件夹中最新的文件:

 函数getNewestFileInFolder(){
var arryFileDates,file,fileDate,文件,文件夹,文件夹,
newestDate,newestFileID,objFilesByDate;

folders = DriveApp.getFoldersByName('yourFolderName');
arryFileDates = [];
objFilesByDate = {};

while(folders.hasNext()){
folder = folders.next();

files = folder.getFilesByType(application / vnd.google-apps.spreadsheet);
fileDate =;

while(files.hasNext()){
file = files.next();
Logger.log('xxxx:file data:'+ file.getLastUpdated());
Logger.log('xxxx:file name:'+ file.getName());
Logger.log('xxxx:mime type:'+ file.getMimeType())
Logger.log();

fileDate = file.getLastUpdated();
objFilesByDate [fileDate] = file.getId(); //通过文件ID创建一个文件名对象

arryFileDates.push(file.getLastUpdated());
}
arryFileDates.sort(function(a,b){return b-a});

Logger.log(arryFileDates);

newestDate = arryFileDates [0];
Logger.log('最新日期是:'+ newestDate);

newestFileID = objFilesByDate [newestDate];

Logger.log('newestFile:'+ newestFileID);
//返回newestFile;

var ss = SpreadsheetApp.openById(newestFileID);
Logger.log('现在打开的文件名:'+ ss.getName());
};
};


I have the following lines in my Google App script, but the File API is now deprecated and I am unable to update the code.

The original lines are:

var folder = DocsList.getFolder('Folder Name');
var file = folder.getFilesByType(DocsList.FileType.SPREADSHEET)[0];
var filename = file.getName(); //and get its name
var fileId = file.getId(); // its ID
var fileurl = file.getUrl(); //and its url
var source = SpreadsheetApp.openById(fileId);`

I need my script to go to a folder on my drive, get the LATEST google spreadsheet file in this folder and open it.

Here is the code that will get the newest file in the folder:

function getNewestFileInFolder() {
  var arryFileDates,file,fileDate,files,folder,folders,
      newestDate,newestFileID,objFilesByDate;

  folders = DriveApp.getFoldersByName('yourFolderName');  
  arryFileDates = [];
  objFilesByDate = {};

  while (folders.hasNext()) {
    folder = folders.next();

    files = folder.getFilesByType("application/vnd.google-apps.spreadsheet");
    fileDate = "";

    while (files.hasNext()) {
      file = files.next();
      Logger.log('xxxx: file data: ' + file.getLastUpdated());
      Logger.log('xxxx: file name: ' + file.getName());
      Logger.log('xxxx: mime type: ' + file.getMimeType())
      Logger.log(" ");

      fileDate = file.getLastUpdated();
      objFilesByDate[fileDate] = file.getId(); //Create an object of file names by file ID

      arryFileDates.push(file.getLastUpdated());
    }
    arryFileDates.sort(function(a,b){return b-a});

    Logger.log(arryFileDates);

    newestDate = arryFileDates[0];
    Logger.log('Newest date is: ' + newestDate);

    newestFileID = objFilesByDate[newestDate];

    Logger.log('newestFile: ' + newestFileID);
    //return newestFile;

    var ss = SpreadsheetApp.openById(newestFileID);
    Logger.log('file name that is now open: ' + ss.getName());
  };
};