LiveBroadcasts: update

Actualiza una transmisión. Por ejemplo, puedes modificar la configuración de transmisión definida en el objeto contentDetails del recurso liveBroadcast.

Casos de uso habituales

Solicitud

Solicitud HTTP

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

Autorización

Esta solicitud requiere autorización con al menos uno de los siguientes permisos. Para obtener más información sobre la autenticación y la autorización, consulta Cómo implementar la autorización de OAuth 2.0.

Alcance
https://www.googleapis.com/auth/youtube
https://www.googleapis.com/auth/youtube.force-ssl

Parámetros

En la siguiente tabla, se enumeran los parámetros que admite esta consulta. Todos los parámetros mencionados son parámetros de consulta.

Parámetros
Parámetros obligatorios
part string
El parámetro part tiene dos propósitos en esta operación. Identifica las propiedades que establecerá la operación de escritura, así como las propiedades que incluirá la respuesta de la API.

Las propiedades part que puedes incluir en el valor del parámetro son id, snippet, contentDetails, monetizationDetails y status.

Ten en cuenta que este método anulará los valores existentes de todas las propiedades mutables que se incluyen en las partes que especifica el valor del parámetro. Por ejemplo, el estado de privacidad de una transmisión se define en la parte status. Por lo tanto, si tu solicitud actualiza una transmisión privada o no listada, y el valor del parámetro part de la solicitud incluye la parte status, la configuración de privacidad de la transmisión se actualizará al valor que especifique el cuerpo de la solicitud. Si el cuerpo de la solicitud no especifica un valor, se quitará la configuración de privacidad existente y la transmisión volverá a la configuración de privacidad predeterminada.
Parámetros opcionales
onBehalfOfContentOwner string
Este parámetro solo se puede usar en una solicitud autorizada correctamente.
Nota: Este parámetro está destinado exclusivamente a socios de contenido de YouTube.

El parámetro onBehalfOfContentOwner indica que las credenciales de autorización de la solicitud identifican a un usuario del Sistema de administración de contenido (CMS) de YouTube que actúa en nombre del propietario del contenido especificado en el valor del parámetro. Este parámetro está dirigido a socios de contenido de YouTube que poseen y administran muchos canales de YouTube diferentes. Permite a los propietarios del contenido autenticarse una vez y tener acceso a todos los datos de sus videos y canales, sin tener que proporcionar credenciales de autenticación para cada canal. La cuenta de CMS con la que se autentica el usuario debe estar relacionada con el propietario del contenido de YouTube especificado.
onBehalfOfContentOwnerChannel string
Este parámetro solo se puede usar en una solicitud autorizada correctamente.
Nota: Este parámetro está destinado exclusivamente a socios de contenido de YouTube.

El onBehalfOfContentOwnerChannel parámetro especifica el ID del canal de YouTube al que se agrega un video. Este parámetro es obligatorio cuando una solicitud especifica un valor para el parámetro onBehalfOfContentOwner y solo se puede usar junto con ese parámetro. Además, la solicitud debe autorizarse con una cuenta de CMS vinculada al propietario del contenido que especifica el parámetro onBehalfOfContentOwner. Por último, el canal que especifica el valor del parámetro onBehalfOfContentOwnerChannel debe estar vinculado al propietario del contenido que especifica el parámetro onBehalfOfContentOwner.

Este parámetro está dirigido a socios de contenido de YouTube que poseen y administran muchos canales de YouTube diferentes. Permite a los propietarios de contenido autenticarse una vez y llevar a cabo acciones en nombre del canal especificado en el valor del parámetro, sin tener que proporcionar credenciales de autenticación para cada canal por separado.

Cuerpo de la solicitud

Proporciona un recurso liveBroadcast en el cuerpo de la solicitud. Para ese recurso:

  • Debes especificar un valor para estas propiedades:

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

  • Puedes establecer los valores de las siguientes propiedades:

    • 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

    Si envías una solicitud de actualización sin especificar un valor para una propiedad que ya tiene un valor, el valor actual de la propiedad se eliminará.

Respuesta

Si se aplica correctamente, este método muestra un recurso liveBroadcast en el cuerpo de la respuesta.

Errores

En la siguiente tabla, se identifican los mensajes de error que la API podría mostrar en respuesta a una llamada a este método. Para obtener más detalles, consulta el mensaje de error.

Tipo de error Detalle del error Descripción
backendError (503) backendError Aún no se pueden aplicar algunos parámetros de configuración. Es probable que esto se deba a que la transmisión se acaba de crear. Vuelve a intentarlo en unos segundos.
forbidden (403) closedCaptionsTypeModificationNotAllowed El valor contentDetails.closedCaptionsType solo se puede modificar cuando la transmisión está en estado created o ready.
forbidden (403) monetizationDetailsModificationNotAllowed Los canales que no forman parte del Programa de socios de YouTube (YPP) no pueden modificar monetizationDetails para un video.
forbidden (403) pauseAdsUntilModificationNotAllowed No se puede modificar el campo pauseAdsUntil. Este error puede ocurrir por los siguientes motivos:
  • El campo monetizationDetails.cuepointSchedule.enabled no está configurado como true. Este campo solo se puede configurar con YouTube Studio.
  • La transmisión no está activa.
forbidden (403) enableAutoStartModificationNotAllowed El valor contentDetails.enableAutoStart solo se puede modificar cuando la transmisión está inactiva y la transmisión está en estado created o ready.
forbidden (403) enableClosedCaptionsModificationNotAllowed El valor contentDetails.enableClosedCaptions solo se puede modificar cuando el estado de la transmisión es created o ready.
forbidden (403) enableDvrModificationNotAllowed El valor contentDetails.enableDvr solo se puede modificar cuando el estado de la transmisión es created o ready.
forbidden (403) enableMonitorStreamModificationNotAllowed El valor contentDetails.monitorStream.enableMonitorStream solo se puede modificar cuando el estado de la transmisión es created o ready.
forbidden (403) recordFromStartModificationNotAllowed El valor contentDetails.recordFromStart solo se puede modificar cuando el estado de la transmisión es created o ready.
insufficientPermissions insufficientLivePermissions La solicitud no está autorizada para actualizar la transmisión en vivo especificada. Para obtener más información, consulta Cómo implementar la autenticación de OAuth2.
insufficientPermissions liveStreamingNotEnabled El usuario que autorizó la solicitud no está habilitado para transmitir videos en vivo en YouTube. El usuario puede encontrar más información en https://www.youtube.com/features.
invalidArgument missingAdsMonetizationStatus ads_monetization_status debe especificarse como ON o OFF.
invalidValue (400) invalidAutoStart El recurso liveBroadcast contenía un valor no válido para la propiedad contentDetails.enableAutoStart. No puedes modificar el parámetro de configuración enableAutoStart para una transmisión persistente.
invalidValue (400) invalidAutoStop El recurso liveBroadcast contenía un valor no válido para la propiedad contentDetails.enableAutoStop. No puedes modificar el parámetro de configuración enableAutoStop para una transmisión persistente.
invalidValue (400) invalidDescription El recurso liveBroadcast no especificó un valor válido para la propiedad snippet.description. snippet.description puede contener hasta 5,000 caracteres.
invalidValue (400) invalidEmbedSetting El recurso liveBroadcast contenía un valor no válido para la propiedad contentDetails.enable_embed. No puedes incorporar esta transmisión.
invalidValue (400) invalidEnableClosedCaptions En el recurso liveBroadcast, el valor de la propiedad contentDetails.enableClosedCaptions no es compatible con el valor del parámetro de configuración contentDetails.closedCaptionType. Modifica el recurso para incluir solo una de las dos propiedades y, luego, vuelve a enviar la solicitud.
invalidValue (400) invalidLatencyPreferenceOptions El recurso liveBroadcast contenía un valor no válido para la propiedad contentDetails.latencyPreference. No todos los parámetros de configuración son compatibles con esta preferencia de latencia.
invalidValue (400) invalidEligibleForAdsMonetization eligible_for_ads_monetization es de solo lectura y no se puede especificar en el campo monetization_details.
invalidValue (400) invalidCuepointSchedule El recurso liveBroadcast contiene un valor no válido para la monetizationDetails.cuepointSchedule propiedad. Este error puede ocurrir por los siguientes motivos:
  • cuepoint_schedule no se puede especificar si ads_monetization_status es OFF.
  • cuepoint_schedule debe especificarse si ads_monetization_status es ON.
cuepoint_schedule no se puede especificar si ads_monetization_status es OFF.
invalidValue (400) invalidEnabled El recurso liveBroadcast contiene un valor no válido o en conflicto para la monetizationDetails.cuepointSchedule.enabled propiedad. Este error puede ocurrir por los siguientes motivos:
  • enabled debe especificarse en el campo cuepoint_schedule.
  • pause_ads_until, yt_optimized_cuepoint_config o creator_cuepoint_config no se pueden especificar si enabled es falso.
  • Solo se puede especificar una de yt_optimized_cuepoint_config y creator_cuepoint_config si enabled es verdadero.
invalidValue (400) invalidCreatorCuepointConfig Debes especificar schedule_strategy y repeat_interval_secs.
invalidValue (400) invalidRepeatIntervalSecs El valor de la propiedad repeat_interval_secs debe estar dentro del rango [360, 3600].
invalidValue (400) invalidPauseAdsUntil El recurso liveBroadcast contiene un valor no válido para la monetizationDetails.cuepointSchedule.pauseAdsUntil propiedad. Este error puede ocurrir por los siguientes motivos:
  • El valor monetizationDetails.cuepointSchedule.pauseAdsUntil no se especifica en formato ISO 8601 (AAAA-MM-DDThh:mm:ss.sZ).
  • El valor monetizationDetails.cuepointSchedule.pauseAdsUntil no está en el futuro.
  • El valor monetizationDetails.cuepointSchedule.pauseAdsUntil está a más de 10 minutos de la hora actual.
invalidValue (400) invalidPrivacyStatus El recurso liveBroadcast no especificó un estado de privacidad válido. Consulta los valores válidos privacyStatus.
invalidValue (400) invalidProjection El recurso liveBroadcast contenía un valor no válido para la propiedad contentDetails.projection. La proyección de una transmisión persistente no se puede establecer en 360.
invalidValue (400) invalidScheduledEndTime El recurso liveBroadcast contenía un valor no válido para la propiedad snippet.scheduledEndTime. La hora de finalización programada debe seguir a la hora de inicio programada.
invalidValue (400) invalidScheduledStartTime El recurso liveBroadcast contenía un valor no válido para la propiedad snippet.scheduledStartTime. La hora de inicio programada debe ser posterior a la hora actual.
invalidValue (400) invalidTitle El recurso liveBroadcast no especificó un valor válido para la propiedad snippet.title. snippet.title debe tener entre 1 y 100 caracteres.
notFound (404) liveBroadcastNotFound La propiedad id especificada en el recurso liveBroadcast no identificó una transmisión.
preconditionFailed (412) videoNotEligibleForAdsMonetization El video no cumple con los requisitos para la monetización con anuncios. Esto puede ocurrir si el canal no cumple con los requisitos para la monetización.
required (400) broadcastStreamDelayMsRequired El recurso liveBroadcast no especificó la propiedad contentDetails.monitorStream.broadcastStreamDelayMs.
required (400) enableMonitorStreamRequired El recurso liveBroadcast no especificó la propiedad contentDetails.monitorStream.enableMonitorStream.
required (400) idRequired El recurso liveBroadcast debe incluir y especificar un valor para la propiedad id.
required (400) scheduledEndTimeRequired El recurso liveBroadcast no especificó la propiedad snippet.scheduledEndTime.
required (400) scheduledStartTimeRequired El recurso liveBroadcast no especificó la propiedad snippet.scheduledStartTime.

Pruébalo

Usa el APIs Explorer para llamar a esta API y ver la solicitud a la API y la respuesta.