错误:异常:无效参数:[Ljava.lang.Object;@7fcbe025 mySetEvent @ Try Calendar Event.gs:49。需要帮助请

问题描述 投票:0回答:1

我的脚本需要帮助。当我在 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);
}

我需要帮助才能使脚本正常运行 (自动创建活动 - 与客人一起并自动发送电子邮件 - 带抄送)

javascript google-apps-script google-sheets google-calendar-api
1个回答
0
投票

客人属性应该是以逗号分隔的电子邮件地址列表,应添加为客人,如此处所指定。可以加入阵列了

var event = {
    description: notes,
    sendNotifications: true,
    guests: addGuests.join(','), // Add guest email addresses here
};
© www.soinside.com 2019 - 2024. All rights reserved.