Я пытаюсь написать script, который будет принимать данные из электронной таблицы Google и создавать события в календаре Google.
Мне удалось это прекрасно, но он производил дубликаты каждый раз, когда я запускал его. Поэтому теперь я пытаюсь предотвратить это, создав столбец 17 в электронной таблице с автоматически созданным уникальным идентификатором события для каждой строки, а затем каждый раз при запуске script он будет искать идентификатор события для каждой строки и удалять соответствующее событие в календаре, прежде чем воссоздать его с исходными данными или обновленными данными, если я изменил строку.
Я новичок в создании скриптов любого типа и булыжник вместе, но сейчас ударяю о стену. Может кто-нибудь помочь разобраться в этом?
function CalInsert() {
var cal = CalendarApp.getDefaultCalendar();
var id = SpreadsheetApp.getActiveSheet().getRange(2,17).getValue();
if (id != 0) {
var event = cal.getEventSeriesById(id);
event.deleteEventSeries();
}
var sheet = SpreadsheetApp.getActiveSheet();
var startRow = 2; // First row of data to process
var numRows = sheet.getLastRow(); // Number of rows to process
var dataRange = sheet.getRange(startRow, 1, numRows, sheet.getLastColumn());
var data = dataRange.getValues();
for (i in data) {
var row = data[i];
var title = row[0]; // First column
var desc = row[13]; // Second column
var tstart = row[14];
var tstop = row[15];
var event = cal.createEvent(title, tstart, tstop, {description:desc});
var eventid = event.getId();
SpreadsheetApp.getActiveSheet().getRange(2,17).setValue(eventid);
}
}