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

Une autorisation est requise pour cette requête. Celle-ci doit inclure au moins l'un des champs d'application suivants. En savoir plus sur le processus d'authentification et d'autorisation

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 répertoriés sont des paramètres de requête.

Paramètres
Paramètres obligatoires
part string
Le paramètre part a deux finalités 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 selon la valeur spécifiée par le corps de la requête. Si le corps de la requête n'indique aucune valeur, le paramètre de confidentialité existant sera supprimé et le paramètre de confidentialité par défaut de la diffusion sera rétabli.
Paramètres facultatifs
onBehalfOfContentOwner string
Ce paramètre ne peut être utilisé que dans une demande autorisée correctement. Remarque:Ce paramètre est destiné exclusivement aux partenaires de contenu YouTube.

Le paramètre onBehalfOfContentOwner indique que les identifiants d'autorisation de la demande identifient un utilisateur du 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 contenu YouTube qui possèdent et gèrent un grand nombre de chaînes YouTube. Il permet aux propriétaires de contenu de s'authentifier une seule fois et d'accéder à toutes les données de leurs vidéos et de leur 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 demande autorisée correctement. Ce paramètre ne peut être utilisé que dans une demande autorisée correctement. Remarque:Ce paramètre est destiné exclusivement aux partenaires de contenu YouTube.

Le paramètre onBehalfOfContentOwnerChannel spécifie l'ID de la chaîne YouTube à laquelle la 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 indiquée par le paramètre onBehalfOfContentOwnerChannel doit être associée au propriétaire de contenu indiqué 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. 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 du paramètre, sans avoir à fournir d'identifiants d'authentification pour chaque canal.

Corps de la requête

Indiquez 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.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é qui en possède déjà une, la valeur existante de la propriété sera supprimée.

Réponse

Lorsque cette méthode fonctionne, elle 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 la documentation sur les messages d'erreur.

Type d'erreur Détails 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 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 demande n'est pas autorisé à diffuser de la vidéo en direct sur YouTube. Pour en savoir plus, l'utilisateur peut consulter la page https://www.youtube.com/features.
invalidValue (400) invalidAutoStart La ressource liveBroadcast contient 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 contient 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" contient 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 celle du paramètre contentDetails.closedCaptionType. Modifiez la ressource pour n'inclure qu'une des deux propriétés, puis renvoyez la demande.
invalidValue (400) invalidLatencyPreferenceOptions La ressource liveBroadcast contient 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 postérieure à la date du jour.
  • La valeur monetizationDetails.cuepointSchedule.pauseAdsUntil est éloignée 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 être postérieure à 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 prévue 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 liveBroadcast 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.