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 |
stringEl 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 |
stringEste 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 |
stringEste 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:
idsnippet.scheduledStartTimecontentDetails.monitorStream.enableMonitorStreamcontentDetails.monitorStream.broadcastStreamDelayMs
-
Puedes establecer los valores de las siguientes propiedades:
snippet.titlesnippet.descriptionsnippet.categoryIdsnippet.scheduledStartTimesnippet.scheduledEndTimestatus.privacyStatuscontentDetails.monitorStream.enableMonitorStreamcontentDetails.monitorStream.broadcastStreamDelayMscontentDetails.enableAutoStartcontentDetails.enableAutoStopcontentDetails.enableClosedCaptionscontentDetails.enableDvrcontentDetails.enableEmbedcontentDetails.recordFromStartcontentDetails.availabilityConfigmonetizationDetails.adsMonetizationStatusmonetizationDetails.cuepointSchedule.enabledmonetizationDetails.cuepointSchedule.pauseAdsUntilmonetizationDetails.cuepointSchedule.ytOptimizedCuepointConfigmonetizationDetails.cuepointSchedule.creatorCuepointConfig.scheduleStrategymonetizationDetails.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:
|
|
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. solo se puede modificar cuando el estado de la transmisión es created o ready. |
|
forbidden (403) |
enableMonitorStreamModificationNotAllowed |
El valor contentDetails. solo se puede modificar cuando el estado de la transmisión es created o ready. |
|
forbidden (403) |
recordFromStartModificationNotAllowed |
El valor contentDetails. 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. |
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:
|
|
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:
|
|
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.. |
|
required (400) |
enableMonitorStreamRequired |
El recurso liveBroadcast no especificó la propiedad contentDetails.. |
|
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.