LiveBroadcasts: update

Обновляет трансляцию. Например, вы можете изменить настройки трансляции, заданные в объекте contentDetails ресурса liveBroadcast.

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

Запрос

HTTP-запрос

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

Авторизация

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

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

Параметры

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

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

Свойства part, которые можно включить в значение параметра: id, snippet, contentDetails, monetizationDetails и status.

Обратите внимание, что этот метод переопределит существующие значения для всех изменяемых свойств, содержащихся в любых частях, указанных в значении параметра. Например, статус конфиденциальности трансляции определяется в части status. Таким образом, если ваш запрос обновляет трансляцию с ограниченным доступом или доступом по ссылке и значение параметра part включает часть status, то настройки конфиденциальности трансляции будут изменены на те, которые заданы в теле запроса. Если в теле запроса не указано значение, существующие настройки конфиденциальности будут удалены, а для трансляции будут восстановлены настройки по умолчанию.
Необязательные параметры
onBehalfOfContentOwner string
Этот параметр можно использовать только в авторизованном запросе.
Примечание. Этот параметр предназначен исключительно для партнеров YouTube по контенту.

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

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

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

Тело запроса

В теле запроса укажите ресурс liveBroadcast. Для этого ресурса:

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

    • id
    • snippet.scheduledStartTime
    • contentDetails.monitorStream.enableMonitorStream
    • contentDetails.monitorStream.broadcastStreamDelayMs

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

    • snippet.title
    • snippet.description
    • snippet.categoryId
    • snippet.scheduledStartTime
    • snippet.scheduledEndTime
    • status.privacyStatus
    • contentDetails.monitorStream.enableMonitorStream
    • contentDetails.monitorStream.broadcastStreamDelayMs
    • contentDetails.enableAutoStart
    • contentDetails.enableAutoStop
    • contentDetails.enableClosedCaptions
    • contentDetails.enableDvr
    • contentDetails.enableEmbed
    • contentDetails.recordFromStart
    • contentDetails.availabilityConfig
    • monetizationDetails.adsMonetizationStatus
    • monetizationDetails.cuepointSchedule.enabled
    • monetizationDetails.cuepointSchedule.pauseAdsUntil
    • monetizationDetails.cuepointSchedule.ytOptimizedCuepointConfig
    • monetizationDetails.cuepointSchedule.creatorCuepointConfig.scheduleStrategy
    • monetizationDetails.cuepointSchedule.creatorCuepointConfig.repeatIntervalSecs

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

Ответ

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

Ошибки

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

Тип ошибки Сведения об ошибке Описание
backendError (503) backendError Некоторые настройки пока нельзя применить. Скорее всего, это связано с тем, что трансляция только что создана. Повторите попытку через несколько секунд.
forbidden (403) closedCaptionsTypeModificationNotAllowed Значение contentDetails.closedCaptionsType можно изменить, только если трансляция имеет статус created или ready.
forbidden (403) monetizationDetailsModificationNotAllowed Авторы, которые не участвуют в Партнерской программе YouTube, не могут изменять monetizationDetails для видео.
forbidden (403) pauseAdsUntilModificationNotAllowed Поле pauseAdsUntil нельзя изменить. Эта ошибка может возникать по следующим причинам:
  • В поле monetizationDetails.cuepointSchedule.enabled не задано значение true. Это поле можно задать только в Творческой студии YouTube.
  • Трансляция не в прямом эфире.
forbidden (403) enableAutoStartModificationNotAllowed Значение contentDetails.enableAutoStart можно изменить, только если трансляция неактивна и имеет статус created или ready.
forbidden (403) enableClosedCaptionsModificationNotAllowed Значение contentDetails.enableClosedCaptions можно изменить, только если трансляция имеет статус created или ready.
forbidden (403) enableDvrModificationNotAllowed Значение contentDetails.enableDvr можно изменить, только если трансляция имеет статус created или ready.
forbidden (403) enableMonitorStreamModificationNotAllowed Значение contentDetails.monitorStream.enableMonitorStream можно изменить, только если трансляция имеет статус created или ready.
forbidden (403) recordFromStartModificationNotAllowed Значение contentDetails.recordFromStart можно изменить, только если трансляция имеет статус created или ready.
insufficientPermissions insufficientLivePermissions Запрос не авторизован для обновления указанной прямой трансляции. Подробнее о реализации аутентификации OAuth2…
insufficientPermissions liveStreamingNotEnabled Пользователь, авторизовавший запрос, не может проводить прямые трансляции на YouTube. Подробнее о функциях YouTube можно узнать на странице https://www.youtube.com/features.
invalidArgument missingAdsMonetizationStatus Для атрибута ads_monetization_status необходимо указать значение ON или OFF.
invalidValue (400) invalidAutoStart Ресурс liveBroadcast содержит недопустимое значение свойства contentDetails.enableAutoStart. Вы не можете изменить параметр enableAutoStart для постоянной трансляции.
invalidValue (400) invalidAutoStop Ресурс liveBroadcast содержал недопустимое значение для свойства contentDetails.enableAutoStop. Вы не можете изменить настройку enableAutoStop для постоянной трансляции.
invalidValue (400) invalidDescription В ресурсе liveBroadcast не указано допустимое значение для свойства snippet.description. snippet.description может содержать до 5000 символов.
invalidValue (400) invalidEmbedSetting Ресурс liveBroadcast содержит недопустимое значение свойства contentDetails.enable_embed. Эту трансляцию нельзя встроить.
invalidValue (400) invalidEnableClosedCaptions В ресурсе liveBroadcast значение свойства contentDetails.enableClosedCaptions несовместимо со значением параметра contentDetails.closedCaptionType. Измените ресурс, чтобы он содержал только одно из двух свойств, и отправьте запрос повторно.
invalidValue (400) invalidLatencyPreferenceOptions Ресурс liveBroadcast содержал недопустимое значение для свойства contentDetails.latencyPreference. Не все настройки поддерживаются при таком уровне задержки.
invalidValue (400) invalidEligibleForAdsMonetization eligible_for_ads_monetization доступен только для чтения и не может быть указан в поле monetization_details.
invalidValue (400) invalidCuepointSchedule Ресурс liveBroadcast содержит недопустимое значение свойства monetizationDetails.cuepointSchedule. Эта ошибка может возникнуть по следующим причинам:
  • Нельзя указать cuepoint_schedule, если для ads_monetization_status задано значение OFF.
  • Если для параметра ads_monetization_status задано значение ON, необходимо указать cuepoint_schedule.
Если параметр ads_monetization_status отключен, параметр cuepoint_schedule задать нельзя.
invalidValue (400) invalidEnabled Ресурс liveBroadcast содержит недопустимое или конфликтующее значение свойства monetizationDetails.cuepointSchedule.enabled. Эта ошибка может возникать по следующим причинам:
  • enabled должно быть указано в поле cuepoint_schedule.
  • Если для параметра enabled задано значение false, то нельзя указать pause_ads_until, yt_optimized_cuepoint_config или creator_cuepoint_config.
  • Если для enabled задано значение true, можно указать только одно из значений: yt_optimized_cuepoint_config или creator_cuepoint_config.
invalidValue (400) invalidCreatorCuepointConfig Необходимо указать и schedule_strategy, и repeat_interval_secs.
invalidValue (400) invalidRepeatIntervalSecs Значение свойства repeat_interval_secs должно быть в диапазоне от 360 до 3600.
invalidValue (400) invalidPauseAdsUntil Ресурс liveBroadcast содержит недопустимое значение свойства monetizationDetails.cuepointSchedule.pauseAdsUntil. Эта ошибка может возникать по следующим причинам:
  • Значение monetizationDetails.cuepointSchedule.pauseAdsUntil не указано в формате ISO 8601 (ГГГГ-ММ-ДДTчч:мм:сс.сZ).
  • Значение monetizationDetails.cuepointSchedule.pauseAdsUntil не относится к будущему.
  • Значение monetizationDetails.cuepointSchedule.pauseAdsUntil отличается от текущего времени более чем на 10 минут.
invalidValue (400) invalidPrivacyStatus В ресурсе liveBroadcast не указан действительный статус конфиденциальности. Ознакомьтесь с допустимыми значениями privacyStatus.
invalidValue (400) invalidProjection Ресурс liveBroadcast содержит недопустимое значение для свойства contentDetails.projection. Для постоянной трансляции нельзя задать проекцию 360.
invalidValue (400) invalidScheduledEndTime Ресурс liveBroadcast содержит недопустимое значение свойства snippet.scheduledEndTime. Время окончания должно быть позже времени начала.
invalidValue (400) invalidScheduledStartTime Ресурс liveBroadcast содержит недопустимое значение для свойства snippet.scheduledStartTime. Время начала должно быть в будущем.
invalidValue (400) invalidTitle В ресурсе liveBroadcast не указано действительное значение свойства snippet.title. snippet.title должно содержать от 1 до 100 символов.
notFound (404) liveBroadcastNotFound Свойство id, указанное в ресурсе liveBroadcast, не идентифицирует трансляцию.
preconditionFailed (412) videoNotEligibleForAdsMonetization Видео не допущено к монетизации с помощью рекламы. Это может произойти, если канал не соответствует требованиям для монетизации.
required (400) broadcastStreamDelayMsRequired В ресурсе liveBroadcast не указано свойство contentDetails.monitorStream.broadcastStreamDelayMs.
required (400) enableMonitorStreamRequired В ресурсе liveBroadcast не указано свойство contentDetails.monitorStream.enableMonitorStream.
required (400) idRequired Ресурс liveBroadcast должен содержать свойство id и его значение.
required (400) scheduledEndTimeRequired В ресурсе liveBroadcast не указано свойство snippet.scheduledEndTime.
required (400) scheduledStartTimeRequired В ресурсе liveBroadcast не указано свойство snippet.scheduledStartTime.

Попробовать

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