我有以下代码,它尝试发送附有.pdf文件的邮件。此.pdf位于我的Google云端硬盘中。
var files = DriveApp.getFilesByName('file_test.pdf');
GmailApp.sendEmail(email, subject, message, {attachments:files[0]});
我发现“getFilesByName”返回一个数组,这就是我使用文件[0]的原因,但它仍然无效。我不知道如何调试它,所以当我测试我的代码时,我能够发送邮件,但我收到它没有附加文件。
答案 0 :(得分:1)
当您使用getFilesByName时,您正在接收FileIterator,因此您应该使用hasNext()和next()函数来检索您的文件。
var files = DriveApp.getFilesByName('file_test.pdf');
if(files.hasNext()){
var file = files.next();
GmailApp.sendEmail(email, subject, message, {attachments:file});
}
在GmailApp文档中,他们使用文件上的getAs()函数将其作为PDF返回,在您的情况下,这可能是必需的,也可能不是必需的。
请参阅:
https://developers.google.com/apps-script/reference/drive/drive-app