LiveBroadcasts: update

Actualiza una transmisión. Por ejemplo, puedes modificar la configuración de emisió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 alcances (obtén más información acerca de la autenticación y autorización).

Permiso
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 sirve para dos propósitos en esta operación. Identifica las propiedades que establecerá la operación de escritura y las propiedades que incluirá la respuesta de la API.

Las propiedades de 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 para todas las propiedades mutables que se encuentran en las partes que especifique 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 es la actualización de 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á según el valor que especifique el cuerpo de la solicitud. Si el cuerpo de la solicitud no especifica un valor, la configuración de privacidad existente se elimina y la transmisión vuelve a la configuración de privacidad predeterminada.
Parámetros opcionales
onBehalfOfContentOwner string
Este parámetro solo se puede usar en una solicitud autorizada debidamente. Nota: Este parámetro está dirigido 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 de 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 varios 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 debidamente. Este parámetro solo se puede utilizar en una solicitud autorizada debidamente. Nota: Este parámetro está dirigido exclusivamente a socios de contenido de YouTube.

El parámetro onBehalfOfContentOwnerChannel 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 se debe autorizar mediante una cuenta de CMS que esté 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 los 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 de transmisión en vivo 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.scheduledStartTime
    • snippet.scheduledEndTime
    • status.privacyStatus
    • contentDetails.monitorStream.enableMonitorStream
    • contentDetails.monitorStream.broadcastStreamDelayMs
    • contentDetails.enableAutoStart
    • contentDetails.enableAutoStop
    • contentDetails.enableClosedCaptions
    • contentDetails.enableDvr
    • contentDetails.enableEmbed
    • contentDetails.recordFromStart
    • monetizationDetails.cuepointSchedule.pauseAdsUntil

    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 de transmisión en vivo 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. Consulta la documentación sobre mensajes de error para obtener más información.

Tipo de error Detalle del error Descripción
forbidden (403) closedCaptionsTypeModificationNotAllowed El valor contentDetails.closedCaptionsType solo se puede modificar cuando la transmisión tiene el estado created o ready.
forbidden (403) enabledModificationNotAllowed El campo enabled es de solo lectura.
forbidden (403) scheduleStrategyModificationNotAllowed El campo scheduleStrategy es de solo lectura.
forbidden (403) repeatIntervalSecsModificationNotAllowed El campo repeatIntervalSecs es de solo lectura.
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 mediante YouTube Studio.
  • La transmisión no está en vivo.
forbidden (403) enableAutoStartModificationNotAllowed El valor contentDetails.enableAutoStart solo se puede modificar cuando la transmisión está inactiva y tiene el 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 OAuth2.
insufficientPermissions liveStreamingNotEnabled El usuario que autorizó la solicitud no tiene permiso para transmitir video en vivo en YouTube. Puede encontrar más información en https://www.youtube.com/features.
invalidValue (400) invalidAutoStart El recursoliveBroadcast contenía un valor no válido para la propiedad contentDetails.enableAutoStart. No puedes modificar la configuración de enableAutoStart para una transmisión persistente.
invalidValue (400) invalidAutoStop El recursoliveBroadcast contenía un valor no válido para la propiedad contentDetails.enableAutoStop. No puedes modificar la configuración de enableAutoStop para una transmisión persistente.
invalidValue (400) invalidDescription El recursoliveBroadcast no especificó un valor válido para la propiedad snippet.description. snippet.description puede contener hasta 5,000 caracteres.
invalidValue (400) invalidEmbedSetting El recursoliveBroadcast 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 de la configuración de contentDetails.closedCaptionType. Modifica el recurso para incluir solo una de las dos propiedades y, luego, vuelve a enviar la solicitud.
invalidValue (400) invalidLatencyPreferenceOptions El recursoliveBroadcast 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) invalidPauseAdsUntil El recursoliveBroadcast contiene un valor no válido para la propiedad monetizationDetails.cuepointSchedule.pauseAdsUntil. Este error puede ocurrir por los siguientes motivos:
  • El valor monetizationDetails.cuepointSchedule.pauseAdsUntil no se especifica en el formato ISO 8601 (AAAA-MM-DDThh:mm:ss.sZ).
  • El valor monetizationDetails.cuepointSchedule.pauseAdsUntil no es 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 de privacyStatus válidos.
invalidValue (400) invalidProjection El recursoliveBroadcast 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 recursoliveBroadcast contenía un valor no válido para la propiedad snippet.scheduledEndTime. La hora de finalización programada debe coincidir con la hora de inicio programada.
invalidValue (400) invalidScheduledStartTime El recursoliveBroadcast contenía un valor no válido para la propiedad snippet.scheduledStartTime. La hora de inicio programada debe ser posterior a la actual.
invalidValue (400) invalidTitle El recursoliveBroadcast 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.
required (400) broadcastStreamDelayMsRequired El recursoliveBroadcast no especificó la propiedad contentDetails.monitorStream.broadcastStreamDelayMs.
required (400) enableMonitorStreamRequired El recursoliveBroadcast 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 recursoliveBroadcast no especificó la propiedad snippet.scheduledEndTime.
required (400) scheduledStartTimeRequired El recursoliveBroadcast no especificó la propiedad snippet.scheduledStartTime.

Pruébala

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