Skip to content

Latest commit

 

History

History
41 lines (31 loc) · 4.51 KB

README.md

File metadata and controls

41 lines (31 loc) · 4.51 KB

transfer-yt-subs

Transferring YouTube subscriptions tool between accounts

Инструмент переноса подписок на YouTube-каналы между Google-аккаунтами.

Требования

  1. python3
  2. Установленные зависимости: pip3 install -r req.txt
  3. Настроенный YouTube API
  4. Файл с клиентскими кредами client_secret.json

Настройка YouTube API

  1. Логинимся в console.cloud.google.com, создаем проект через Select a project в левом верхнем углу (пик. 1). Задаем любое имя проекта, организацию можно не трогать. Выбираем проект после его создания через ту же кнопку Select a project
  2. Нажимаем на APIs & Services с главного экрана. Переходим на вкладку Library, в поиске вводим youtube data api v3. Переходим на найденное API и жмем Enable. Нас перекинет на страницу управления этого API. Выбираем Create Credentials в правом верхнем углу
    1. Credential Type: отмечаем User Data, прожимаем Next
    2. OAuth Consent Screen: Указываем любое имя приложения, свою почту в поле поддержки и разработчика
    3. Scopes: Жмем кнопку Add or remove scopes и отмечаем скоуп .../auth/youtube
    4. OAuth Client ID: Выбираем Web Application из выпадающего списка, даем имя нашему клиенту, в Authorized redirect URIs указываем http://localhost:8080/ и http://localhost:8081/. По этим адресам у нас локально будут запускаться окна авторизации в Google-аккаунты для экспорта подписок и импорта
    5. Your Credentials: На последнем шаге обязательно скачиваем наши креды через Download, складываем скачанный файл в директорию со скриптом и переименовываем его в client_secret.json, прожимаем Done на странице Google Cloud
  3. Переходим на вкладку OAuth consent screen, пролистываем до Test Users и нажимаем Add Users, добавляем туда почты аккаунтов между которыми будут переноситься подписки, сохраняем

Процесс переноса подписок

Если у вас ~200 подписок и более - скрипт упадет с ошибкой 403 по причине превышения квоты 10000 запросов в день (1 запрос с подпиской стоит 50 единиц квоты)

Можно запустить этот скрипт повторно когда квоты обновятся или абузить приложоения API с разных Google-аккаунтов. Квоты можно посмотреть на вкладке Enabled API & Services/Quotas & System Limits

Я переносил 192 подписки и моя квота достигла 9621

  1. Запускаем скрипт, открывается окно авторизации в Google-аккаунт
  2. Выбираем аккаунт, с которого будем переносить подписки
  3. Гугл оповещает нас о том, что приложение не проверено - жмем Продолжить, затем предоставляем права нашему приложению к аккаунту Google нажав еще раз Продолжить
  4. Сейчас произошла выгрузка всех имеющихся подписок. Теперь необходимо войти в аккаунт куда будем импортировать подписки
  5. Повторяем шаг 3
  6. При успешном завершении скрипт напишет сколько подписок он оформил - идем проверять, что все подписки перенеслись

Лицензия

Licensed under the GNU General Public License v3.0 License.