问题描述
我正在尝试将Google驱动器中2个不同文件夹的所有内容添加到我的GmailApp中,以便电子邮件包含两个文件夹中的所有文件。
无效的参数:sendEmail的附件(代码:180:20)
var contents = DriveApp.getFolderById('***').getFiles();
var contentspdf = DriveApp.getFolderById('***').getFiles();
var attach = [];
while(contents.hasNext()){
var file = contents.next();
if (file.getMimeType() == "application/pdf"){
attach.push(file);
}
}
var attachtwo = [];
while(contentspdf.hasNext()){
var files = contentspdf.next();
if (files.getMimeType() == "application/pdf"){
attachtwo.push(files);
}
}
GmailApp.sendEmail(currentEmail,Subject,messageBody,{
attachments: [attach,attachtwo,],name: 'Test'
});
解决方法
您可以使用Spread syntax (...)将所有附件放入attachments
参数中:
attachments: [...attach,...attachtwo]
解决方案:
var contents = DriveApp.getFolderById('***').getFiles();
var contentspdf = DriveApp.getFolderById('***').getFiles();
var attach = [];
while(contents.hasNext()){
var file = contents.next();
if (file.getMimeType() == "application/pdf"){
attach.push(file);
}
}
var attachtwo = [];
while(contentspdf.hasNext()){
var files = contentspdf.next();
if (files.getMimeType() == "application/pdf"){
attachtwo.push(files);
}
}
GmailApp.sendEmail(currentEmail,Subject,messageBody,{
attachments: [...attach,...attachtwo],name: 'Test'
});
请确保启用了V8 Runtime环境。