GAS. Last added event from calendar to last row of spreadsheet
Помогите пожалуйста довести до ума скрипт
Что нужно сделать, задача: - есть 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 добавление строки в конец таблицы а не все события собирать за некий период. Как это реализовать?? Спасибо заранее!!! |
| Часовой пояс GMT +3, время: 09:08. |