App script to add events to a Google calendar is working, but no invitation is sent

3 views
Skip to first unread message

chocho...@gmail.com

unread,
2:35 PM (4 hours ago) 2:35 PM
to Google Apps Script Community

I have a functioning app script to add events to a Google Calendar. Calendar events are correctly created in the calendar, with guest if applicable. Logs show the guest email is being properly recorded. This is my script:

function addEventsToCalendar(e) { if (e.range.columnStart != 11 || e.range.getValue() == "" || e.range.offset(0, -10).getValue() == "") return; const rData = e.source.getActiveSheet().getRange(e.range.rowStart, 1, 1, 15).getValues(); const calendarId = 'insertcalenderid'; // Replace with your calendar ID const calendar = CalendarApp.getCalendarById(calendarId); let date2 = rData[0][1]; let request = rData[0][2];//psr or clin let loc = rData[0][3];//event location let starttime = rData[0][4]; //start time let endtime = rData[0][5]; //end time let floatName = rData[0][7]; let status = rData[0][9]; let guestEmail = rData[0][12]; var title = floatName; //event title var title2 = "Not assigned" if (date2 !== '') { var startdate1 = Utilities.formatDate(new Date(date2), SpreadsheetApp.getActive().getSpreadsheetTimeZone(), "MM/dd/yyyy"); var enddate1 = Utilities.formatDate(new Date(date2), SpreadsheetApp.getActive().getSpreadsheetTimeZone(), "MM/dd/yyyy"); var starttime1 = Utilities.formatDate(new Date(starttime), SpreadsheetApp.getActive().getSpreadsheetTimeZone(), "hh:mm a"); var endtime1 = Utilities.formatDate(new Date(endtime), SpreadsheetApp.getActive().getSpreadsheetTimeZone(), "hh:mm a"); // Log values to debug Logger.log(`Date: ${date2}, Start Time: ${starttime}, End Time: ${endtime}, Title: ${title}, Guest Email: ${guestEmail}, Status: ${status}`); // Get start date, start time, end date and end time and reformat to correct date and time format for calendar // Combine date and time for calendar event var startDatetime = new Date(`${startdate1} ${starttime1}`); var endDatetime = new Date(`${enddate1} ${endtime1}`); Logger.log(`Start Datetime: ${startDatetime}, End Datetime: ${endDatetime}`); if (rData[0][0] !== "" && status !== 'X') { let event; let eventID; // Declare eventID in the correct scope if (guestEmail !== "") { Logger.log(`Creating event with title: ${title}`); event = calendar.createEvent(title, startDatetime, endDatetime, { location: loc, color: 5, guests: guestEmail, sendInvites: true }); } else { Logger.log(`Creating event with title: ${title2}`); event = calendar.createEvent(title2, startDatetime, endDatetime, { location: loc, color: 5 }); } Logger.log(guestEmail); // Capture the event ID and remove the @google.com part eventID = event.getId().split('@')[0]; Logger.log(`Event ID: ${eventID}`); // Write the event ID to column N (14th column, since columns are 0-indexed) const currentCell = e.source.getActiveSheet().getRange(e.range.rowStart, 15); currentCell.setValue(eventID); } } }

Everything is working properly, except for no invitation is sent to the email provided. The log shows the correct email. I have tried:

hard-coding the email, using different emails, using a different personal account not in my organization to run the script, using different calendars, setting calendar permissions to full management permissions, ensuring that calendar is shown/permission is given to view all details, running the script through ai, googling the problem (including stackoverflow)

all to no avail. I was expecting an email invitation to be sent.

Does anyone have any insight as to why this script would not be sending out the invite?

Reply all
Reply to author
Forward
0 new messages