Помогите пожалуйста довести до ума скрипт
Что нужно сделать, задача:
- есть 1 таблица Google spreadsheet и 1 Google Calendar
- когда в Google Calendar добавляется 1 event
- срабатывает trigger (on change calendar)
- триггер срабатывает на добавление этого событие
в конец таблицы spreadsheet в виде строки (с основными параметрами event)
и все повторяется при следующем добавлении нового события в календарь
-------------------------------------------------
На данный момент есть такой скрипт,
который тупо собирает все(!) события между двумя датами ("01/03/2019 12:00 AM") и ("24/03/2019 12:00 AM")
есть возможность очистить spreadsheet перед добавлением (закомментированно)
function getEvents() {
var ss = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
var cal = CalendarApp.getCalendarById("ltbse8@group.calendar.google.com");
var events = cal.getEvents(new Date("01/03/2019 12:00 AM"), new Date("24/03/2019 12:00 AM"));
// var lr = ss.getLastRow();
// ss.getRange(2, 1,lr-1,5).clearContent();
for(var i = 0;i<events.length;i++) {
var title = events[i].getTitle();
var sd = events[i].getStartTime();
var ed = events[i].getEndTime();
var lос = events[i].getLocation();
var des = events[i].getDescription();
var eid = events[i].getDescription();
ss.getRange(i+2, 1).setValue(title);
ss.getRange(i+2, 2).setValue(sd);
ss.getRange(i+2, 2).setNumberFormat("mm/dd/yyyy h:mm:ss AM/PM");
ss.getRange(i+2, 3).setValue(ed);
ss.getRange(i+2, 3).setNumberFormat("mm/dd/yyyy h:mm:ss AM/PM");
ss.getRange(i+2, 4).setValue(lос);
ss.getRange(i+2, 5).setValue(des);
Logger.log(title);
}
}
предполагаю надо как-то использовать - getLastUpdated()
т.к. нам надо добавить последней строкой - только последнее, т.е. одно, добавленное событие,
т.е. скрипт должен работать на 1 событие - 1 добавление строки в конец таблицы
а не все события собирать за некий период.
Как это реализовать??
Спасибо заранее!!!