Взаимодействие с YouTube API

В общем, когда писал свою скачивалку, гуглил по теме, но ничего не нашёл. Пришлось ковыряться в исходниках youtube-dl, но там тоже было не всё, что нужно.
Проблема в том, что для использования официального API ютуба нужны ключи. А бесплатные ключи слишком лимитированы по количеству использований.
Но недавно до меня дошло, что браузеры общаются с ютубом посредством недокумментированного API (видимо и ключ там нелимитированный :thinking: ). Можно посмотреть, какие запросы шлёт браузер и повторить их.
Я нигде не мог нагуглить этот способ, по-этому решил написать программу, которая показывает как использовать такое API. Проще говоря - написать некое подобие обёртки.

В данный момент, программа умеет получать список видео по заданному ID канала. ID канала надо искать и вводить вручную (это не так сложно). Но речь идёт о демонстрации работы с API, а не об удобстве.
А так же, программа может получать (и сохранять в файл) следующую информацию:

  • ID и название видео
  • ID и название канала, которому принадлежит видео
  • Продолжительность видео в секундах
  • Количество просмотров
  • Категория видео
  • Дата залива и дата публикации
  • Является ли видео приватным
  • Является ли видео скрытым (доступ по ссылке)
  • Является ли видео 18+
  • Является ли видео прямой трансляцией
  • Ссылки на preview-картинку в разных форматах
  • Ссылки для скачивания (не для всех видео :grin: )