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, время: 07:31. |