Channels: update

API теперь поддерживает возможность пометить ваш канал или видео как предназначенные для детей. Кроме того, channel и video теперь содержат свойство, которое определяет статус канала или видео «сделано для детей». Условия использования API-сервисов YouTube и Правила для разработчиков также были обновлены 10 января 2020 года. Для получения дополнительной информации см. историю изменений Сервиса API данных YouTube и Условия использования API-сервисов YouTube .

Обновляет метаданные канала. Обратите внимание, что этот метод поддерживает только обновления объектов 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, которые владеют и управляют множеством различных каналов YouTube. Это позволяет владельцам контента один раз пройти аутентификацию и получить доступ ко всем своим видео и данным каналов без необходимости предоставлять учетные данные аутентификации для каждого отдельного канала. Фактическая учетная запись CMS, с помощью которой пользователь проходит аутентификацию, должна быть связана с указанным владельцем контента YouTube.

Тело запроса

Укажите ресурс 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 может вернуть в ответ на вызов этого метода. Дополнительные сведения см. в разделе API данных YouTube — ошибки .

Тип ошибки Детализация ошибки Описание
badRequest (400) brandingValidationError Одно из значений объекта brandingSettings не прошло проверку. Используйте channels.list , чтобы получить существующие параметры канала и обновить значения свойств, следуя рекомендациям в документации по ресурсам channels .
badRequest (400) channelTitleUpdateForbidden При обновлении brandingSettings part канала необходимо установить для свойства brandingSettings.channel.title значение текущего заголовка канала или опустить это свойство. API возвращает ошибку, если вы измените значение свойства.
badRequest (400) defaultLanguageNotSetError Для обновления localizations необходимо установить defaultLanguage .
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 Одно из значений объекта локализации не прошло проверку. Используйте channels.list для получения допустимых значений и обязательно обновите их, следуя рекомендациям в документации по ресурсам каналов.
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 Указанный идентификатор канала недавноUploadedBy не найден.
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 В метаданных запроса в части invideoPromotion должен быть указан URL-адрес веб-сайта. Задайте значение свойства invideoPromotion.items[].id.websiteUrl в ресурсе, который отправляет запрос.

Попробуйте!

Используйте APIs Explorer для вызова этого API и просмотра запроса и ответа API.