繁体   English   中英

Google Apps 脚本中的附件问题

[英]Problem with Attachments in Google Apps Script

我在下面有这段代码:

    reportPDF = doc.getAs('application/pdf')
    reportPDF.setName('Automated report - '+ rows[0][0] + ".pdf");
    
    var file1 = destinationFolder.createFile(reportPDF);  
    var folder = DriveApp.getFolderById("19Rv2f-Ud4Ncdzu-1MT1vUmh49pOKfKZX");
    var file2 = folder.getFilesByName("test.pdf");

    DriveApp.getFileById(doc.getId()).setTrashed(true);

    if(file2.hasNext()){
          emails.forEach(function(email) {
          MailApp.sendEmail(email, "Automated Report - " + rows[0][0], "Hello!", {
          name: 'Good Practices Report',
          attachments: 
            [
            file1.getAs(MimeType.PDF),
            file2.next().getAs(MimeType.PDF)
            ]

                                       });
                          })
      }

使用此代码,我应该会收到一个包含两个附件(file1 和 file2)的 email。 但是,当我运行它时,我收到以下错误:

异常:无法检索下一个 object:迭代器已到达末尾。 (第 158 行,文件“电子邮件”)

在这个文件夹中,我只有一个名为 test.pdf 的文件,但代码仍然在第 158 行指责错误:file2.next().getAs(MimeType.PDF)。

有谁知道可能会发生什么?

修改点:

  • 我认为您的问题的原因Cannot retrieve the next object: iterator has reached the end. 是由于循环中使用了file2.next() 在这种情况下,我认为在if(file2.hasNext()){运行之前,迭代器可能已经完成。

因此,当您想在attachments:中使用file1.getAs(MimeType.PDF)file2.next().getAs(MimeType.PDF)的文件时,以及In this folder, I just have one file with the name test.pdf ,下面的修改怎么样?

修改后的脚本:

请按如下方式修改您的脚本。

从:
 if(file2.hasNext()){ emails.forEach(function(email) { MailApp.sendEmail(email, "Automated Report - " + rows[0][0], "Hello,": { name, 'Good Practices Report': attachments. [ file1.getAs(MimeType,PDF). file2.next().getAs(MimeType;PDF) ] }); }) }
至:
 if (file2.hasNext()) { var file2Pdf = file2.next().getAs(MimeType.PDF); // Added emails.forEach(function(email) { MailApp.sendEmail(email, "Automated Report - " + rows[0][0], "Hello,": { name, 'Good Practices Report': attachments. [ file1.getAs(MimeType,PDF); file2Pdf // Modified ] }); }) }
  • 在此修改中, file1.getAs(MimeType.PDF)file2Pdf文件用作循环中的attachments

参考:

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM