微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

异常:无法检索下一个对象:迭代器已到达末尾第 26 行错误

如何解决异常:无法检索下一个对象:迭代器已到达末尾第 26 行错误

function sendMail() {
  var ofo = 1;
  var restaurant = 2;
  var name = 3;
  var email = 4;
  var sent = 5;

  var emailTemp = HtmlService.createTemplateFromFile("Email");

  var ws = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Invalid Login MM Pull Internal");

  var data = ws.getRange("A2:F" + ws.getLastRow()).getValues();

  data.forEach(function(row){

    emailTemp.ofo = row[ofo];
    var file = DriveApp.getFilesByName("Guide to Resetting Online Delivery Passwords.pdf");
    var htmlMessage = emailTemp.evaluate().getContent();
    var startRow = 2;
    for (var i = 0; i < data.length; ++i){
    if (row[sent] !== "EMAIL_SENT"){
        GmailApp.sendEmail(row[email],"otter Onboarding: Invalid " + row[ofo] + " Logins Submitted","Your email doesn't support HTML,please trying using another browser.",{name: "The otter Onboarding team",htmlBody: htmlMessage,replyTo: "onboarding@tryotter.com",attachments: [file.next().getAs(MimeType.PDF)]
        });
        ws.getRange(2 + i,6).setValue("EMAIL_SENT");
      };
    };
     });
}

我正在尝试将此 PDF 附加到我的电子邮件中,但它一直说第 26 行有一个错误:异常:无法检索下一个对象:迭代器已结束。

解决方法

只是猜测。而不是这样:

var file = DriveApp.getFilesByName("Guide to Resetting Online Delivery Passwords.pdf");

...

attachments: [file.next().getAs(MimeType.PDF)]

你可能需要这个:

var file = DriveApp.getFilesByName("Guide to Resetting Online Delivery Passwords.pdf").next();

...

attachments: [file.getAs(MimeType.PDF)]

getFiles() 给你一个迭代器(类似于数组的东西)。方法 .next() 为您提供迭代器的第一个(实际上是唯一的)元素。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。