#javascript #google-apps-script #google-sheets #email-attachments
#javascript #google-apps-script #google-sheets #электронная почта-вложения
Вопрос:
Я пытаюсь добавить все содержимое 2 разных папок на Google Диске в мое 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'
});
Ответ №1:
Вы можете использовать синтаксис распространения (…), чтобы поместить все вложения в 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.