Добавление календаря в Google Календарь
Полная версия сайта Гугл Календаря предоставляет массу возможностей, позволяющих тщательно планировать дату и время проведения каких-либо мероприятий. Кроме того, здесь также присутствуют инструменты для создания новых календарей, поделить которые можно на три способа.
Способ 1: Создание календаря
- Наиболее доступный метод добавления нового календаря на сайте рассматриваемого сервиса заключается в создании. Для этого откройте Google Календарь, с левой стороны кликните по значку «+» в блоке «Другие календари» и выберите «Создать календарь».
- Аналогичное можно сделать, если открыть «Настройки» через меню с иконкой шестеренки на верхней панели.
Здесь в блоке «Добавить календарь» нужно воспользоваться опцией «Создать календарь». 
- Оказавшись на странице добавления нового варианта, заполните представленные поля и выполните подтверждение с помощью кнопки «Создать календарь».
В случае успеха в нижней части окна появится соответствующее уведомление.
Чтобы произвести настройку, достаточно будет выбрать добавленный календарь в левом меню на главной странице сервиса. 
Способ 2: Добавление по URL
- Еще один метод сводится к использованию прямой ссылки на существующий календарь, полученной вами от кого-либо. Чтобы произвести создание, первым делом откройте «Настройки» и в подразделе «Добавить календарь» выберите пункт «Добавить по URL».

- Заполните представленное текстовое поле в соответствии с имеющимся у вас адресом и кликните «Добавить календарь».
После этого произойдет создание, и новая запись появится среди прочих на главной странице. Однако учтите, что URL-адрес должен быть в формате iCal.
Способ 3: Оформление подписки
- При переходе на вкладку «Подписаться на календарь» можно произвести добавление, просто указав адрес электронной почты пользователя, календарь которого хотите добавить.

- Для получения доступа нужно обязательно «Запросить разрешение» и получить одобрение со стороны владельца.

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

Сайт данного сервиса имеет хоть и весьма нагруженный, но все же достаточно понятный интерфейс, позволяющий произвести добавление и последующую настройку календаря в максимально короткие сроки.
Вариант 2: Мобильное приложение
На мобильных устройствах в качестве альтернативы веб-сервису можно использовать приложение Google Календарь, предоставляющее похожие, но весьма ограниченные возможности. В частности, здесь нельзя создавать или импортировать внешние календари, однако при этом можно выполнить добавление, попросту подключив еще одну учетную запись Гугл в настройках смартфона и выполнив синхронизацию. По сути, само приложение здесь даже не требуется, так как данные появятся сами по себе.
Топ-5 лучших календарей для Android

Как показывает практика, большинство использует стандартный календарь, который идёт в комплекте с оболочкой производителя смартфона. Некоторых он устраивает на 100%, но большинство из них просто не пробовали альтернативные решения. В дайджест попал фирменный календарь Google, комбинированное решение со встроенной почтой от Microsoft, пара многофункциональных комбайнов для продвинутых пользователей и один простой вариант для поклонников минимализма.
Подписывайтесь на наш Телеграм
Android 5.0 и выше

На фоне конкурентов календарь Google отличается именно лентой «Расписания». Она показывает полный список дел на ближайшее время и делает это максимально удобно, красиво и наглядно. Только из-за этого его ставят не только на Android, но и на iOS. Дела, события и встречи с ключевыми словами приложение автоматически выделяет тематической картинкой. Например, если в контексте есть упоминание «стрижки» или «маникюра», будет выбрана подложка салона красота, а для «свадьбы» — кольца.
Записи в программе разделены специальными блоками, которые символизируют начало месяца. Каждый из них уникален и подчёркивает то, чем можно заняться в это время. Например, в августе лучше всего быть на берегу моря. В приложении также есть разделение дел по одному или трём дням, неделе и месяцу. Есть поиск, а также традиционный выбор календарей, которые должны отображаться в ленте — здесь получится найти локальный и все из аккаунта Google.
Отдельного внимания также заслуживают «Цели»: «Заняться спортом», «Научиться чему-то новому», «Уделить время близким» и так далее. Достаточно выбрать одну из них, и приложение тут же найдёт для них время в вашем плотном графике.
Android 9.0 и выше

Многие ошибочно полагают, что приложение Outlook — это обычный почтовый клиент, у которого нет каких-то интересных возможностей. На самом деле, в него встроен полноценный календарь с достойным набором возможностей. Раньше Outlook действительно можно было не брать в расчёт. Тем не менее, все сильно изменилось, когда Microsoft выкупила приложение Sunrise вместе с разработчиками и использовала весь их опыт для прокачки своего фирменного делового приложения.
Теперь это универсальное решение с электронной почтой и календарём. Что интересно, это чуть ли не единственный достойный вариант, который можно одновременно использовать не только на Android, но и на Windows, macOS и iOS. Дела в календаре можно показать как «Повестку дня», разбить их по «Дням», «Неделям» и «Месяцам». Есть достаточно продвинутый поиск, который ищет сразу же и по электронной почте, и по записям во встречах и задачах.
Конечно же, Microsoft не стала забывать и про свои фирменные сервисы. Именно поэтому во время создания нового дела вы можете указать звонок через Skype, который обязательно должны будете совершить в недалёком будущем.
Android 4.0.3 и выше

Удобный многофункциональный календарь, который наглядно показывает, какие дни в этом месяце у вас загружены, а какие нет. Для этого он отображает на главном экране ближайшие 30 дней, с круговыми пометками по часам. Этот календарь предназначен для быстрого и серьёзного планирования дел и встреч. Одного взгляда на визуализацию месяца будет достаточно, чтобы определить свою занятость и назначить новое мероприятие.
Что интересно, для навигации по месяцам с помощью этого календаря можно использовать кнопки громкости. С помощью увеличения у вас получится вернуться на один назад, а уменьшение забросит вас вперёд. Программа отличается огромным числом вариантов отображения дел, которые переключаются смахиваниями влево и вправо. Кроме месячного обзора здесь есть наглядный вариант списка задач на один день и неделю.
Одна из главных фишек календаря — тесная интеграция со сторонними сервисами. Он легко может показывать дела из Trello с пометками времени, к нему получится привязать Evernote, Eventbrite и Meetup.
Android 7.0 и выше

При создании этого приложения разработчики явно вдохновлялись «Google Календарём». На это недвусмысленно напоминает отображение дел с помощью меню «Повестка дня» с разбиением месяцев тематическими картинками. Но на схожести в визуальном оформлении параллели между программами фактически заканчиваются. Это куда более функциональное решение для более наглядного планирования с огромным числом вариантов сортировки дел.
Отдельного внимания заслуживает отображение всего года с тепловой картой, которая поможет выделить более занятые и свободные промежутки. Правда, открыть эту возможность получится только с помощью встроенных покупок. Программа также сортирует дела по дню, неделе и месяцу. С помощью бокового меню вы сможете быстро переключаться между календарями, которые используются по умолчанию. Для этого достаточно выделить необходимый звёздочкой.
В комплекте с DigiCal идёт удобный набор виджетов для рабочего стола. Вы можете выбрать сетку клеток, которые они займут на домашнем экране, информацию, которая будет отображаться, а также тему оформления.
Android 4.0 и выше

Простой и удобный минималистичный календарь, который многим понравится именно своей лаконичностью. Здесь нет лишних возможностей и набора разноцветных рисунков, но со своими обязанностями он справляется на все 100%. В нижней части интерфейса программы расположился удобный переключатель дней, недель или месяцев, который даст возможность моментально перейти к нужному промежутку времени и оценить свою загруженность.
Просматривать свои дела можно в виде повестки дня с общим перечнем, а также по дням, неделям и месяцам. Есть интересный вариант с одновременным отображением двух недель на экране, чтобы оценить дела на эту и следующую. В настройках приложения есть выбор стандартного вида отображения, который будет показан после перезапуска программы. Там же его можно переключить в тёмную тему, если вам импонирует такое оформление.
У приложения Tiny Calendar также есть вариант для iOS с немного изменённой логикой интерфейса. Тем не менее, и там он отличается предельной простотой использования, благодаря которой и попал в этот дайджест.
Подводя итоги
Мы протестировали пару десятков приложений и выбрали всего пять лучших бесплатных календарей для Android. Они очень отличаются не только по внешнему виду, но и по функциональному наполнению, поэтому выбрать сможет каждый. Своими же находками вы всегда можете поделиться в комментариях.
Как синхронизировать календари Yandex и Google?
У меня личный календарь в Google, корпоративный в Yandex.
Подскажите как их синхронизировать, желательно, чтобы в итоге я все события видел в Google календаре.
Я пробовал экспорт ical или caldav из Yandex и импорт в Google, но
1. Добавляются только созданные мной встречи, я не вижу встречи на которые меня пригласили, даже если я их подтвердил. А это очень важно для меня.
2. Было бы круто иметь возможность и наоборот, создавать в Google встречи, которые бы в яндексе блокировали возможность занять тот же тайм-слот.
Есть ли какие-то решения?
- Вопрос задан 25 апр.
- 1223 просмотра
2 комментария
Средний 2 комментария
Как настроить удобную синхронизацию между Notion и календарем через ICS на JS без сервера
Уже почти 2 года я активно использую Notion в своей жизни. Я регулярно пополняю его своими личными автоматизациями, которые облегчают жизнь мне и моей команде. Иногда я публикую в своем блоге разные кейсы, которые удается оформить в виде библиотеки или примера кода. Данный пост также доступен в формате видео на моем канале.

Сегодня я решил поделиться тем, как я интегрировал календарь из Notion в Google Calendar через ics. Таким способом события из календаря Notion можно добавить в любой календарь, поддерживающий ics формат (то есть, практически, любой)
Немного предыстории
Обычно необходимость и суть любой интеграции и/или автоматизации проще понять, если понять зачем именно она была создана. Если хотите перейти, без предысторий, сразу к технике, листайте вниз до заголовка «Реализация».
Сейчас процесс общения с новыми запросами ко мне или моей компании происходит через моего Telegram бота или помощника. Но так оно работает только последний год…
Как оно работало раньше
Запрос может быть любой — могут начать предлагать какие-то “прорывные маркетинговые” услуги моей компании, обратиться ко мне за платными консультациями, предложить выступить на какой-нибудь конференции и тд.
Я старался вносить все в свой гугл-календарь. Ключевое слово — старался. Иногда меня даже хватало на целую неделю стабильных побед над моей ленью в этом вопросе. Поражение в этой схватке заканчивались накладками в созвонах и потерей репутации.
Мне достаточно быстро надоело обрабатывать подобное самому. В итоге начал приводить это в порядок. Среди наших клиентов есть серьезные люди, у которых есть помощники и все они, как один, ведут их календарь со всеми встречами и созвонами. Решил не придумывать велосипед и сделать тоже самое.
Причем я сразу решил идти не по пути предоставления доступа к гугл-календарю. Я хотел, чтобы я мог подвязывать свои задачи и заметки из моего Notion. Поэтому созвоны я решил хранить там же. Я создал базу в Notion с представлением (view) “календарь” и дал к нему доступ на внесение изменений.

В момент, когда приходит понимание, что необходимо устроить созвон создается (мной, ботом или помощником) сущность в Notion. Как велась моя база созвонов в мае 2022:
- Указывается дата и время созвона;
- В название, обычно, пишется имя фамилия человека и компании для идентификации в будущем;
- В поле Info добавляется информация, необходимая для отображения внутри уведомления в Telegram боте. Обычно тут краткое описание о чем планируется разговор;
- В тело уже размещается информация любого рода. Обычно помощник, после созвона, пишет расшифровки, договоренности и детали, которые могут быть полезны в будущем.
Желаемый функционал
Меня все устраивало кроме того, что для просмотра всех созвонов было необходимо идти в notion и смотреть что у меня по планам на следующий день. Приложение Notion на Android работает крайне медленно и я решил сделать так, чтобы все созвоны появлялись внутри моего гугл календаря, который я вел и веду по своим личным делам.
То есть хотелось, чтобы я/бот/помощник вносил информацию только в Notion и чтобы только Notion был единым источником информации для всех. Что еще более важно — люди достаточно переменчивы и, иногда, звонки переносятся еще до начала. Важно, чтобы можно было подвинуть карточку в Notion и все встало на свои места.
Реализация
Первое что мне пришло в голову для реализации функционала — отправлять события через Google Calendar Api. Я даже успел прочитать их Api Reference и примерно накидать идею как создавать события и отслеживать их синхронизацию. Следующим этапом были разборки с источником данных — я принялся смотреть что умеет Notion Api и был расстроен.
Сложности на стороне Notion
Работа с Notion происходит только через request-response подход. То есть нам, для получения информации и обновлений, нужно каждый раз забирать к себе всю информацию и уже, на своей стороне, понимать что поменялось, а что нет и реагировать на изменения.
Процесс актуализации пришлось бы делать следующим образом:
- Нужно проходить по всем элементам базы созвонов и искать изменения;
- Если добавили поле, то надо будет делать на N раз больше проверок (N – количество созвонов в базе);
- Со временем база созвонов растет (1-2 созвона в день) = время обработки тоже ;
- Достаточно тяжело поддерживать стабильную работу.
К великому сожалению, на момент написания поста, Notion совсем совсем не умеет в webhook. В идеале было бы подписаться на какие-то обновления и чтобы Notion оповещал наш сервер о каждом изменении на своей стороне.
Webhook — достаточно распостраненная практика в мире CRM и прочих сервисов, но Notion пока ее не освоил (на момент написания данного поста). Надеюсь, что скоро такой функционал порадует разработчиков. Ну а пока пришлось решить задачу чуть более лакончино
Найденное решение. Генерация ics на nodejs
В общем я посмотрел на этот предстоящий челлендж с API и оставил эту идею до лучших времен, которые наступили через пару месяцев. Я понял, что я могу экспортировать все элементы из Notion в ics, отдавать это через express и сразу же импортировать в Google Calendar как сторонний календарь.
Прежде всего необходимо получить notion token. Долго на этом останавливаться не буду т.к. описывал это в своем блоге. После получения токена нужно создать базу данных с Calendar View — можно взять мой шаблон. После создания базы фиксируем database_id из ссылки. Им заканчивается ссылка перед началом query_string (перед знаком вопроса).

Получение данных из Notion
Дальше приходим непосредственно к реализации. Внутри кода используются переменные notionToken и calendarDb — это как раз токен и id базы данных соответственно.
const notion = new Client(< auth: notionToken, >); const Events = await notion.databases.query(< database_id: calendarDb, >);
Из notion приходит объект, содержащий все элементы из этой базы данных. Нам для заполнения гугл-календаря нужны следующие поля:
- Event.properties[‘Name’][‘title’][0]?.[‘text’][‘content’] — название события
- Event.properties[‘Info’][‘rich_text’][0]?.[‘text’][‘content’] — краткое описание события
- Event.properties[‘Date’] — собственно дата события.
С полем даты события есть некоторые особенности:
- Есть поля start и end.
- Если не задать end то в нем будет null
- Если поставить, в интерфейсе Notion, флажок “Include time” то формат даты изменится, но будет писаться в то же поле — надо смотреть на длину этого поля и тогда можно понять включено ли время.
- Если у нас включено время, то end также может быть пустым и, следовательно, надо ко времени начала добавлять час если не указано время окончания.
Все эти кейсы ничего сложного из себя не представляют, но они познаются “в беде”. То есть сначала настроил систему только для работы с днями, запустил и оставил. Проходит время и случайно в одном месте ставишь дату со временем и все — система сломалась. Я все эти кейсы обработал. Получилось достаточно костыльно, но задачу поставленную решает.
Формирование ICS
После получения массива объектов из Notion их необходимо привести к формату, который можно конвертировать в ics. Само формирование ics строки реализовано в одноименном npm пакете.
Получить ics из массива событий можно следующим образом:
const icsEvent = ics.createEvents(Events) if (icsEvent.error) < console.error(icsEvent.error) return >icsEvent.value // конечная ics строка
Массив Events представляет собой массив из следующих элементов:
const Events = [ < title: "Title", description: "Короткое описание из info", start: [2022,10,10,12,00], end: [2022,10,10,13,00], url: "ссылка на элемент в notion" >];
Дальше уже дело техники: передать эту строчку в express (или любой другой http) сервер и передать ссылку в Google Calendar


После чего Google Calendar сам зайдет по ссылке, выкачает все события и добавит их в мой календарь. Все работает более чем стабильно и события появляются в календаре не более чем через 10 минут после добавления в Notion.
Если я, вдруг, чего-то поменяю в одном событии, то, при следующей закачке, вся информация актуализируется и в календаре.
Чтобы не держать сервер под такую мелочь я разместил этот простой скрипт на pipedream. Можете брать к себе, в env переменных указывать свои токен и id базы данных и добавлять в календарь ссылку.
Также сделал небольшой npm пакет, где все «костылизации» с датами спрятал в одном методе createIcsString , который на вход принимает токен и id базы данных (примеры оформил отдельно).
- JavaScript
- Управление проектами
- Управление продуктом
- Лайфхаки для гиков
