Javascript 在Google Drive中列出所有大小的文件

Javascript 在Google Drive中列出所有大小的文件,javascript,google-apps-script,Javascript,Google Apps Script,我一直在尝试创建一个谷歌应用程序脚本,列出我驱动器中的所有文件及其大小,并通过电子邮件发送给我。这在一定程度上是一种实践,可能很有用。这是我目前的代码: function listAllFiles () { var rootFolder = DocsList.getRootFolder(); var contents = rootFolder.getFiles(); var file = DocsList.getAllFiles(); for (i = 0; i < con

我一直在尝试创建一个谷歌应用程序脚本,列出我驱动器中的所有文件及其大小,并通过电子邮件发送给我。这在一定程度上是一种实践,可能很有用。这是我目前的代码:

function listAllFiles () {
  var rootFolder = DocsList.getRootFolder();
  var contents = rootFolder.getFiles();
  var file = DocsList.getAllFiles();
  for (i = 0; i < contents.length; i++) {

Logger.log(file[i].getName() + ":::" + file[i].getSize());
}
 var recipient = Session.getActiveUser().getEmail();
 var subject = 'A list of files in your Google Drive';
 var body = Logger.getLog();
 MailApp.sendEmail(recipient, subject, body);
}
函数列表所有文件(){
var rootFolder=DocsList.getRootFolder();
var contents=rootFolder.getFiles();
var file=DocsList.getAllFiles();
对于(i=0;i
但是,它只发送大约5个文件的列表,除非我将“contents.length”更改为像100这样的手动编号。(同样由于某些原因,如果我将.getName设置为1000之类的高值,它将在.getName上抛出一个错误)。无论如何,我知道我不应该用硬数字。请容忍我的无知,我已经学习谷歌脚本大约1周了,javascript大约2个月了

  • 建议使用DriveApp而不是DocsList
  • DocsList.getAllFiles()受最大结果大小限制。。。如果您有许多文件,请使用getAllFilesForPaging(数字、令牌)
  • 您只能从所有文件的集合中获取根目录中的文件数
  • 试一试

    function listAllFiles () {
     // DriveApp is recommended rather than DocsList.
      var dFiles = DriveApp.getFiles();
      while (dFiles.hasNext()) {
      var thisFile = dFiles.next()
      Logger.log(thisFile.getName()  + ":::" + thisFile.getSize());
    
      }
    // you might want to make this restartable if you have lots of files ... time out
     var recipient = Session.getActiveUser().getEmail();
     var subject = 'A list of files in your Google Drive';
     var body = Logger.getLog();
     MailApp.sendEmail(recipient, subject, body);
    }
    

  • 你应该在某个地方提出一个明确的问题。这使得获得答案变得更容易,因为其他用户不必多次阅读文本来获得不清楚的内容。很抱歉,从现在开始,我将简明扼要。