LiveBroadcasts: update

Aggiorna una trasmissione. Ad esempio, puoi modificare le impostazioni di trasmissione definite nell'oggetto contentDetails della risorsa liveBroadcast.

Casi d'uso comuni

Richiesta

Richiesta HTTP

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

Autorizzazione

Questa richiesta richiede l'autorizzazione con almeno uno dei seguenti ambiti. Per saperne di più sull'autenticazione e sull'autorizzazione, consulta Implementare l'autorizzazione OAuth 2.0.

Ambito
https://www.googleapis.com/auth/youtube
https://www.googleapis.com/auth/youtube.force-ssl

Parametri

La tabella seguente elenca i parametri supportati da questa query. Tutti i parametri elencati sono parametri di query.

Parametri
Parametri obbligatori
part string
Il parametro part ha due scopi in questa operazione. Identifica le proprietà che l'operazione di scrittura imposterà, nonché le proprietà che la risposta dell'API includerà.

Le part proprietà che puoi includere nel valore parametro sono id, snippet, contentDetails, monetizationDetails e status.

Tieni presente che questo metodo sostituirà i valori esistenti per tutte le proprietà modificabili contenute in tutte le parti specificate dal valore parametro. Ad esempio, lo stato della privacy di una trasmissione è definito nella parte status. Pertanto, se la richiesta aggiorna una trasmissione privata o non in elenco e il valore parametro part della richiesta include la parte status, l'impostazione della privacy della trasmissione verrà aggiornata al valore specificato nel corpo della richiesta. Se il corpo della richiesta non specifica un valore, l'impostazione della privacy esistente verrà rimossa e la trasmissione tornerà all'impostazione della privacy predefinita.
Parametri facoltativi
onBehalfOfContentOwner string
Questo parametro può essere utilizzato solo in una richiesta autorizzata correttamente.
Nota: questo parametro è destinato esclusivamente ai partner di contenuti di YouTube.

Il parametro onBehalfOfContentOwner indica che le credenziali di autorizzazione della richiesta identificano un utente del sistema di gestione dei contenuti (CMS) di YouTube che agisce per conto del proprietario dei contenuti specificato nel valore del parametro. Questo parametro è destinato ai partner di contenuti di YouTube che possiedono e gestiscono molti canali YouTube diversi. Consente ai proprietari dei contenuti di autenticarsi una sola volta e di accedere a tutti i dati dei video e dei canali, senza dover fornire le credenziali di autenticazione per ogni singolo canale. L'account CMS con cui l'utente esegue l'autenticazione deve essere collegato al proprietario dei contenuti di YouTube specificato.
onBehalfOfContentOwnerChannel string
Questo parametro può essere utilizzato solo in una richiesta autorizzata correttamente.
Nota: questo parametro è destinato esclusivamente ai partner di contenuti di YouTube.

Il parametro onBehalfOfContentOwnerChannel specifica l'ID del canale YouTube a cui viene aggiunto un video. Questo parametro è obbligatorio quando una richiesta specifica un valore per il parametro onBehalfOfContentOwner e può essere utilizzato solo in combinazione con questo parametro. Inoltre, la richiesta deve essere autorizzata utilizzando un account CMS collegato al proprietario dei contenuti specificato dal parametro onBehalfOfContentOwner. Infine, il canale specificato dal valore del parametro onBehalfOfContentOwnerChannel deve essere collegato al proprietario dei contenuti specificato dal parametro onBehalfOfContentOwner.

Questo parametro è destinato ai partner di contenuti di YouTube che possiedono e gestiscono molti canali YouTube diversi. Consente ai proprietari dei contenuti di autenticarsi una sola volta ed eseguire azioni per conto del canale specificato nel valore del parametro, senza dover fornire le credenziali di autenticazione per ogni canale separato.

Corpo della richiesta

Fornisci una risorsa liveBroadcast nel corpo della richiesta. Per questa risorsa:

  • Devi specificare un valore per queste proprietà:

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

  • Puoi impostare i valori per queste proprietà:

    • 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

    Se invii una richiesta di aggiornamento e la richiesta non specifica un valore per una proprietà che ne ha già uno, il valore esistente della proprietà verrà eliminato.

Risposta

Se l'operazione ha esito positivo, questo metodo restituisce una risorsa liveBroadcast nel corpo della risposta.

Errori

La tabella seguente identifica i messaggi di errore che l'API potrebbe restituire in risposta a una chiamata a questo metodo. Per maggiori dettagli, consulta il messaggio di errore.

Tipo di errore Dettagli errore Descrizione
backendError (503) backendError Alcune impostazioni non possono essere applicate. Il motivo è probabilmente che la trasmissione è stata appena creata. Riprova tra qualche secondo.
forbidden (403) closedCaptionsTypeModificationNotAllowed Il valore contentDetails.closedCaptionsType può essere modificato solo quando la trasmissione è nello stato created o ready.
forbidden (403) monetizationDetailsModificationNotAllowed I canali che non fanno parte del Programma partner di YouTube (YPP) non possono modificare monetizationDetails per un video.
forbidden (403) pauseAdsUntilModificationNotAllowed Il campo pauseAdsUntil non può essere modificato. Questo errore può verificarsi per i seguenti motivi:
  • Il campo monetizationDetails.cuepointSchedule.enabled non è impostato su true. Questo campo può essere impostato solo utilizzando YouTube Studio.
  • La trasmissione non è in diretta.
forbidden (403) enableAutoStartModificationNotAllowed Il valore contentDetails.enableAutoStart può essere modificato solo quando lo stream è inattivo e la trasmissione è nello stato created o ready.
forbidden (403) enableClosedCaptionsModificationNotAllowed Il valore contentDetails.enableClosedCaptions può essere modificato solo quando lo stato della trasmissione è created o ready.
forbidden (403) enableDvrModificationNotAllowed Il valore contentDetails.enableDvr può essere modificato solo quando lo stato della trasmissione è created o ready.
forbidden (403) enableMonitorStreamModificationNotAllowed Il valore contentDetails.monitorStream.enableMonitorStream può essere modificato solo quando lo stato della trasmissione è created o ready.
forbidden (403) recordFromStartModificationNotAllowed Il valore contentDetails.recordFromStart può essere modificato solo quando lo stato della trasmissione è created o ready.
insufficientPermissions insufficientLivePermissions La richiesta non è autorizzata ad aggiornare la trasmissione live specificata. Per saperne di più, consulta Implementare l'autenticazione OAuth2.
insufficientPermissions liveStreamingNotEnabled L'utente che ha autorizzato la richiesta non è abilitato a trasmettere video in diretta su YouTube. L'utente può trovare ulteriori informazioni all'indirizzo https://www.youtube.com/features.
invalidArgument missingAdsMonetizationStatus ads_monetization_status deve essere specificato come ON o OFF.
invalidValue (400) invalidAutoStart La risorsa liveBroadcast conteneva un valore non valido per la proprietà contentDetails.enableAutoStart. Non puoi modificare l'impostazione enableAutoStart per una trasmissione permanente.
invalidValue (400) invalidAutoStop La risorsa liveBroadcast conteneva un valore non valido per la proprietà contentDetails.enableAutoStop. Non puoi modificare l'impostazione enableAutoStop per una trasmissione permanente.
invalidValue (400) invalidDescription La risorsa liveBroadcast non ha specificato un valore valido per la proprietà snippet.description. snippet.description può contenere fino a 5000 caratteri.
invalidValue (400) invalidEmbedSetting La risorsa liveBroadcast conteneva un valore non valido per la proprietà contentDetails.enable_embed. Non puoi incorporare questa trasmissione.
invalidValue (400) invalidEnableClosedCaptions Nella risorsa liveBroadcast, il valore della proprietà contentDetails.enableClosedCaptions non è compatibile con il valore dell'impostazione contentDetails.closedCaptionType. Modifica la risorsa in modo da includere solo una delle due proprietà, quindi invia di nuovo la richiesta.
invalidValue (400) invalidLatencyPreferenceOptions La risorsa liveBroadcast conteneva un valore non valido per la proprietà contentDetails.latencyPreference. Non tutte le impostazioni sono supportate con questa preferenza di latenza.
invalidValue (400) invalidEligibleForAdsMonetization eligible_for_ads_monetization è di sola lettura e non può essere specificato nel campo monetization_details.
invalidValue (400) invalidCuepointSchedule La risorsa liveBroadcast contiene un valore non valido per la monetizationDetails.cuepointSchedule proprietà. Questo errore può verificarsi per i seguenti motivi:
  • cuepoint_schedule non può essere specificato se ads_monetization_status è OFF.
  • cuepoint_schedule deve essere specificato se ads_monetization_status è ON.
cuepoint_schedule non può essere specificato se ads_monetization_status è OFF.
invalidValue (400) invalidEnabled La risorsa liveBroadcast contiene un valore non valido o in conflitto per la proprietà monetizationDetails.cuepointSchedule.enabled. Questo errore può verificarsi per i seguenti motivi:
  • enabled deve essere specificato nel campo cuepoint_schedule.
  • pause_ads_until, yt_optimized_cuepoint_config o creator_cuepoint_config non possono essere specificati se enabled è false.
  • Se enabled è true, è possibile specificare solo uno tra yt_optimized_cuepoint_config e creator_cuepoint_config.
invalidValue (400) invalidCreatorCuepointConfig Devi specificare sia schedule_strategy che repeat_interval_secs.
invalidValue (400) invalidRepeatIntervalSecs Il valore della proprietà repeat_interval_secs deve essere compreso nell'intervallo [360, 3600].
invalidValue (400) invalidPauseAdsUntil La risorsa liveBroadcast contiene un valore non valido per la monetizationDetails.cuepointSchedule.pauseAdsUntil proprietà. Questo errore può verificarsi per i seguenti motivi:
  • Il valore monetizationDetails.cuepointSchedule.pauseAdsUntil non è specificato nel formato ISO 8601 (AAAA-MM-GGThh:mm:ss.sZ).
  • Il valore monetizationDetails.cuepointSchedule.pauseAdsUntil non è nel futuro.
  • Il valore monetizationDetails.cuepointSchedule.pauseAdsUntil è più di 10 minuti rispetto all'ora attuale.
invalidValue (400) invalidPrivacyStatus La risorsa liveBroadcast non ha specificato uno stato della privacy valido. Consulta i valori validi privacyStatus.
invalidValue (400) invalidProjection La risorsa liveBroadcast conteneva un valore non valido per la proprietà contentDetails.projection. La proiezione di una trasmissione permanente non può essere impostata su 360.
invalidValue (400) invalidScheduledEndTime La risorsa liveBroadcast conteneva un valore non valido per la proprietà snippet.scheduledEndTime. L'ora di fine programmata deve seguire l'ora di inizio programmata.
invalidValue (400) invalidScheduledStartTime La risorsa liveBroadcast conteneva un valore non valido per la proprietà snippet.scheduledStartTime. L'ora di inizio programmata deve essere nel futuro.
invalidValue (400) invalidTitle La risorsa liveBroadcast non ha specificato un valore valido per la proprietà snippet.title. snippet.title deve avere una lunghezza compresa tra 1 e 100 caratteri.
notFound (404) liveBroadcastNotFound La proprietà id specificata nella risorsa liveBroadcast non ha identificato una trasmissione.
preconditionFailed (412) videoNotEligibleForAdsMonetization Il video non è idoneo alla monetizzazione con gli annunci. Questo può accadere se il canale non è idoneo alla monetizzazione.
required (400) broadcastStreamDelayMsRequired La risorsa liveBroadcast non ha specificato la proprietà contentDetails.monitorStream.broadcastStreamDelayMs.
required (400) enableMonitorStreamRequired La risorsa liveBroadcast non ha specificato la proprietà contentDetails.monitorStream.enableMonitorStream.
required (400) idRequired La risorsa liveBroadcast deve includere e specificare un valore per la proprietà id.
required (400) scheduledEndTimeRequired La risorsa liveBroadcast non ha specificato la proprietà snippet.scheduledEndTime.
required (400) scheduledStartTimeRequired La risorsa liveBroadcast non ha specificato la proprietà snippet.scheduledStartTime.

Prova

Utilizza APIs Explorer per chiamare questa API e visualizzare la richiesta API e la risposta.