Реализовать авторизацию OAuth 2.0

YouTube Reporting API и YouTube Analytics API поддерживают протокол OAuth 2.0 для авторизации доступа к личным данным пользователей. В приведенном ниже списке объясняются некоторые основные концепции OAuth 2.0 :

  • Когда пользователь впервые пытается использовать функции вашего приложения, требующие, чтобы пользователь вошел в Google Account or YouTube account , ваше приложение инициирует процесс авторизации OAuth 2.0 .

  • Ваше приложение направляет пользователя на сервер авторизации Google. Ссылка на эту страницу указывает scope доступа, которую ваше приложение запрашивает для учетной записи пользователя. scope определяет ресурсы, которые ваше приложение может извлекать, вставлять, обновлять или удалять, действуя в качестве аутентифицированного пользователя.

  • Если пользователь разрешает вашему приложению доступ к этим ресурсам, Google возвращает токен вашему приложению. В зависимости от типа вашего приложения оно либо проверяет токен, либо обменивает его на другой тип токена.

    Например, серверное веб-приложение обменивает возвращенный токен на токен доступа и токен обновления. Маркер доступа позволяет приложению авторизовать запросы от имени пользователя, а маркер обновления позволяет приложению получать новый маркер доступа по истечении срока действия исходного маркера доступа.

Важно: вам необходимо получить учетные данные авторизации в Google API Console, чтобы иметь возможность использовать авторизацию OAuth 2.0.

Потоки OAuth 2.0

API Google поддерживают несколько вариантов использования OAuth 2.0:

  • Поток веб-приложений на стороне сервера поддерживает веб-приложения, которые могут безопасно хранить постоянную информацию.
  • Поток веб-приложений JavaScript поддерживает приложения JavaScript, работающие в браузере.
  • Поток мобильных и настольных приложений поддерживает приложения, установленные на устройстве, например на телефоне или компьютере.
  • Поток OAuth 2.0 для телевизоров и устройств с ограниченным вводом поддерживает устройства с ограниченными возможностями ввода, такие как игровые приставки и видеокамеры. The YouTube Reporting and YouTube Analytics APIs do not currently support the OAuth 2.0 flow for devices.
  • Поток OAuth 2.0 для потока служебной учетной записи поддерживает межсерверные взаимодействия, не требующие доступа к информации о пользователе. Однако YouTube Reporting API и YouTube Analytics API не поддерживают этот процесс. Since there is no way to link a Service Account to a YouTube account, attempts to authorize requests with this flow will generate an error.

Определение областей доступа

Области позволяют вашему приложению запрашивать доступ только к тем ресурсам, которые ему необходимы, а также позволяют пользователям контролировать объем доступа, который они предоставляют вашему приложению. Таким образом, может существовать обратная зависимость между количеством запрошенных областей действия и вероятностью получения согласия пользователя.

Прежде чем приступить к реализации авторизации OAuth 2.0, мы рекомендуем определить области, для доступа к которым вашему приложению потребуется разрешение.

API YouTube Analytics использует следующие области:

Области применения
https://www.googleapis.com/auth/youtube Управляйте своим аккаунтом YouTube
https://www.googleapis.com/auth/youtube.readonly Просмотрите свой аккаунт YouTube
https://www.googleapis.com/auth/youtubepartner Просмотр ваших ресурсов и связанного с ними контента на YouTube и управление ими
https://www.googleapis.com/auth/yt-analytics-monetary.readonly Просматривайте денежные и неденежные отчеты YouTube Analytics для своего контента на YouTube.
https://www.googleapis.com/auth/yt-analytics.readonly Просматривайте отчеты YouTube Analytics для своего контента на YouTube

YouTube Reporting API использует следующие области действия:

Области применения
https://www.googleapis.com/auth/yt-analytics-monetary.readonly Просматривайте денежные и неденежные отчеты YouTube Analytics для своего контента на YouTube.
https://www.googleapis.com/auth/yt-analytics.readonly Просматривайте отчеты YouTube Analytics для своего контента на YouTube

Документ OAuth 2.0 API Scopes содержит полный список областей, которые вы можете использовать для доступа к Google API.