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 correspondant à 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 utilité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 de 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 demande 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 l'annonce sera mis à jour avec 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 sera supprimé, et le paramètre de confidentialité par défaut sera rétabli pour la diffusion.
Paramètres facultatifs
onBehalfOfContentOwner
string Ce paramètre ne peut être utilisé que dans une demande 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 demande identifient un utilisateur du système de gestion de contenu (CMS) YouTube agissant pour le compte 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 de nombreuses chaînes YouTube différentes. Elle permet aux propriétaires de contenu de s'authentifier une 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 correctement autorisée.
Remarque:Ce paramètre est destiné exclusivement aux partenaires de contenu YouTube.

Le paramètre onBehalfOfContentOwnerChannel indique 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 spécifiée par la valeur du paramètre onBehalfOfContentOwnerChannel doit être associée au propriétaire de 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 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 chaîne.

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 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

Lorsque cette méthode fonctionne, elle renvoie une ressource liveBroadcast dans le corps de 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 section Message 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 l'état de l'annonce est 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 l'état de la diffusion est 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 l'annonce 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 demande n'est pas autorisé à diffuser des vidéos 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. Toi ne peut 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 n'est pas compatible 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 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 incorrecte pour le paramètre 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 située dans le futur.
  • 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 programmée doit être identique à 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 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.