我的脚本需要帮助。当我在 addGuests 中使用 1 封电子邮件进行测试时,它工作正常,但当我在 AddGuests 中添加更多电子邮件时,它现在显示错误。 (异常:无效参数:[Ljava.lang.Object;@7fcbe025 mySetEvent)
function onOpen() {
var ui = SpreadsheetApp.getUi();
ui.createMenu('Set Reminder')
.addItem('Create Cal Event and Send Email', 'mySetEvent')
.addToUi();
}
function mySetEvent() {
var spreadsheet = SpreadsheetApp.getActiveSpreadsheet();
var sheet = spreadsheet.getActiveSheet();
var selectedRange = sheet.getActiveRange();
var numRows = selectedRange.getNumRows();
var signups = selectedRange.getValues();
var calendarIds = ['[email protected]']; // Add your calendar IDs here
for (var i = 0; i < numRows; i++) {
var eventTitle = signups[i][2] + ' ' + signups[i][3];
var notes = signups[i][4] + '\n' + signups[i][5] + '\n' + signups[i][6];
var columnHData = signups[i][7];
if (eventTitle && notes && columnHData) {
var startDate = new Date(signups[i][7]);
var startTime = new Date(signups[i][8]);
var startDateTime = new Date(startDate.getFullYear(), startDate.getMonth(), startDate.getDate(), startTime.getHours(), startTime.getMinutes(), 0);
var endDateTime = new Date(startDateTime.getTime() + (60 * 60 * 1000)); // Changed event duration to 1 hour
var addGuests = ['[email protected]', '[email protected]', '[email protected]']; // Add guest email addresses here
var event = {
description: notes,
sendNotifications: true,
guests: addGuests // Add guest email addresses here
};
var oneDayBefore = new Date(startDateTime.getTime() - (24 * 60 * 60 * 1000));
event.reminders = {
useDefault: false,
overrides: [
{
method: 'email',
minutes: 24 * 60
}
]
};
for (var j = 0; j < calendarIds.length; j++) {
var calendarId = calendarIds[j];
var eventCal = CalendarApp.getCalendarById(calendarId);
eventCal.createEvent(eventTitle, startDateTime, endDateTime, event);
var events = eventCal.getEvents(startDateTime, endDateTime, {search: eventTitle});
if (events.length > 0) {
var event = events[0];
event.addEmailReminder(oneDayBefore);
sendNotificationEmail(eventTitle, startDateTime, notes, columnHData, calendarId);
}
}
}
}
}
function sendNotificationEmail(eventTitle, startDateTime, notes, columnHData, calendarId) {
var recipientEmail = '[email protected]'; // Set your email address here
var ccEmails = ['[email protected]', '[email protected]', '[email protected]'];
var titleParts = eventTitle ? eventTitle.split(' ') : [];
var subject = 'BLAST REMINDER: ' + titleParts[0] + ' - ' + titleParts[1] + ' - ' + columnHData;
var body = '**FOR BLASTING:**\n\n' +
'**Channel and Promo:** ' + eventTitle + '\n' +
'**Blasting Date and Time:** ' + startDateTime + '\n\n' +
'**Spiels and Segments:**\n' + notes;
MailApp.sendEmail({
to: recipientEmail,
cc: ccEmails.join(','),
subject: subject,
body: body,
options: {htmlBody: body}
});
var ui = SpreadsheetApp.getUi();
ui.alert('Event Created', 'Event has been created in the calendar with ID: ' + calendarId, ui.ButtonSet.OK);
}
我需要帮助才能使脚本正常运行 (自动创建活动 - 与客人一起并自动发送电子邮件 - 带抄送)
客人属性应该是以逗号分隔的电子邮件地址列表,应添加为客人,如此处所指定。可以加入阵列了
var event = {
description: notes,
sendNotifications: true,
guests: addGuests.join(','), // Add guest email addresses here
};