Используя язык Perl и фреймворк AnyEvent
реализовать двустороннюю синхронизацию двух документов Google Sheets.
Входные пераметры для программы:
- Service Account Credentials (https://developers.google.com/identity/protocols/OAuth2ServiceAccount)
- Два идентификатора документов Google Sheets
После запуска программа должна наблюдать за изменениями в обоих документах и копировать изменения одного в другой. Необходимо:
- Принимать параметры, идентифицирующие service account : email и private_key.
- Проходить сервер-сайдную OAuth авторизацию с использованием сервис-аккаунта.
- Выполнять запросы к Google Sheets API v4, отслеживая изменения.
- Обновлять документы при изменении.
Необходимо разработать модуль (или несколько) и скрипт, его подключающий и выполняющий работу.
Оцениваться будут:
- Организация и структурирование кода, стилистика кода
- Проработанность асинхронного интерфейса модуля
- Обработка ошибок при взаимодействии с внешними системами
- Алгоритм синхронизации
Черезмерное использование ООП не приветствуется