试图将谷歌驱动器的索引发布到工作表中

时间:2017-06-22 11:16:45

标签: javascript google-apps-script google-drive-api

我是javascript的初级用户,我正在尝试将我的google驱动器文件夹的名称和网址导出到工作表中。

我已从互联网上复制此代码。

function listFilesInFolder(Aman) {

  var folder = DriveApp.getFoldersByName(Aman).next();
  var contents = folder.getFiles();

  var file, data, sheet = SpreadsheetApp.getActiveSheet();
  sheet.clear();

  sheet.appendRow(["Name", "Date", "Size", "URL", "Download", "Description", "Type"]);

  for (var i = 0; i < contents.length; i++) {

    file = contents[i];

    if (file.getFileType() == "SPREADSHEET") {
      continue;
    }

    data = [ 
      file.getName(),
      file.getDateCreated(),
      file.getSize(),
      file.getUrl(),
      "https://docs.google.com/uc?export=download&confirm=no_antivirus&id=" + file.getId(),
      file.getDescription(),
      file.getFileType().toString()
    ];

    sheet.appendRow(data);

  }

};

hitesh是我的文件夹的名称。

不幸的是,

我收到错误

无法检索下一个对象:迭代器已到达终点。 (第3行,文件“代码”)

如果我可以对此代码进行任何更改,也可以引导我,也可以抓取“hitesh”文件夹中的文件夹并发布相同的索引。

永远感激

此致

manak

1 个答案:

答案 0 :(得分:0)

请注意,调用next()将获取文件或文件夹集合中的下一个项目。因此,如果调用next()将返回项目,您可能需要先检查。请尝试使用此条件包含您的代码,

while (files.hasNext()) { 

}

此外,如果您的文件夹名称为hitesh,那么您应该使用该文件夹,

var folder = DriveApp.getFoldersByName(Aman).next();

有关其他见解,请参阅此GitHub post和此SO post