FileIterator.next()不起作用

时间:2017-07-22 09:10:15

标签: google-apps-script

07/19/2017 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);

1 个答案:

答案 0 :(得分:1)

这对我有用。它是我在实用程序库中的一个函数。

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;
}