Google Script: Как получить повторяющиеся события из Календаря Google?
На различных веб-сайтах есть популярный скрипт, который позволяет легко экспортировать события Календаря Google в таблицу Google. Он работает нормально... за исключением того, что он не работает с повторяющимися событиями.
Вот суть кода:
var mycal = "sample@gmail.com";
var cal = CalendarApp.getCalendarById(mycal);
var events = cal.getEvents(new Date(startDate), new Date(endDate));
Тогда нужно просто перебрать членов "событий". Проблема заключается в том, что повторяющиеся события определяются другим способом, который getEvents не понимает. Таким образом, запрос диапазона дат, содержащий только повторяющиеся события, ничего не находит.
Мне интересно, если кто-нибудь написал код, который будет правильно запрашивать повторяющиеся события?
Роберт
2 ответа
Ваше предположение неверно, повторяющиеся события возвращаются точно так же, как и любые другие.
Я не знаю, какой сценарий вы используете, но если вы не можете получить повторяющиеся события, то я думаю, что этот сценарий просто не годится.
Я не собираюсь публиковать весь код здесь, потому что версия, которую я использую, немного длинная, но вы можете сделать копию этой таблицы и протестировать ее самостоятельно.
https://docs.google.com/spreadsheets/d/1h0uAYz7fAChbnhIfWwy-xYluomDsfkqblBRHcGNwThY/edit?usp=sharing
Запустите opOpen один раз из меню, чтобы получить авторизацию, затем используйте меню электронных таблиц. Вы получите пользовательский интерфейс, который попросит вас определить, какой календарь использовать, и даты начала / окончания. Эти значения будут сохранены в свойствах для следующего использования.
Серж, ты прав, он справляется с периодическими поставками. Моя ошибка состояла в том, чтобы включить время начала и время окончания в дополнение к дате. Как только я это сделал, с помощью простой конкатенации строк, все работало правильно.
Спасибо за ваш отзыв!
Роберт