LiveBroadcasts: update

Met à jour une diffusion. Par exemple, vous pouvez modifier les paramètres de diffusion définis dans l'objet contentDetails de la ressource liveBroadcast.

Cas d'utilisation courants

Requête

Requête HTTP

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

Autorisation

Cette requête nécessite une autorisation avec au moins l'un des champs d'application suivants. Pour en savoir plus sur l'authentification et l'autorisation, consultez Implémenter l'autorisation OAuth 2.0.

Champ d'application
https://www.googleapis.com/auth/youtube
https://www.googleapis.com/auth/youtube.force-ssl

Paramètres

Le tableau suivant répertorie les paramètres compatibles avec cette requête. Tous les paramètres listés sont des paramètres de requête.

Paramètres
Paramètres obligatoires
part string
Le paramètre part a deux objectifs dans cette opération. Il identifie les propriétés que l'opération d'écriture va définir, ainsi que celles que la réponse de l'API va inclure.

Les part propriétés que vous pouvez inclure dans la valeur de paramètre sont id, snippet, contentDetails, monetizationDetails et status.

Notez que cette méthode remplace les valeurs existantes de toutes les propriétés mutables contenues dans les parties spécifiées par la valeur de paramètre. Par exemple, l'état de confidentialité d'une diffusion est défini dans la partie status. Par conséquent, si votre requête met à jour une diffusion privée ou non répertoriée, et que la valeur du paramètre part de la requête inclut la partie status, le paramètre de confidentialité de la diffusion est mis à jour avec la valeur spécifiée par le corps de la requête. Si le corps de la requête ne spécifie pas de valeur, le paramètre de confidentialité existant est supprimé et la diffusion revient au paramètre de confidentialité par défaut.
Paramètres facultatifs
onBehalfOfContentOwner string
Ce paramètre ne peut être utilisé que dans une requête correctement autorisée.
Remarque : Ce paramètre est destiné exclusivement aux partenaires de contenu YouTube.

Le paramètre onBehalfOfContentOwner indique que les identifiants d'autorisation de la requête identifient un utilisateur du système de gestion de contenu (CMS) YouTube qui agit au nom du propriétaire du contenu spécifié dans la valeur du paramètre. Ce paramètre est destiné aux partenaires de contenu YouTube qui possèdent et gèrent de nombreuses chaînes YouTube différentes. Il permet aux propriétaires de contenu de s'authentifier une seule fois et d'accéder à toutes leurs données de vidéos et de chaînes, sans avoir à fournir d'identifiants d'authentification pour chaque chaîne. Le compte CMS avec lequel l'utilisateur s'authentifie doit être associé au propriétaire du contenu YouTube spécifié.
onBehalfOfContentOwnerChannel string
Ce paramètre ne peut être utilisé que dans une requête correctement autorisée.
Remarque : Ce paramètre est destiné exclusivement aux partenaires de contenu YouTube.

Le onBehalfOfContentOwnerChannel paramètre spécifie l'ID de la chaîne YouTube à laquelle une vidéo est ajoutée. Ce paramètre est obligatoire lorsqu'une requête spécifie une valeur pour le paramètre onBehalfOfContentOwner, et il ne peut être utilisé qu'avec ce paramètre. De plus, la requête doit être autorisée à l'aide d'un compte CMS associé au propriétaire du contenu spécifié par le paramètre onBehalfOfContentOwner. Enfin, la chaîne spécifiée par la valeur du paramètre onBehalfOfContentOwnerChannel doit être associée au propriétaire du contenu spécifié par le paramètre onBehalfOfContentOwner.

Ce paramètre est destiné aux partenaires de contenu YouTube qui possèdent et gèrent de nombreuses chaînes YouTube différentes. Il permet aux propriétaires de contenu de s'authentifier une seule fois et d'effectuer des actions au nom de la chaîne spécifiée dans la valeur de paramètre, sans avoir à fournir d'identifiants d'authentification pour chaque chaîne.

Corps de la requête

Fournissez une ressource liveBroadcast dans le corps de la requête. Pour cette ressource :

  • Vous devez spécifier une valeur pour ces propriétés :

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

  • Vous pouvez définir des valeurs pour ces propriétés :

    • 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 vous envoyez une requête de mise à jour et que votre requête ne spécifie pas de valeur pour une propriété qui en possède déjà une, la valeur existante de la propriété est supprimée.

Réponse

Si la requête aboutit, cette méthode renvoie une ressource liveBroadcast dans le corps de la réponse.

Erreurs

Le tableau suivant identifie les messages d'erreur que l'API peut renvoyer en réponse à un appel de cette méthode. Pour en savoir plus, consultez le message d'erreur.

Type d'erreur Détail de l'erreur Description
backendError (503) backendError Certains paramètres ne peuvent pas encore être appliqués. Cela est probablement dû au fait que la diffusion vient d'être créée. Veuillez réessayer dans quelques secondes.
forbidden (403) closedCaptionsTypeModificationNotAllowed La valeur contentDetails.closedCaptionsType ne peut être modifiée que lorsque la diffusion est à l'état created ou ready.
forbidden (403) monetizationDetailsModificationNotAllowed Les chaînes qui ne font pas partie du Programme Partenaire YouTube ne peuvent pas modifier monetizationDetails pour une vidéo.
forbidden (403) pauseAdsUntilModificationNotAllowed Le champ pauseAdsUntil ne peut pas être modifié. Cette erreur peut se produire pour les raisons suivantes :
  • Le champ monetizationDetails.cuepointSchedule.enabled n'est pas défini sur true. Ce champ ne peut être défini qu'à l'aide de YouTube Studio.
  • La diffusion n'est pas en direct.
forbidden (403) enableAutoStartModificationNotAllowed La valeur contentDetails.enableAutoStart ne peut être modifiée que lorsque le flux est inactif et que la diffusion est à l'état created ou ready.
forbidden (403) enableClosedCaptionsModificationNotAllowed La valeur contentDetails.enableClosedCaptions ne peut être modifiée que lorsque l'état de la diffusion est created ou ready.
forbidden (403) enableDvrModificationNotAllowed La valeur contentDetails.enableDvr ne peut être modifiée que lorsque l'état de la diffusion est created ou ready.
forbidden (403) enableMonitorStreamModificationNotAllowed La valeur contentDetails.monitorStream.enableMonitorStream ne peut être modifiée que lorsque l'état de la diffusion est created ou ready.
forbidden (403) recordFromStartModificationNotAllowed La valeur contentDetails.recordFromStart ne peut être modifiée que lorsque l'état de la diffusion est created ou ready.
insufficientPermissions insufficientLivePermissions La requête n'est pas autorisée à mettre à jour la diffusion en direct spécifiée. Pour en savoir plus, consultez Implémenter l'authentification OAuth2.
insufficientPermissions liveStreamingNotEnabled L'utilisateur qui a autorisé la requête n'est pas autorisé à diffuser des vidéos en direct sur YouTube. Pour en savoir plus, il peut consulter https://www.youtube.com/features.
invalidArgument missingAdsMonetizationStatus ads_monetization_status doit être spécifié comme ON ou OFF.
invalidValue (400) invalidAutoStart La ressource liveBroadcast contenait une valeur non valide pour la propriété contentDetails.enableAutoStart. Vous ne pouvez pas modifier le paramètre enableAutoStart pour une diffusion persistante.
invalidValue (400) invalidAutoStop La ressource liveBroadcast contenait une valeur non valide pour la propriété contentDetails.enableAutoStop. Vous ne pouvez pas modifier le enableAutoStop paramètre pour une diffusion persistante.
invalidValue (400) invalidDescription La ressource liveBroadcast n'a pas spécifié de valeur valide pour la propriété snippet.description. snippet.description peut contenir jusqu'à 5 000 caractères.
invalidValue (400) invalidEmbedSetting La ressource liveBroadcast contenait une valeur non valide pour la propriété contentDetails.enable_embed. Vous ne pouvez pas intégrer cette diffusion.
invalidValue (400) invalidEnableClosedCaptions Dans la ressource liveBroadcast, la valeur de la propriété contentDetails.enableClosedCaptions est incompatible avec la valeur du paramètre contentDetails.closedCaptionType. Modifiez la ressource pour n'inclure que l'une des deux propriétés, puis renvoyez la requête.
invalidValue (400) invalidLatencyPreferenceOptions La ressource liveBroadcast contenait une valeur non valide pour la propriété contentDetails.latencyPreference. Tous les paramètres ne sont pas compatibles avec cette préférence de latence.
invalidValue (400) invalidEligibleForAdsMonetization eligible_for_ads_monetization est en lecture seule et ne peut pas être spécifié dans le champ monetization_details.
invalidValue (400) invalidCuepointSchedule La ressource liveBroadcast contient une valeur non valide pour la monetizationDetails.cuepointSchedule propriété. Cette erreur peut se produire pour les raisons suivantes :
  • cuepoint_schedule ne peut pas être spécifié si ads_monetization_status est OFF.
  • cuepoint_schedule doit être spécifié si ads_monetization_status est ON.
cuepoint_schedule ne peut pas être spécifié si ads_monetization_status est OFF.
invalidValue (400) invalidEnabled La ressource liveBroadcast contient une valeur non valide ou en conflit pour la propriété monetizationDetails.cuepointSchedule.enabled. Cette erreur peut se produire pour les raisons suivantes :
  • enabled doit être spécifié dans le champ cuepoint_schedule.
  • pause_ads_until, yt_optimized_cuepoint_config ou creator_cuepoint_config ne peuvent pas être spécifiés si enabled est "false".
  • Seul l'un des éléments yt_optimized_cuepoint_config et creator_cuepoint_config peut être spécifié si enabled est "true".
invalidValue (400) invalidCreatorCuepointConfig Vous devez spécifier schedule_strategy et repeat_interval_secs.
invalidValue (400) invalidRepeatIntervalSecs La valeur de la propriété repeat_interval_secs doit être comprise entre 360 et 3 600.
invalidValue (400) invalidPauseAdsUntil La ressource liveBroadcast contient une valeur non valide pour la monetizationDetails.cuepointSchedule.pauseAdsUntil propriété. Cette erreur peut se produire pour les raisons suivantes :
  • La valeur monetizationDetails.cuepointSchedule.pauseAdsUntil n'est pas spécifiée au format ISO 8601 (AAAA-MM-JJThh:mm:ss.sZ).
  • La valeur monetizationDetails.cuepointSchedule.pauseAdsUntil n'est pas dans le futur.
  • La valeur monetizationDetails.cuepointSchedule.pauseAdsUntil est supérieure à 10 minutes par rapport à l'heure actuelle.
invalidValue (400) invalidPrivacyStatus La ressource liveBroadcast n'a pas spécifié d'état de confidentialité valide. Consultez les valeurs privacyStatus valides.
invalidValue (400) invalidProjection La ressource liveBroadcast contenait une valeur non valide pour la propriété contentDetails.projection. La projection d'une diffusion persistante ne peut pas être définie sur 360.
invalidValue (400) invalidScheduledEndTime La ressource liveBroadcast contenait une valeur non valide pour la propriété snippet.scheduledEndTime. L'heure de fin programmée doit être postérieure à l'heure de début programmée.
invalidValue (400) invalidScheduledStartTime La ressource liveBroadcast contenait une valeur non valide pour la propriété snippet.scheduledStartTime. L'heure de début programmée doit être dans le futur.
invalidValue (400) invalidTitle La ressource liveBroadcast n'a pas spécifié de valeur valide pour la propriété snippet.title. snippet.title doit comporter entre 1 et 100 caractères.
notFound (404) liveBroadcastNotFound La propriété id spécifiée dans la ressource liveBroadcast n'a pas identifié de diffusion.
preconditionFailed (412) videoNotEligibleForAdsMonetization La vidéo n'est pas éligible à la monétisation par les annonces. Cela peut se produire si la chaîne n'est pas éligible à la monétisation.
required (400) broadcastStreamDelayMsRequired La ressource liveBroadcast n'a pas spécifié la propriété contentDetails.monitorStream.broadcastStreamDelayMs.
required (400) enableMonitorStreamRequired La ressource liveBroadcast n'a pas spécifié la propriété contentDetails.monitorStream.enableMonitorStream.
required (400) idRequired La ressource liveBroadcast doit inclure et spécifier une valeur pour la propriété id.
required (400) scheduledEndTimeRequired La ressource liveBroadcast n'a pas spécifié la propriété snippet.scheduledEndTime.
required (400) scheduledStartTimeRequired La ressource liveBroadcast n'a pas spécifié la propriété snippet.scheduledStartTime.

Essayer

Utilisez l'APIs Explorer pour appeler cette API et afficher la requête et la réponse de l'API.