Найти тему

Google Calendar — ускоряем календарь из Exchange

Не так давно я писал статью о том, как добавить календарь Exchange в календарь Google.

Google Calendar — добавляем календарь из Exchange

Если вкратце, то там задача разбивается на два этапа:

  1. Открыть общий доступ к календарю Outlook в формате iCalendar (ICS).
  2. Добавить календарь в формате iCalendar (ICS) в Google.

И всё работает, но есть одно большое НО. События обновляются раз в сутки, поэтому использовать такой календарь для "горячих" встреч не получится. Можно что-нибудь пропустить. Новое событие в календаре Exchange может появиться только через 24 часа.

Это печально, и даже понятно. Google переманивает корпоративных пользователей в Google Workspace, где календарь синхронизируется чаще. Но удовольствие платное.

Как сделать так, чтобы было бесплатно и быстро? - спросите вы меня. Легко! - отвечу я. Будем программировать в Google Apps Script. Ну как, программировать. Всё уже запрограммировано за нас, воспользуемся GAS-ICS-Sync:

https://github.com/derekantrican/GAS-ICS-Sync

GAS-ICS-Sync можно расшифровать так: Google Applications Script for Internet Calendaring and Scheduling Syncronisation. Что в переводе на кириллический означает: Не Дам Денег Гуглу За Синхронизацию Календаря или попросту НеДаДеГуЗаСиК.

Из этого чудо-проекта мы скачиваем 5 файлов:

  • Code.gs
  • Helpers.gs
  • ical.js.gs
  • tzid.gs
  • appsscript.json

Переходим к скриптам Google:

https://script.google.com/

Можно также в Google Диске Создать → Ещё → Google Apps Script.

-2

Указываем название проекта, например, GAS-ICS-Sync.

Добавляем файлы в новый проект. Файлы Code.gs, Helpers.gs, ical.js.gs, tzid.gs добавляем через + Скрипт в редакторе. После чего указываем название файла и копируем соответствующее содержимое в поле справа для каждого файла.

-3

Переходим в настройки проекта и включаем галку "Показывать файл манифеста appsscript.json в редакторе".

-4

Возвращаемся в редактор, там добавился файл appsscript.json, вставляем в него содержимое из скачанного файла.

Добавляем сервисы через Сервисы +.

-5

Добавляем Google Calendar API. Идентификатор не меняем!

-6

Добавляем Tasks API. Идентификатор не меняем!

-7

Переходим в редакторе на файл Code.gs, редактируем раздел настроек.

Указываем здесь ссылки на свои календари и их названия. Указываем настройки синхронизации, у меня настроено на один раз в 10 минут.

Выбираем install и нажимаем Выполнить.

-8

Попросят авторизоваться. Инструкцию по шагам авторизации можно посмотреть здесь:

https://youtu.be/_5k10maGtek?t=1m22s

Теперь каждые 10 минут будет запускаться скрипт синхронизации календарей. Если нужно только один раз синхронизировать календари, то вместо install можно выполнить startSync. Uninstal, соответственно, остановит синхронизацию и удалит импортированные календари.

-9

Новые календари появятся в разделе "Мои календари". У меня скрипт уже работает год без нареканий.

Ссылки

https://github.com/derekantrican/GAS-ICS-Sync/wiki/Setting-up-the-script-manually

https://github.com/derekantrican/GAS-ICS-Sync

Источник:
https://internet-lab.ru/google_calendar_exchange_fast

💰 Поддержать проект

Если вам понравилась статья, то ставьте 👍🏻 каналу.
Пишите комментарии, задавайте вопросы, подписывайтесь.