Skip to content

LevBaranov/CalsSyncAssistant

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Синхронизация календаря

Небольшой скрипт, который помогает синхронизировать календарь Exchange (он же Outlook) c Google. Скрипт достаточно специфичный и решает мой кейс.

Описание Use Case

  1. Я хочу, чтобы события календаря Outlook появились в моём Google календаре. При чём те, которые я принял, появились не просто в моём календаре, а втором моём Google календаре. Второй Google календарь специальный общий календарь, в котором важные для меня события, требующие обязательного моего присутствия.
  2. Я хочу, чтобы события из второго моего Google календаря были добавлены в Outlook календарь. Но события где я поставил статус Свободен в календарь, добавлять в Outlook не надо.

Использование

Получить токен в google

  1. Необходимо настроить OAuth и получить access_token.json. Инструкция - https://ai.google.dev/gemini-api/docs/oauth
  2. Создать ./creads и положить туда файл access_token.json.

Заполнить переменные окружения

Необходимо заполнить .env файла. Для получения идентификатора второго Google календаря нужно выполнить скрипт get_calendars.py. Он вернёт список всех календарей на аккаунте.

Запуск

Для синхронизации просто запустить main.py

Постановка на расписание (опционально)

Для того чтобы руками каждый раз не запускать синхронизацию можно сформировать небольшой bash скрипт и запускать его в кроне. Пример скрипта:

#!/bin/bash
source /{{Путь до проекта}}/.venv/bin/activate
cd /{{Путь до проекта}}
export $(grep -v '^#' .env | xargs)
/{{Путь до проекта}}/.venv/bin/python main.py >> /{{Путь до проекта}}/success.log 2>> /{{Путь до проекта}}/error.log
deactivate

Примечание

В календаре Outlook синхронизированные события будут иметь тип Частное событие(sensitivity == "Private"). Таким образом я отделю события, которые точно в календарь Google отправлять не надо.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages