Сегодня вся жизнь крутится вокруг событий в гугл-календаре. График работы, напоминания о грядущих работах, о днях рождении, об окончании лицензии на антивирус и много ещё чего.
Намедни захотелось добавить напоминание о работах на линии Россетей, ибо зачастую, узнаю о них уже когда пищат бесперебойники. Инфу нашёл в статье от Karen Collective.
Начинать следует с создания своего проекта в Googe Developer Console
1. Включим Google Calendar API
Переходим на Google Calendar API, создаём новый проект или выбираем существующий
На следующей странице ничего не добавляем, жмём на Выберете проект и выбираем наш новый проект.
Затем переходим в меню Окно запроса доступа OAuth, выбираем Внешний и нажимаем Создать
Заполняем Название приложения, логотип (по необходимости) и жмём Сохранить
Выбираем Другие типы и жмём Создать
В следующем окне жмём ОК
2. Переходим в консоль
Установим необходимые библиотеки Python
sudo pip install --upgrade google-api-python-client google-auth-httplib2 google-auth-oauthlib
Скачиваем все скрипты *.py с репозитория Karenappcd domoticz/scripts/python
git clone https://github.com/karenapp/google-calendar-python-api.git
cd google-calendar-python-api/
Скопируем файл client*.json скачанный раннее в эту директорию под именем credentials.json
Отредактируем файл cal_setup.py. Заменим часовой пояс Asia/Kolkata на Europe/Moscow и вставим свой calendar_id. Можно оставить primary, чтобы создавать в основном календаре, а можно и в специальном. Узнать id, можно выбрав нужный календарь тут. К примеру КЕР.
Далее необходимо единожды запустить файл create_event.py для получение разрешений приложения "Уведомления о работах на линии Россети" НЕ В УДАЛЕННОЙ КОНСОЛИ. Иначе получим что-то вроде
Please visit this URL to authorize this application: https://accounts.google.com/o/oauth2/auth?response_type=code&client_id=90004701090-1i3m53dsqq1us63egmj0cb210mnofo0r.apps.googleusercontent.com&redirect_uri=.............&access_type=offline
И когда одобрим все права перейдя по ссылке, получим ошибку 404. Поэтому если вы на Windows - качаете Python, если делаете это локально на Ubuntu - запускаете смело скрипт
И даём разрешение на внесение изменений приложению "Уведомления о работах на линии Россети" в основной календарь google-аккаунтаВ конце получаем сообщение в браузере
The authentication flow has completed. You may close this window.
Скопируем созданный файл token.pickle из директории со скриптом на машину, откуда будет выполняться скриптПереходим в календарь и проверяем событие
Комментариев нет :
Отправить комментарий