Дополнительные функции для МЭШ:
1. Экспорт расписания уроков (-7/+14 дней) в отдельный файл (для каждого ребенка) в формате iCal в хранилище Яндекс.Облака.
- Добавление эмодзи к названиям предметов;
- Добавление домашнего задания в описание урока.
Любая уважающая себя программа-календарь умеет подключать "внешние календари" в iCal-формате (и автоматически их обновлять), таким образом вы можете иметь расписание уроков в любой используемой программе-календаре.
2. Напоминание о заказанном питании будет приходить вечером предыдущего дня примерно в 20ч.
- Постоянно включенный компьютер (или VPS), где будет запущена программа;
- Доступ в МЭШ как родитель, с доступом к детям;
- Аккаунт в Яндекс.Облаке для хранения файлов;
- Установите .NET 8 SDK;
- Клонируйте данный репозиторий;
- Впишите настройки в
appsettings.json
:- Создайте бакет в Object Storage Яндекса, включите ему публичный доступ к файлам, имя бакета впишите в
BucketName
в группеStorageOptions
; - Создайте Сервисный аккаунт в Яндексе, дайте ему роль
storage.uploader
на ранее созданный бакет, создайте ему Статический ключ доступа, впишите Идентификатор ключа и Секретный ключ вKeyId
иKeySecret
соответственно, тоже в группеStorageOptions
; - Авторизуйтесь в МЭШ от имени родителя, откройте Developer Console браузера, перейдите на вкладку Application/Storage (зависит от браузера) и найдите в Cookie с именем aupd_token (это JWT со сроком годности несколько дней). Скопируйте её значение в параметр
MeshToken
.
- Создайте бакет в Object Storage Яндекса, включите ему публичный доступ к файлам, имя бакета впишите в
Запустите приложение командой dotnet run
(из командной строки).
В течение 10 секунд (в первый раз возможно потребуется 30-40 секунд) вы должны увидеть сообщения об успешно сохранённых файлах, и эти же файлы появятся в бакете в консоли Яндекс.Облака.
Получите публичную ссылку на файл(ы) там же в консоли Яндекс.Облака, и используйте для подключения внешнего/подписного календаря в вашей основной программе-календаре.
Приложение оставьте запущенным: оно находится в режиме ожидания, будет просыпаться каждые 4 часа, продлевать токен доступа и обновлять файлы.