DriveApp.getFiles()是否相当于DocsList.getFiles()?

时间:2014-09-25 06:46:12

标签: google-apps-script

我正在使用importFromCSV脚本,它第一次运行正常,但我在脚本编辑器中收到一条警告,即DocsList.getFiles()已被弃用,应找到替代方案。我试图直接换掉DriveApp.getFiles()但是脚本现在就超时了。

DriveApp.getFiles()是否与DocsList.getFiles()不可互换?如果没有,我应该使用什么?或者是否有其他我错过的导致超时的东西?

function importFromCSV() {
  var fileName = "0B2n-RwpLExXnaXRBWG1aT3NLbm8";

  var files = DocsList.getFiles();
  var csvFile = "";

  for (var i = 0; i < files.length; i++) {
    if (files[i].getId() == fileName) {
      csvFile = files[i].getContentAsString();
      break;
    }
  }
  var csvData = CSVToArray(csvFile, ",");
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var sheet = ss.getActiveSheet();
  for (var i = 0; i < csvData.length; i++) {
    sheet.getRange(i+1, 1, 1, csvData[i].length).setValues(new Array(csvData[i]));
  }
}

1 个答案:

答案 0 :(得分:1)

简短回答是否

当DriveApp返回file iterator时,DocsList会返回一个文件数组。请参阅documentation here

但是,当我看到您的代码时,您没有通过名称获取该文件,但您使用 ID ...因此您可以使用{{来简化代码1}}将立即返回正确的文件,而无需迭代或循环...