Используйте OAuth 2.0 для учетных записей служб

Примечание. API Content ID YouTube предназначен для использования контент-партнерами YouTube и доступен не всем разработчикам и не всем пользователям YouTube. Если вы не видите API Content ID YouTube в качестве одной из служб, перечисленных в консоли API Google , посетите Справочный центр YouTube , чтобы узнать больше о Партнерской программе YouTube.

Фон

Учетная запись службы — это учетная запись Google, которую можно использовать для авторизации вызовов API без какого-либо взаимодействия с пользователем. В отличие от других потоков OAuth 2.0, проверка подлинности и авторизация доступа с использованием потока OAuth 2.0 для учетных записей служб не происходит в веб-браузере. Вместо этого OAuth 2.0 для учетных записей служб использует криптографические подписи для авторизации доступа. Пока ваш код имеет доступ к базовому криптографическому ключу, он может продолжать выполнять вызовы API, не беспокоясь об обновлении и токенах доступа. Он идеально подходит для автоматизированных приложений, работающих на серверах без вмешательства человека.

Теперь вы можете использовать поток OAuth 2.0 для сервисных учетных записей для авторизации запросов YouTube Content ID API. Вы также можете использовать этот процесс для авторизации вызовов YouTube Data API и YouTube Analytics API для методов, поддерживающих параметры делегирования . Во всех этих случаях приложение, использующее этот процесс, авторизует запрос API в качестве партнера по контенту YouTube (используя учетную запись YouTube CMS), а не в качестве владельца канала YouTube.

Настройте свою учетную запись службы

На следующих снимках экрана показан процесс создания сервисного аккаунта, связанного с вашим проектом API, в котором необходимо убедиться, что у вас уже включены соответствующие API (YouTube Data API v3, YouTube Analytics API, YouTube Content ID API и т. д.).

  1. Посетите https://cloud.google.com/console и выберите существующий проект API (или создайте новый).
  2. На боковой панели слева выберите API и аутентификация .
  3. Убедитесь, что API Content ID YouTube активирован для вашего проекта.
  4. На боковой панели слева выберите «Учетные данные» .
  5. Нажмите кнопку Создать новый идентификатор клиента .
  6. Выберите учетную запись службы из перечисленных вариантов и нажмите «Создать идентификатор клиента» . Закрытый ключ вашей сервисной учетной записи будет загружен на ваш компьютер. Это единственная копия ключа, и вам необходимо сохранить ключ в безопасном месте, чтобы ваше приложение могло его прочитать.
  7. Запишите адрес электронной почты для учетной записи службы. (Адрес электронной почты отображается на странице «Учетные данные» .) Вам понадобится адрес, чтобы предоставить вашей учетной записи службы возможность доступа к вашей учетной записи YouTube CMS.
  8. Посетите https://www.youtube.com/content_owner_users и нажмите кнопку «Новый пользователь» .
  9. Введите адрес электронной почты учетной записи службы из шага 7 в поле Адрес электронной почты и выберите соответствующую роль для пользователя. Затем нажмите кнопку «Пригласить» .
  10. Ваша учетная запись службы автоматически принимает приглашение, и эта учетная запись впоследствии может получить доступ к API YouTube, действующим от имени вашей учетной записи YouTube CMS.
  11. Следуйте инструкциям по работе с учетной записью службы OAuth 2.0 в руководстве по авторизации запросов , чтобы авторизовать запросы с использованием учетной записи службы.

Выполнение вызовов API

Клиентские библиотеки большинства языков имеют встроенную поддержку OAuth 2.0 для потока учетных записей служб. Вы должны уметь следовать примерам в документации библиотеки, чтобы выполнить базовую авторизацию с использованием соответствующих областей API YouTube.

Самое важное, о чем следует помнить, — это то, что вы должны использовать соответствующие параметры делегирования , чтобы действовать от имени определенного канала, связанного с вашей учетной записью CMS. Чтобы просмотреть список каналов, связанных с вашей учетной записью CMS, посетите https://cms.youtube.com/edit_user_accounts .