2017年7月19日FileIterator.next()
方法已停止工作。
消息:无法获得以下对象:迭代器已到达集合的末尾。
搜索2017年7月19日之前创建的文件是正确的。
所有脚本在2017年7月19日之前都能正常工作很长时间,也许GAS的方法已经改变了。
我在哪里可以寻求帮助?
代码样例
var file = DriveApp.getFilesByName('FileName').next().getId();
和
var files = DriveApp.getFilesByName('Filename');
if (files.hasNext()) {
SpreadsheetApp.openById(files.next().getId()).getSheets()[0].appendRow([new Date(), Family, Name]);
}
和
var firstLevelFolderName = "MyFolderName";
var folders = DriveApp.getFoldersByName(firstLevelFolderName);
var firstLevelFolder = (folders.hasNext()) ? folders.next() : DriveApp.createFolder(firstLevelFolderName);
最佳答案
这对我有用。这是我的实用程序库中提供的功能。
function loadFile(filename,folderID)
{
var filename = (typeof(filename) !== 'undefined')? filename : DefaultFileName;
var folderID = (typeof(folderID) !== 'undefined')? folderID : DataFolderID;
var fldr = DriveApp.getFolderById(folderID);
var file = fldr.getFilesByName(filename);
var s = '';
while(file.hasNext())
{
var fi = file.next();
var target = fi.getName();
if(target == filename)
{
s = fi.getBlob().getDataAsString();
}
}
return s;
}
关于google-apps-script - FileIterator.next()不起作用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/45252755/