Настройка OAuth

Настройка OAuth

Пошаговая инструкция по созданию Google OAuth-клиента для YouTube Device Flow.

1. Создание проекта

Откройте Google Cloud Console

Перейдите на console.cloud.google.com.

Создайте проект

Нажмите Select a projectNew Project.

ПолеЗначение
Project nameLampac YouTube (или любое)
OrganizationПо умолчанию или No organization

Дождитесь создания

Убедитесь, что новый проект выбран в верхней панели.

2. Включение YouTube Data API v3

Откройте библиотеку API

В боковом меню: APIs & ServicesLibrary.

Найдите YouTube Data API v3

В строке поиска введите YouTube Data API v3.

Включите API

Кликните на карточку → нажмите Enable.

3. OAuth Consent Screen

Откройте настройки

APIs & ServicesOAuth consent screen.

Выберите тип

Выберите ExternalCreate.

Заполните обязательные поля

ПолеЗначение
App nameLampac (или любое)
User support emailВаш email
Developer contact emailВаш email

Нажмите Save and Continue.

Добавьте Scopes

Нажмите Add or Remove Scopes, в поиске введите youtube и отметьте:

https://www.googleapis.com/auth/youtube.readonly

Нажмите UpdateSave and Continue.

Добавьте тестовых пользователей

Нажмите Add Users → введите email Google-аккаунтов, которые будут использовать функцию → AddSave and Continue.

Пока приложение в статусе Testing, авторизоваться смогут только добавленные тестовые пользователи (до 100). Для личного сервера этого достаточно. Для снятия ограничения нужна верификация Google (Publish App).

4. Создание Client ID

Откройте Credentials

APIs & ServicesCredentials.

Создайте OAuth Client ID

Нажмите Create CredentialsOAuth client ID.

Выберите тип приложения

ПолеЗначение
Application typeTVs and Limited Input devices
NameLampac Device Flow (или любое)
Тип TVs and Limited Input devices — обязателен. Именно он включает Google Device Flow, который позволяет авторизоваться вводом кода на отдельном устройстве (как Smart TV).

Скопируйте данные

В появившемся окне скопируйте:

  • Client ID — строка вида 123456789-xxxxxxx.apps.googleusercontent.com
  • Client Secret — строка вида GOCSPX-xxxxxxxxxxxxx

5. Конфигурация

Добавьте в config.toml:

[youtube_oauth]
client_id = "123456789-xxxxxxx.apps.googleusercontent.com"
client_secret = "GOCSPX-xxxxxxxxxxxxx"

Добавьте в init.conf:

{
  "YouTubeOAuth": {
    "ClientID": "123456789-xxxxxxx.apps.googleusercontent.com",
    "ClientSecret": "GOCSPX-xxxxxxxxxxxxx"
  }
}

Перезапустите сервер:

systemctl restart alcopac

6. Проверка

После перезапуска в логах должно быть:

youtube oauth: configured

Отправьте /youtube_auth в Telegram-бот — бот должен ответить кодом и ссылкой на google.com/device.