我正在使用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]));
}
}
答案 0 :(得分:1)
简短回答是否
当DriveApp返回file iterator时,DocsList会返回一个文件数组。请参阅documentation here。
但是,当我看到您的代码时,您没有通过名称获取该文件,但您使用 ID ...因此您可以使用{{来简化代码1}}将立即返回正确的文件,而无需迭代或循环...