Планируем жизнь с Google Calendar и Google Apps Script

Ирина Чернова avatar | 9
FavoriteLoading В закладки
Планируем жизнь с Google Calendar и Google Apps Script

Здоровье, нетворкинг, досуг.

Google Calendar — это сервис с множеством интересных функций, которые выводят тайм-менджмент на новый уровень. Чего стоит одна возможность добавлять события в расписание путем отправки письма или SMS.

Еще в Google можно создавать календари доступные нескольким пользователям. Очень удобно сделать общий календарь для всех своих коллег и скриптом загнать в него напоминания о совещаниях на каждый вторник года.

Для кружков по интересам, фитнес-клубов и других общественных организаций есть возможность создавать общедоступные календари. В них можно выкладывать предстоящие события, чтобы все желающие могли добавлять их в свое расписание.

Google Calendar синхронизируется с iCal и Microsoft Outlook. Еще для него есть Android приложение. А если постараться, то можно перенести свое расписание на BlackBerry, PalmOS и прочую экзотику. То есть, можно быстренько скриптами распланировать свои дела на год вперед и использовать это расписание на любом устройстве.

Перейдем к примерам кода для автоматизации планирования личного времени, который избавят от монотонной работы по заполнению календаря. Использовать их очень просто:

  1. Заходим на docs.google.com и авторизируемся;
  2. Создаем новую электронную таблицу;
  3. Открываем Инструменты -> Редактор скриптов;
  4. Вставляем в окно редактора код, вносим необходимые правки;
  5. Запускаем скрипт и предоставляем ему все разрешения.

Здоровье

Многие сейчас соблюдают диету, ходят на фитнес и спа-процедуры. Эти меры, при грамотном подходе, приносят ощутимую пользу, но они не защитят от катаракты, меланомы, камней в почках, ухудшения слуха и скрытых венерических болезней. Ранняя диагностика у хороших специалистов — столь же значимая составляющая ЗОЖ, как диета и тренировки. Именно ранняя (пока симптомы не мешают жить) и у проверенного доктора, а не срочный осмотр пьяного деревенского фельдшера скорой, который на ощупь пытается отличить желчную колику от приступа пакреатита, так как от дачи до больницы с ультразвуком есть шанс не доехать.

Чтобы четко знать какой орган может подвести в самый неподходящий момент и предотвратить развитие опасных для жизни заболеваний, стоит выделить время в своем расписании на посещение врачей разных специализаций. Вот пример скрипта, который создаст календарь «Здоровье» и на 26 число каждого месяца поставит напоминание о визите к врачу.

[jscript]
function doctorsCalendar() {
currentCalendar = CalendarApp.createCalendar("Здоровье");
doctors=["Стоматолог", "Гинеколог", "Нефролог", "Невропатолог", "Кардиолог", "Гастроэнтеролог", "Окулист", "Эндокринолог"];
for (i=1;i<=doctors.length-1;i++)
{
j=i-1;
currentCalendar.createAllDayEvent(doctors[j], new Date(‘2016/0’+i+’/26’));
}
}
[/jscript]

Главное, не забыть в первых числах месяца определиться к какому специалисту пойти и записаться к нему.

Некоторых жителей северных стран осенью и весной начинают беспокоить сиптомы авитаминоза. Чтобы их избежать стоит загодя запланировать прием курса витаминов в таблетках, внутревенных общеукрепляющих уколов или питья свежевыжатых соков по утрам. Каждый выбирает для себя более комфортный и эффективный для него метод. Этот скрипт добавит напоминания о приеме витаминов в каждый мартовский и октябрьский день.

[jscript]
function drugsCalendar() {
currentCalendar = CalendarApp.getCalendarsByName("Здоровье")[0];
for (i=1;i<=31;i++)
{
j=i-1;
currentCalendar.createAllDayEvent("Принять витамины", new Date(‘2016/03/’+i));
currentCalendar.createAllDayEvent("Принять витамины", new Date(‘2016/10/’+i));
}
}
[/jscript]

Нетворкинг

За секунду внимания пользователя интернета идет непрерывная борьба между стучащимся в друзья магазинами с китайским барахлом, баннерами с танчиками и подборками цитат миллионеров в ленте. У вашей бабушки и лучшего школьного друга нет бюджета на самопиар и в суете легко забыть о них. Этот скрипт поможет занести в каждый месяц вашего календаря напоминание о необходимости общения с 14 важными для вас людьми.

[jscript]
function relationCalendar() {
currentCalendar = CalendarApp.createCalendar("Нетворкинг");
persons=["Вася","Юра","Миша","Вова","Дима","Андрей","Света","Лиля","Аня","Маша","Ира","Инна","Леша","Саша"];
for (i=1;i<=12;i++)
{
day=1;
for (j=0;j<=13;j++)
{
currentCalendar.createAllDayEvent("Нетворкинг: "+persons[j], new Date(‘2016/’+i+’/’+day));
day=day+2;
Utilities.sleep(1000);
}
}
}
[/jscript]

calendarscreen

К сожалению, в отличии от PHP в JavaScript нет функции для перемешивания элементов в массиве. Если вы будете звонить вашей тете 13 числа каждого месяца в течениe года, то к декабрю она будет с большим подозрением относиться к вашим звонкам. С другой стороны, капелька тайны и загадки украшает жизнь.

Досуг

В журнале «Космополитен» однажды был напечатан следующий совет: «Если тебе сегодня надо сделать маникюр и срочную работу, то начинать нужно с маникюра. Так как работу в любом случае доделаешь, а вот на покраску ногтей силы воли может не хватить». С полезностью этой рекомедации можно поспорить, но досуг и заботу о себе планировать необходимо. Иначе трудоголизм может взять верх над разумом, душей и телом.

Напишем небольшой скрипт для планирования выходных на год вперед. Первое воскресенье футбол, второе воскресенье пивной бар, третье воскресенье рыбалка, четвертое воскресение чтение книги «Как познакомиться с мужчиной, если уже ничего не помогает». И так по кругу.

[jscript]
function funCalendar() {
currentCalendar = CalendarApp.createCalendar("Досуг");
date = new Date(‘2016/01/3’);
for (i=1;i<=12;i++)
{
date.setDate(date.getDate() + 7);
currentCalendar.createAllDayEvent("Футбол", date);
date.setDate(date.getDate() + 7);
currentCalendar.createAllDayEvent("Бар", date);
date.setDate(date.getDate() + 7);
currentCalendar.createAllDayEvent("Рыбалка", date);
date.setDate(date.getDate() + 7);
currentCalendar.createAllDayEvent("Чтение книги ‘Как познакомиться с мужчиной’", date);
Utilities.sleep(1000);

}
}
[/jscript]

С помощью описанных выше методов можно занести в календарь закупку продуктов, стрижку, тренировки в зале, оплату страховки, кредитов и коммунальных услуг.

 

Прокомментировать

🙈 Комментарии 9

  1. Майор avatar
    Майор8 декабря 2015
    0

    Скрипты это то, что делает календарь многофункциональным. ИОС не скоро таким похвастается.

    Ирина Чернова avatar
    Ирина Чернова8 декабря 2015
    1

    @Майор, для iOS есть Pythonista) С календарем не пробовала, но почту она точно автоматизирует и календарь вроде тоже) во-вторых, для iOS есть Workflow в котором можно автоматизировать работу с календарем) Если успею, напишу здесь несколько статей про автоматизацию iOS.

    Ирина Чернова avatar
    Ирина Чернова8 декабря 2015
    1

    @Майор, а вот на OS X можно автоматизировать календарь встроенными средствами Apple Script и JXA. И он будет синхронизироваться с iOS)))

    Майор avatar
    Майор9 декабря 2015
    0

    @Ирина Чернова, Откуда столько познаний? :) Вы architect?

    Ирина Чернова avatar
    Ирина Чернова9 декабря 2015
    0

    @Майор, к чему такой сарказм….

    Майор avatar
    Майор9 декабря 2015
    0

    @Ирина Чернова, Ирина, а Вы замужем?

    Ирина Чернова avatar
    Ирина Чернова9 декабря 2015
    0

    @Майор, нет, конечно)

  2. qedro avatar
    qedro9 декабря 2015
    0

    Чем отличается описанное в статье от обычного “занести в календарь напоминание и повторять раз в месяц”?

    Ирина Чернова avatar
    Ирина Чернова9 декабря 2015
    0

    @qedro, Во-первых, все примеры придуманы для того, чтобы показать как работает Google Apps Script для календаря.
    Во-вторых, каждый фрагмент кода предназначен для того, чтобы читатель взял и переделал его под свои нужды.

    Преимущество первого примера перед стандартными настройками в том, что события каждый месяц РАЗНЫЕ.
    Да, можно просто каждый месяц повторять событие “посетить врача”. Но тогда где-то еще придется держать список этих врачей.

    По остальным примерам таких вопросов нет?)

Вы должны авторизоваться или зарегистрироваться для комментирования.

Нашли орфографическую ошибку в новости?

Выделите ее мышью и нажмите Ctrl+Enter.

Как установить аватар в комментариях?

Ответ вот здесь