Google Apps 脚本:如何获取文件夹中的前四个文件

Google Apps Script: How to get the first four files in a folder

我目前正在使用以下代码检索文件夹和其中的文件:

var folder = DriveApp.getFolderById(folderId);  
  var contents = folder.getFiles();

如果可能的话,我想创建一个只包含上述代码找到的前四个文件的变量。

感谢您的帮助, 康纳

这取决于你所说的前 4 个是什么意思。如果你的意思是按最后修改时间排序,那么这段代码应该可以工作。它将为您提供一个包含前 4 个文件的 ID 的数组:

function firstfour () {
  var folder = DriveApp.getFolderById(folderId);  
  var contents = folder.getFiles();

  var i=0;
  var contentsArray = [];

while (contents.hasNext() && i < 4) {
  var file = contents.next();
  contentsArray.push(file.getId());  //this is the array that will have the Id's of the first 4 files.
  i++
}
}

如果您追求的是文件对象而不是 ID:

function getFirstFourFiles(folderId) {
  var limit = 4;
  var output = [];
  var files = DriveApp.getFolderById(folderId).getFiles();
  while (files.hasNext() && limit--) {
    output.push(files.next());
  }
  return output;
}

用法:

var files = getFirstFourFiles(id);

Returns 您可以使用的文件对象数组,例如:

var files = getFirstFourFiles(id);
files.forEach(function(file) {
  Logger.log(file.getName());
});

// Output:
// "Filename 1"
// "Filename 2"
// "Filename 3"
// "Filename 4"