Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 24.03.2019, 20:50
Новичок на форуме
Отправить личное сообщение для friendly Посмотреть профиль Найти все сообщения от friendly
 
Регистрация: 24.03.2019
Сообщений: 1

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 добавление строки в конец таблицы
а не все события собирать за некий период.

Как это реализовать??

Спасибо заранее!!!
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Игра-квест на JS, помогите разобраться в структуре m_lulu Общие вопросы Javascript 1 29.03.2018 14:02
regular event calendar redfelum Библиотеки/Тулкиты/Фреймворки 0 26.07.2012 07:09