Я хочу, чтобы мои Листы Google импортировались в мой Календарь каждый раз, когда я редактирую столбец D. У меня есть скрипт, который работает, но он дублирует эти записи.Я хочу удалить все события с одинаковыми именами (столбец E).Проще говоря, каждый раз, когда я редактирую столбец D, я хочу, чтобы все записи календаря были удалены и добавлены новые.
Есть идеи, что я делаю неправильно?
function onOpen() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sh0 = ss.getSheetByName("DATA");
var entries = [{
name : "Export Events",
functionName : "addEvents"
}];
ss.addMenu("Calendar Actions", entries);
};
function addEvents(){
var ss = SpreadsheetApp.getActiveSheet();
var headerRows = 1;
var range = ss.getDataRange();
var values = range.getValues();
var data = ss.getRange("D2:E24").getValues();
var cal = CalendarApp.getCalendarById('k8kjmthm3fmcapidh9urkk6h2g@group.calendar.google.com');
var calID = "k8kjmthm3fmcapidh9urkk6h2g@group.calendar.google.com";
//Logger.log(cal);
//Logger.log(data.length);
for(var i = 0;i<data.length;i++){
if (i < headerRows) continue;
var column = data[i];
var row = data[i];
Logger.log(row);
var date = row[0];
//Logger.log(date);
var title = row[1];
var date = row[0];
var id = row[1];
var event = row[1]
var eventSeries = row[1]
var startDate = row[0]
var endDate = row[0]
try {
var event = cal.getEventSeriesById(id);
event.deleteEventSeries();
row[1] = '';
var event = cal.deleteEvent(row[1]);
}
catch (e) {
Logger.log(event);
}
var newEvent = cal.createAllDayEvent(title, startDate).getId();
row[1] = newEvent; // Update the data array with event ID
}
}