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.

Portée
https://www.googleapis.com/auth/youtube
https://www.googleapis.com/auth/youtube.force-ssl

Paramètres

Le tableau suivant présente 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 fonctions dans cette opération. Elle identifie les propriétés que l'opération d'écriture définira, ainsi que les propriétés que la réponse de l'API inclura.

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

Notez que cette méthode remplacera les valeurs existantes pour toutes les propriétés modifiables contenues dans les parties spécifiées par la valeur du 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 sera mis à jour en fonction de la valeur spécifiée dans le corps de la requête. Si aucune valeur n'est spécifiée dans le corps de la requête, le paramètre de confidentialité existant est supprimé et le paramètre de confidentialité par défaut est appliqué à la diffusion.
Paramètres facultatifs
onBehalfOfContentOwner string
Ce paramètre ne peut être utilisé que dans une requête autorisée appropriée.
Remarque:Ce paramètre est destiné exclusivement aux partenaires de contenus 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 de contenu spécifié dans la valeur du paramètre. Ce paramètre est destiné aux partenaires de contenus YouTube qui possèdent et gèrent de nombreuses chaînes YouTube différentes. Il permet aux propriétaires de contenus de s'authentifier une seule fois et d'accéder à toutes leurs données vidéo et de chaîne, 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 de contenu YouTube spécifié.
onBehalfOfContentOwnerChannel string
Ce paramètre ne peut être utilisé que dans une requête autorisée appropriée.
Remarque:Ce paramètre est destiné exclusivement aux partenaires de contenus YouTube.

Le paramètre onBehalfOfContentOwnerChannel 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. Il ne peut être utilisé qu'avec ce paramètre. En outre, la demande doit être autorisée à l'aide d'un compte CMS associé au propriétaire de 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 contenus 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 du canal spécifié dans la valeur du paramètre, sans avoir à fournir d'identifiants d'authentification pour chaque canal distinct.

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 les propriétés suivantes:

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

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

    • 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 vous envoyez une demande de mise à jour et qu'elle ne spécifie pas de valeur pour une propriété ayant déjà une valeur, la valeur existante de la propriété sera 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
forbidden (403) closedCaptionsTypeModificationNotAllowed La valeur contentDetails.closedCaptionsType ne peut être modifiée que lorsque la diffusion est à l'état created ou ready.
forbidden (403) enabledModificationNotAllowed Le champ enabled est en lecture seule.
forbidden (403) scheduleStrategyModificationNotAllowed Le champ scheduleStrategy est en lecture seule.
forbidden (403) repeatIntervalSecsModificationNotAllowed Le champ repeatIntervalSecs est en lecture seule.
forbidden (403) pauseAdsUntilModificationNotAllowed Impossible de modifier le champ pauseAdsUntil. 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 que dans YouTube Studio.
  • La diffusion n'est pas en ligne.
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 l'annonce est created ou ready.
forbidden (403) enableDvrModificationNotAllowed La valeur contentDetails.enableDvr ne peut être modifiée que lorsque l'état de l'annonce 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 l'annonce est created ou ready.
insufficientPermissions insufficientLivePermissions La demande de mise à jour de la diffusion en direct spécifiée n'est pas autorisé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, consultez la page https://www.youtube.com/features.
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 d'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 paramètre enableAutoStop 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 qu'une seule 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) invalidPauseAdsUntil La ressource liveBroadcast contient une valeur non valide pour la propriété monetizationDetails.cuepointSchedule.pauseAdsUntil. 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 éloignée de plus de 10 minutes de 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 contient 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 contient une valeur non valide pour la propriété snippet.scheduledEndTime. L'heure de fin prévue doit suivre l'heure de début prévue.
invalidValue (400) invalidScheduledStartTime La ressource liveBroadcast contient une valeur non valide pour la propriété snippet.scheduledStartTime. L'heure de début programmée doit être située 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 de diffusion en direct n'a pas identifié de diffusion.
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 APIs Explorer pour appeler cette API et afficher la requête et la réponse de l'API.