Channels: update

Теперь в API можно отмечать каналы и видео как предназначенные для детей. Кроме того, ресурсы channel и video теперь содержат свойство, которое определяет статус канала или видео ("предназначено для детей"). 10 января 2020 г. также были обновлены Условия использования сервисов YouTube API и правила для разработчиков. Подробную информацию вы найдете в истории изменений сервиса YouTube Data API и Условий использования сервисов YouTube API.

Обновляет метаданные канала. Обратите внимание, что этот метод поддерживает только обновление объектов brandingSettings, invideoPromotion и localizations ресурса channel и их дочерних свойств.

Влияние на квоту. Вызов этого метода стоит 50 единиц квоты.

Примеры использования

Запрос

HTTP-запрос

PUT https://www.googleapis.com/youtube/v3/channels

Авторизация

Для этого запроса требуется авторизация с хотя бы одной из следующих областей. Подробнее об аутентификации и авторизации читайте в статье Реализация авторизации OAuth 2.0.

Область действия
https://www.googleapis.com/auth/youtubepartner
https://www.googleapis.com/auth/youtube
https://www.googleapis.com/auth/youtube.force-ssl

Параметры

В таблице ниже перечислены параметры, которые поддерживает этот запрос. Все перечисленные параметры являются параметрами запроса.

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

API позволяет задавать для значения параметра только значения brandingSettings, invideoPromotion или localizations. (В одном запросе можно указать только одну часть.)

Обратите внимание, что этот метод переопределяет существующие значения всех изменяемых свойств, содержащихся в части, указанной в значении параметра.
Необязательные параметры
onBehalfOfContentOwner string
Этот параметр можно использовать только в авторизованном запросе.

Параметр onBehalfOfContentOwner указывает, что аутентифицированный пользователь действует от имени владельца контента, указанного в значении параметра. Этот параметр предназначен для партнеров YouTube, которые владеют несколькими каналами и управляют ими. Владельцы контента могут пройти аутентификацию один раз и получить доступ к данным всех своих видео и каналов. Аккаунт CMS, с помощью которого пользователь проходит аутентификацию, должен быть связан с указанным владельцем контента YouTube.

Этот параметр необходимо указать, если запрос аутентифицирован с помощью учетных данных пользователя, который является владельцем контента в CMS и управляет каналом. Если этот параметр не указан, запрос выполняется в прямом контексте аутентифицированного пользователя и возвращает ошибку HTTP 403 Forbidden.

Тело запроса

Укажите ресурс channel в теле запроса. Для этого ресурса:

  • Необходимо указать значение для следующих свойств:

    • id
  • Вы можете задать значения для следующих свойств:

    • brandingSettings.channel.country
    • brandingSettings.channel.description
    • brandingSettings.channel.defaultLanguage
    • brandingSettings.channel.keywords
    • brandingSettings.channel.trackingAnalyticsAccountId
    • brandingSettings.channel.unsubscribedTrailer
    • localizations.(key)
    • localizations.(key).title
    • localizations.(key).description
    • status.selfDeclaredMadeForKids

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

Ответ

Если запрос выполнен успешно, этот метод возвращает ресурс channel в теле ответа.

Ошибки

В таблице ниже перечислены сообщения об ошибках, которые API может возвращать в ответ на вызов этого метода. Подробнее об ошибках YouTube Data API…

Тип ошибки Сведения об ошибке Описание
badRequest (400) brandingValidationError Одно из значений в объекте brandingSettings не прошло проверку. Используйте метод channels.list, чтобы получить текущие настройки канала, и обновите значения свойств, следуя инструкциям в документации по ресурсу channels.
badRequest (400) channelTitleUpdateForbidden При обновлении brandingSettings part канала необходимо задать для свойства brandingSettings.channel.title текущее название канала или опустить это свойство. Если вы измените значение свойства, API вернет ошибку.
badRequest (400) defaultLanguageNotSetError defaultLanguage должен быть настроен на обновление localizations.
badRequest (400) invalidBrandingOption Один из указанных вами параметров брендинга не существует. Используйте метод channels.list, чтобы получить допустимые значения, и обновите их в соответствии с инструкциями в документации по ресурсу channels.
badRequest (400) invalidCustomMessage В метаданных запроса указано недопустимое специальное сообщение. Проверьте значение свойства invideoPromotion.items[].customMessage в ресурсе, который отправил запрос.
badRequest (400) invalidDuration В метаданных запроса указана недопустимая продолжительность в части invideoPromotion.
badRequest (400) invalidDuration В метаданных запроса указан недопустимый тип позиции для определения того, как продвигаемый объект размещается в видеопроигрывателе. Проверьте значение свойства invideoPromotion.position.type в ресурсе, который отправил запрос.
badRequest (400) invalidRecentlyUploadedBy В метаданных запроса указан недопустимый идентификатор канала. Проверьте значение свойства invideoPromotion.items[].id.recentlyUploadedBy в ресурсе, который был отправлен в запросе.
badRequest (400) invalidTimingOffset В метаданных запроса указано недопустимое смещение по времени в части invideoPromotion.
badRequest (400) invalidTimingOffset В метаданных запроса указано недопустимое смещение по времени для определения того, когда продвигаемый объект должен показываться в видеопроигрывателе. Проверьте значение свойства invideoPromotion.timing.offsetMs в ресурсе, который отправил запрос.
badRequest (400) invalidTimingType В метаданных запроса указан недопустимый метод определения времени показа рекламируемого объекта в видеопроигрывателе. Проверьте значение свойства invideoPromotion.timing.type в ресурсе, который отправил запрос.
badRequest (400) localizationValidationError Одно из значений в объекте localizations не прошло проверку. Используйте метод channels.list, чтобы получить допустимые значения, и обновите их в соответствии с инструкциями в документации по ресурсу channels.
badRequest (400) tooManyPromotedItems В разделе invideoPromotion превышено допустимое количество продвигаемых объектов.
forbidden (403) channelForbidden Канал, указанный в параметре id, не поддерживает запрос, или запрос не авторизован должным образом.
forbidden (403) promotedVideoNotAllowed Не удалось найти канал, который вы пытаетесь обновить с помощью запроса к API. Проверьте значение свойства id в ресурсе channel, отправленном в запросе, чтобы убедиться, что идентификатор канала указан правильно.
forbidden (403) websiteLinkNotAllowed Указанный URL сайта недопустим.
notFound (404) channelNotFound Не удалось найти канал, указанный в параметре id.
notFound (404) channelNotFound Канал, указанный в параметре id, не найден или не имеет параметров фирменного оформления.
notFound (404) unknownChannelId Указанный идентификатор канала не найден.
notFound (404) unknownChannelId Указанный идентификатор канала recentlyUploadedBy не найден.
notFound (404) unknownVideoId Не удалось найти идентификатор видео, указанный в качестве продвигаемого объекта.
required (400) requiredItemIdType В метаданных запроса необходимо указать тип объекта в разделе invideoPromotion.
required (400) requiredItemId В метаданных запроса должен быть указан идентификатор товара в разделе invideoPromotion.
required (400) requiredTimingOffset В метаданных запроса необходимо указать смещение по времени по умолчанию, чтобы YouTube мог определить, когда показывать продвигаемый товар. Задайте значение свойства invideoPromotion.defaultTiming.offsetMs в ресурсе, который отправляет запрос.
required (400) requiredTimingOffset В метаданных запроса необходимо указать смещение по времени, чтобы система YouTube могла определить, когда показывать продвигаемый объект. Задайте значение свойства invideoPromotion.timing.offsetMs в ресурсе, который отправляет запрос.
required (400) requiredTimingType В метаданных запроса должен быть указан метод синхронизации, чтобы система YouTube могла определить, когда показывать продвигаемый объект. Задайте значение свойства invideoPromotion.defaultTiming.type в ресурсе, который отправляет запрос.
required (400) requiredTimingType В метаданных запроса должен быть указан метод синхронизации, чтобы система YouTube могла определить, когда показывать продвигаемый объект. Задайте значение свойства invideoPromotion.timing.type в ресурсе, который отправляет запрос.
required (400) requiredTiming В метаданных запроса должно быть указано время для каждого элемента в части invideoPromotion.
required (400) requiredVideoId В метаданных запроса должен быть указан идентификатор видео, чтобы можно было определить продвигаемый объект.
required (400) requiredWebsiteUrl В метаданных запроса должен быть указан URL сайта в разделе invideoPromotion. Задайте значение свойства invideoPromotion.items[].id.websiteUrl в ресурсе, который отправляет запрос.

Попробовать

Используйте APIs Explorer, чтобы вызвать этот API и посмотреть запрос к API и ответ.