Как включить монетизацию для видео, загруженных с помощью YouTube Data API v3?

У меня есть подтвержденный партнерский канал на YouTube, и я пытаюсь включить монетизацию для видео, загруженных через API данных YouTube (v3).

Канал уже включен для монетизации, и я включил монетизацию в Настройки канала → Настройки по умолчанию (хотя у меня есть ощущение, что эта страница предназначена только для установки настроек по умолчанию на стандартной странице ручной загрузки). Я посмотрел в справочнике API, но не могу найти ничего, связанного с монетизацией вообще.

Есть ли какой-либо другой способ автоматически загружать новые видео любыми способами, или каким-то образом я могу включить его в API?

2 ответа

Ссылка, предоставленная Tareq, является правильной, но, к сожалению, она показывает только некоторый код Python вместо того, что происходит с использованием HTTP. Так как я хотел сделать то же самое, вот что я понял и что работает для меня. Еще раз обратите внимание, что вам нужен доступ к ContentID API (проголосуйте за этот билет, чтобы исправить это), что означает, что вам нужен доступ к владельцам учетной записи CMS. Забавно, что существует партнерская программа YouTube, которая не имеет ничего общего с тем, чтобы быть "партнером YouTube". Вам необходим доступ к учетной записи CMS, например, если вы работаете в многоканальной сети (MCN). Кроме того, у меня создается впечатление, что документация на самом деле довольно хорошо спрятана, потому что даже если я точно знаю, что я ищу, мне всегда трудно снова найти страницы документации.

Во всяком случае: вот материал:

1. Создать актив

Сначала вам нужно создать ресурс ( документы):

POST https://www.googleapis.com/youtube/partner/v1/assets?onBehalfOfContentOwner=CONTENT_OWNER_ID
Authorization: Bearer ...

{
  "type": "web",
  "metadata": {
    "title": "some title, typically the same as the video title",
    "customId": "optional, but typically the same as the videoId"
  }
}

В теле ответа вы найдете:

{
  ...
  "id": "ASSET_ID"
  ...
}

Сохраните ASSET_ID для дальнейшего использования.

2. Установите право собственности

Теперь мы сообщаем YouTube, что мы владеем исключительно всем, что связано с активом, на 100% исключительно и по всему миру ( документы):

PUT https://www.googleapis.com/youtube/partner/v1/assets/ASSET_ID/ownership?onBehalfOfContentOwner=CONTENT_OWNER_ID
Authorization: Bearer ...

{
  "general": {
    "owner": "CONTENT_OWNER_ID",
    "ratio": 100,
    "type": "exclude"
  }
}

Обратите внимание, что это запрос PUT, а не POST!

3. Закажите видео с политикой монетизации

Теперь мы соединяем видео, ресурс и политику друг с другом ( документы)

POST https://www.googleapis.com/youtube/partner/v1/claims?onBehalfOfContentOwner=CONTENT_OWNER_ID
Authorization: Bearer ...

{
  "assetId": "ASSET_ID",
  "videoId": "VIDEO_ID",
  "policy": {
    "id": "POLICY_ID"
  },
  "contentType": "audiovisual"
}

Теперь ваше видео должно быть монетизировано в соответствии с определенной политикой.

Что тебе нужно знать

В моих примерах вам, конечно, нужно заменить переменные, которые я там оставил, заглавными буквами:

  • CONTENT_OWNER_ID: узнайте свой идентификатор, используя аутентифицированный звонок GET https://www.googleapis.com/youtube/partner/v1/contentOwners?fetchMine=true ( документы)
  • ASSET_ID: возвращается в responseBody вызова create asset
  • POLICY_ID: Узнайте, какие политики с какими идентификаторами у вас есть для аутентифицированного вызова GET https://www.googleapis.com/youtube/partner/v1/policies?onBehalfOfContentOwner=CONTENT_OWNER_ID ( документы)

Для всех запросов вам необходимо пройти проверку подлинности в объеме https://www.googleapis.com/auth/youtubepartner

Это всего лишь один из способов и вариантов применения монетизации. Конечные точки API, которые я показал, имеют больше и разные варианты. Обратитесь к документации.

Смотрите также

  • Проголосуйте за этот билет, чтобы политики монетизации по умолчанию также применялись к видео, загруженным через API.
  • Проголосуйте за этот билет, чтобы у нас была возможность указать настройки монетизации во время загрузки без необходимости иметь доступ к учетной записи CMS

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

https://developers.google.com/youtube/partner/upload_claim_sample

Другие вопросы по тегам