Бюджет: 27000 UAH Срок: 17 дней
Здравствуйте!
Обновление данных каждые 1–60 минут для 30–50 каналов легко вписывается в дневную квоту 10 000 юнитов по умолчанию, особенно если бездумно вызывать videos.list/search.list с деталями, поэтому выходом может стать создание отдельного квотного планировщика, который выбирает методы с минимальной стоимостью (например, комбинировать videos.list с предварительным кэшем ID, не использовать search без необходимости);
По агрегации запросов, нужно тянуть статистику пакетами по несколько видео и каналов, а не одно видео - один запрос + fallback-режим, когда при приближении к лимиту частота обновлений автоматически уменьшается и логируются пропущенные слоты.
Для 30–50 каналов будет 30–50 отдельных refresh-токенов; YouTube/Google могут их отозвать при смене пароля, подозрительной активности или превышении лимитов, поэтому нужен централизованный менеджер токенов. Из необходимого: зашифрованное хранение refresh-токенов (KMS/ключ в secret manager, AES-шифрование на уровне БД),
механизм автоматической re-auth: если refresh-токен перестал работать, система ставит аккаунт в статус "нужна повторная авторизация" и показывает баннер в UI. И, конечно, нужно сделать тонкое разграничение app vs user quota и использовать server-side OAuth с офлайн доступом, как рекомендует Google.
С уважением
Георгий
Старший инженер-программист