This question is related to the question asked here, but this example does not use Calendar App, but advanced calendar services
I am stuck on how to prevent duplicates from appearing because getEventSeriesById does not work here.
function onOpen() {
var sheet = SpreadsheetApp.getActiveSpreadsheet();
var entries = [{
name : "Export Events",
functionName : "exportEvents"
}];
sheet.addMenu("Calendar Actions", entries);
};
function exportEvents() {
var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Calendar");
var headerRows = 1;
var range = sheet.getDataRange();
var data = range.getValues();
var calId = 'MY_ID';
for (i=0; i<data.length; i++) {
if (i < headerRows) continue;
var row = data[i];
var date = row[0];
var endDate = row[1];
var title = row[2];
var desc = row[3];
var id = row[4];
var color = row[5];
var newEvent = {
summary: title,
description: desc,
"start": {
"date": date
},
"end": {
"date": endDate
},
colorId: color
};
newEvent = Calendar.Events.insert(newEvent, calId);
row[4] = newEvent.id
/* //this bit does not work
if (id === 1) {
var delEvent = Calendar.Events.remove(calId, id);
delEvent.execute;
}
*/
range.setValues(data);
}
}