YouTube Live Streaming API поддерживает протокол OAuth 2.0 для авторизации доступа к личным данным пользователей. Ниже приведены основные понятия, связанные с OAuth 2.0.
-
Когда пользователь впервые пытается использовать в приложении функции, для которых требуется войти в аккаунт Google Account or YouTube account, приложение запускает процесс авторизации OAuth 2.0.
-
Приложение перенаправляет пользователя на сервер авторизации Google. Ссылка на эту страницу указывает
scopeдоступа, который ваше приложение запрашивает для аккаунта пользователя. Параметрscopeуказывает ресурсы, которые ваше приложение может получать, вставлять, обновлять или удалять, действуя от имени аутентифицированного пользователя. -
Если пользователь разрешит приложению доступ к этим ресурсам, Google вернет приложению токен. В зависимости от типа приложения оно либо проверяет токен, либо обменивает его на токен другого типа.
Например, веб-приложение на стороне сервера обменивает возвращенный токен на токен доступа и токен обновления. Токен доступа позволяет приложению авторизовать запросы от имени пользователя, а токен обновления – получать новый токен доступа, когда срок действия исходного токена доступа истекает.
Важно! Чтобы использовать авторизацию OAuth 2.0, необходимо получить учетные данные для авторизации в консоли Google Cloud.
Подробную информацию можно найти в руководстве по авторизации OAuth 2.0.
Примечание. Чтобы проводить трансляции на канале, его владелец должен получить разрешение на использование функции YouTube Live. Если вы отправляете запросы API от имени пользователя, чей канал не соответствует требованиям для проведения трансляций, API вернет ошибку insufficientPermissions.
Процессы OAuth 2.0
API Google поддерживают несколько вариантов использования OAuth 2.0:
- Процесс веб-приложений на стороне сервера поддерживает веб-приложения, которые могут безопасно хранить постоянную информацию.
- Схема Веб-приложения JavaScript поддерживает приложения JavaScript, работающие в браузере.
- Схема для мобильных и компьютерных приложений поддерживает приложения, установленные на устройстве, например на телефоне или компьютере.
- Телевизоры и устройства с ограниченными возможностями ввода. Поддерживаются устройства с ограниченными возможностями ввода, например игровые приставки и видеокамеры.
- Процесс OAuth 2.0 для сервисного аккаунта поддерживает межсерверные взаимодействия, не требующие доступа к информации о пользователе.
Однако YouTube Live Streaming API не поддерживает этот процесс.
Since there is no way to link a Service Account to a YouTube account, attempts to authorize requests with this flow will generate a
NoLinkedYouTubeAccounterror.