Search code examples
google-apps-scriptgoogle-sheetsgoogle-calendar-apigoogle-workspace

Why can't I return a list of specific email addresses from a Calendar invite with App Script?


I'm trying to return a list of specific email addresses of all event attendees on a GSuite calendar with a script and I can only return either an ID number or a list that appears only as "EventGuest, EventGuest, EventGuest...."

Is it possible to return the email address itself? Thanks in advance for any guidance here!

This is the basic script that I'm working with:

function listCalendarAttendees(){
var calendar =  CalendarApp.getCalendarById('AnyCalendarTEST@gmail.com');
var sheet = SpreadsheetApp.openById('TEST ID').getSheetByName('Bobs Calendar');
var startTime = new Date();
var endTime = new Date(startTime.getTime()+(1000*60*60*24*7));
var events = calendar.getEvents(startTime, endTime);
Logger.log('Number '+events.length);
for(var x=0;x<events.length;x++){
  var event = events[x];
  var messages = event.getTitle();
  var eventStart = event.getStartTime();
  var emails = event.getCreators().toString();
  var descriptions = event.getDescription();
  var guestListLength = event.getGuestList().length;
  var guestListNames =event.getGuestList().toString();

sheet.appendRow([messages,eventStart,emails,descriptions,guestListLength,guestListNames]);
}
}

Solution

  • Event Guest is an object. Here are it's methods:

    1. getEmail()
    2. getAdditionalGuests()
    3. getGuestStatus()
    4. getName()