Google App Script:在附加多个图像时出错(在对象DriveApp上获取方法或属性getFileById时



我正在编写一个自动脚本从我的谷歌表发送邮件,我想附加多个图像。只有一个图像,一切都工作得很好,但当我想附加两个或更多,它给我这个错误消息:

异常:在对象DriveApp上获取getFileById方法或属性时出现意外错误。

这是我现在的代码:

function sendEmails() {
var sheet = SpreadsheetApp.getActiveSheet();
var startRow = 1; // First row of data to process
var numRows = 3; // Number of rows to process
// Fetch the range of cells A2:B3
var dataRange = sheet.getRange(startRow, 1, numRows, 5);
// Fetch values for each row in the Range.
var data = dataRange.getValues();
for (var i in data) {
var row = data[i];
var emailAddress = row[0]; // First column
var message = row[1]; // Second column
var image = DriveApp.getFileById(row[2]).getBlob();
var image2 = DriveApp.getFileById(row[3]).getBlob();
var subject = 'TAYDO 2021 Certificate';
}
MailApp.sendEmail({
to:emailAddress, 
subject:subject,   
body:message,  
attachments: [image.next(),image2]
});
}

App脚本具有运行此脚本所需的所有权限,并且表,驱动器和所有内容都在相同的Google Acc下。有人能帮忙吗?提前感谢!

这个适合我:

function attachimages() {
let fldr = DriveApp.getFolderById(gobj.globals.imagesfolderid);
let files = fldr.getFiles();
let imgA = [];
while(files.hasNext()) {
let file = files.next();
if(file.getName().slice(0,3) == 'die') {
imgA.push(file.getBlob().getAs('image/jpeg'))
}
}
MailApp.sendEmail({to:'jimesteban@jimesteban.com',subject:'Test Images Attachment',body: 'See Attached Images', attachments:imgA});
}

我的图像碰巧被命名为die1.jpg, die2.jpg ....等等,它们都是骰子的面。

这也适用于我:

function sendEmails() {
const ss = SpreadsheetApp.getActive();
const sh = ss.getSheetByName('Sheet0');
const rg = sh.getRange(2, 1, 3, 4);
const vs = rg.getValues();
vs.forEach((r, i) => {
let emailAddress = r[0];
let message = r[1];
let image1 = DriveApp.getFileById(r[2].toString()).getBlob();
let image2 = DriveApp.getFileById(r[3].toString()).getBlob();
let subject = 'Test Attach Images';
MailApp.sendEmail({ to: emailAddress, subject: subject, body: message, attachments: [image1, image2] });
});
}

Sheet0:

Image2修订修订修订

最新更新