Skip to content

LevBaranov/CalsSyncAssistant

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 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