Skip to content

Instantly share code, notes, and snippets.

@nathancday
Created September 2, 2018 12:41
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save nathancday/d168314100708235535e6967f5185acf to your computer and use it in GitHub Desktop.
Save nathancday/d168314100708235535e6967f5185acf to your computer and use it in GitHub Desktop.
function export_gcal_to_gsheet(){
// fill with your details
var mycal = "you@email.com";
var cal = CalendarApp.getCalendarById("email.com@hakjshfkhflsafkshfklaj@group.calendar.google.com");
// interval of interest
var events = cal.getEvents(new Date("August 1, 2018 00:00:00 CST"), new Date("August 31, 2018 23:59:59 CST"));
var sheet = SpreadsheetApp.getActiveSheet();
sheet.clearContents();
var header = [["Calendar Address", "Event Title", "Event Description", "Event Location", "Event Start", "Event End", "Calculated Duration", "Visibility", "Date Created", "Last Updated", "MyStatus", "Created By", "Guest Email", "All Day Event", "Recurring Event"]]
var range = sheet.getRange(1,1,1,15);
range.setValues(header);
for (var i=0;i<events.length;i++) {
var row=i+2;
var guestList = events[i].getGuestList(includeOwner=true);
var myformula_placeholder = '';
// extra code to get guest list
var myarray = []
for(var d=0; guestList!=null && d<guestList.length; d++) {
myarray[d]=guestList[d].getEmail()
}
var details=[[mycal,events[i].getTitle(), events[i].getDescription(), events[i].getLocation(), events[i].getStartTime(), events[i].getEndTime(), myformula_placeholder, ('' + events[i].getVisibility()), events[i].getDateCreated(), events[i].getLastUpdated(), events[i].getMyStatus(), events[i].getCreators(), myarray.join(), events[i].isAllDayEvent(), events[i].isRecurringEvent()]];
var range=sheet.getRange(row,1,1,15);
range.setValues(details);
var cell=sheet.getRange(row,7);
cell.setFormula('=(HOUR(F' +row+ ')+(MINUTE(F' +row+ ')/60))-(HOUR(E' +row+ ')+(MINUTE(E' +row+ ')/60))');
cell.setNumberFormat('.00');
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment