0
我正在使用importFromCSV腳本,它在第一次運行良好,但我在腳本編輯器中得到了DocsList.getFiles()已被棄用的警告,應該找到替代方法。我試圖直接用DriveApp.getFiles()換出,但是現在腳本超時了。DriveApp.getFiles()是否與DocsList.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]));
}
}
謝謝塞爾。是的,DriveApp.getFileId可以返回文件名。然而,這並不適用於getContentAsString(),它期望一些其他類型的返回。循環後返回的文件[i]僅在記錄器中顯示爲「文件」。在使用getContentAsString()之前,是否需要在DriveApp.getFileId的結果上運行其他一些過程? – 2014-09-26 01:31:13