LiveBroadcasts: update

Aktualizuje transmisję. Możesz na przykład zmienić ustawienia transmisji zdefiniowane w obiekcie contentDetails zasobu liveBroadcast.

Częste zastosowania

Żądanie

Żądanie HTTP

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

Autoryzacja

To żądanie wymaga autoryzacji z co najmniej jednym z tych zakresów. Więcej informacji o uwierzytelnianiu i autoryzacji znajdziesz w artykule Implementowanie autoryzacji OAuth 2.0.

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

Parametry

W tabeli poniżej znajdziesz parametry obsługiwane przez to zapytanie. Wszystkie wymienione parametry to parametry zapytania.

Parametry
Parametry wymagane
part string
Parametr part pełni w tej operacji 2 funkcje. Określa właściwości, które zostaną ustawione przez operację zapisu, oraz właściwości, które będą uwzględnione w odpowiedzi interfejsu API.

Wartościami parametru part mogą być te właściwości: id, snippet, contentDetails, monetizationDetails i status.

Pamiętaj, że ta metoda zastąpi dotychczasowe wartości wszystkich modyfikowalnych właściwości zawartych w częściach określonych przez wartość parametru. Na przykład stan prywatności transmisji jest zdefiniowany w części status. Jeśli więc żądanie aktualizuje transmisję prywatną lub niepubliczną, a wartość parametru part żądania zawiera część status, ustawienie prywatności transmisji zostanie zaktualizowane do wartości określonej w treści żądania. Jeśli treść żądania nie zawiera wartości, dotychczasowe ustawienie prywatności zostanie usunięte, a transmisja powróci do domyślnego ustawienia prywatności.
Parametry opcjonalne
onBehalfOfContentOwner string
Ten parametr można używać tylko w prawidłowo autoryzowanym żądaniu.
Uwaga: ten parametr jest przeznaczony wyłącznie dla partnerów YouTube zajmujących się treściami.

Parametr onBehalfOfContentOwner wskazuje, że dane uwierzytelniające żądania identyfikują użytkownika systemu zarządzania treścią (CMS) YouTube, który działa w imieniu właściciela treści określonego w wartości parametru. Ten parametr jest przeznaczony dla partnerów YouTube zajmujących się treściami, którzy są właścicielami wielu różnych kanałów YouTube i nimi zarządzają. Umożliwia on właścicielom treści jednorazowe uwierzytelnienie i uzyskanie dostępu do wszystkich danych dotyczących filmów i kanałów bez konieczności podawania danych uwierzytelniających dla każdego kanału. Konto CMS, za pomocą którego użytkownik się uwierzytelnia, musi być połączone z określonym właścicielem treści w YouTube.
onBehalfOfContentOwnerChannel string
Ten parametr można używać tylko w prawidłowo autoryzowanym żądaniu.
Uwaga: ten parametr jest przeznaczony wyłącznie dla partnerów YouTube zajmujących się treściami.

Parametr onBehalfOfContentOwnerChannel określa identyfikator kanału YouTube, do którego dodawany jest film. Ten parametr jest wymagany, gdy żądanie określa wartość parametru onBehalfOfContentOwner, i można go używać tylko w połączeniu z tym parametrem. Ponadto żądanie musi być autoryzowane za pomocą konta CMS połączonego z właścicielem treści określonym w parametrze onBehalfOfContentOwner. Na koniec kanał określony w wartości parametru onBehalfOfContentOwnerChannel musi być połączony z właścicielem treści określonym w parametrze onBehalfOfContentOwner.

Ten parametr jest przeznaczony dla partnerów YouTube zajmujących się treściami, którzy są właścicielami wielu różnych kanałów YouTube i nimi zarządzają. Umożliwia on właścicielom treści jednorazowe uwierzytelnienie i wykonywanie działań w imieniu kanału określonego w wartości parametru bez konieczności podawania danych uwierzytelniających dla każdego kanału.

Treść żądania

W treści żądania podaj zasób liveBroadcast. W przypadku tego zasobu:

  • Musisz określić wartość tych właściwości:

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

  • Możesz ustawić wartości tych właściwości:

    • 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

    Jeśli przesyłasz żądanie aktualizacji i nie określisz w nim wartości właściwości, która już ma wartość, dotychczasowa wartość tej właściwości zostanie usunięta.

Odpowiedź

Jeśli operacja się uda, ta metoda zwróci w treści odpowiedzi zasób liveBroadcast.

Błędy

W tabeli poniżej znajdziesz komunikaty o błędach, które interfejs API może zwrócić w odpowiedzi na wywołanie tej metody. Więcej informacji znajdziesz w komunikacie o błędzie.

Typ błędu Szczegóły błędu Opis
backendError (503) backendError Niektórych ustawień nie można jeszcze zastosować. Prawdopodobnie transmisja została dopiero utworzona. Spróbuj ponownie za kilka sekund.
forbidden (403) closedCaptionsTypeModificationNotAllowed Wartość contentDetails.closedCaptionsType można modyfikować tylko wtedy, gdy transmisja ma stan created lub ready.
forbidden (403) monetizationDetailsModificationNotAllowed Kanały, które nie należą do programu partnerskiego YouTube (YPP), nie mogą modyfikować właściwości monetizationDetails filmu.
forbidden (403) pauseAdsUntilModificationNotAllowed Pola pauseAdsUntil nie można modyfikować. Ten błąd może wystąpić z tych powodów:
  • Pole monetizationDetails.cuepointSchedule.enabled nie jest ustawione na true. To pole można ustawić tylko w YouTube Studio.
  • Transmisja nie jest aktywna.
forbidden (403) enableAutoStartModificationNotAllowed Wartość contentDetails.enableAutoStart można modyfikować tylko wtedy, gdy strumień jest nieaktywny, a transmisja ma stan created lub ready.
forbidden (403) enableClosedCaptionsModificationNotAllowed Wartość contentDetails.enableClosedCaptions można modyfikować tylko wtedy, gdy transmisja ma stan created lub ready.
forbidden (403) enableDvrModificationNotAllowed Wartość contentDetails.enableDvr można modyfikować tylko wtedy, gdy transmisja ma stan created lub ready.
forbidden (403) enableMonitorStreamModificationNotAllowed Wartość contentDetails.monitorStream.enableMonitorStream można modyfikować tylko wtedy, gdy transmisja ma stan created lub ready.
forbidden (403) recordFromStartModificationNotAllowed Wartość contentDetails.recordFromStart można modyfikować tylko wtedy, gdy transmisja ma stan created lub ready.
insufficientPermissions insufficientLivePermissions Żądanie nie ma uprawnień do aktualizowania określonej transmisji na żywo. Więcej informacji znajdziesz w artykule Implementowanie uwierzytelniania OAuth2.
insufficientPermissions liveStreamingNotEnabled Użytkownik, który autoryzował żądanie, nie ma uprawnień do transmitowania obrazu na żywo w YouTube. Więcej informacji znajdzie na stronie https://www.youtube.com/features.
invalidArgument missingAdsMonetizationStatus ads_monetization_status musi mieć wartość ON lub OFF.
invalidValue (400) invalidAutoStart Zasób liveBroadcast zawierał nieprawidłową wartość właściwości contentDetails.enableAutoStart. Nie możesz modyfikować ustawienia enableAutoStart w przypadku transmisji stałej.
invalidValue (400) invalidAutoStop Zasób liveBroadcast zawierał nieprawidłową wartość właściwości contentDetails.enableAutoStop. Nie nie możesz modyfikować ustawienia enableAutoStop w przypadku transmisji stałej.
invalidValue (400) invalidDescription Zasób liveBroadcast nie zawierał prawidłowej wartości właściwości snippet.description. snippet.description może zawierać maksymalnie 5000 znaków.
invalidValue (400) invalidEmbedSetting Zasób liveBroadcast zawierał nieprawidłową wartość właściwości contentDetails.enable_embed. Nie możesz osadzić tej transmisji.
invalidValue (400) invalidEnableClosedCaptions W zasobie liveBroadcast wartość właściwości contentDetails.enableClosedCaptions jest niezgodna z wartością ustawienia contentDetails.closedCaptionType. Zmodyfikuj zasób tak, aby zawierał tylko jedną z tych 2 właściwości, a następnie prześlij żądanie ponownie.
invalidValue (400) invalidLatencyPreferenceOptions Zasób liveBroadcast zawierał nieprawidłową wartość właściwości contentDetails.latencyPreference. Nie wszystkie ustawienia są obsługiwane w przypadku tego ustawienia czasu.
invalidValue (400) invalidEligibleForAdsMonetization eligible_for_ads_monetization jest polem tylko do odczytu i nie można go określić w polu monetization_details.
invalidValue (400) invalidCuepointSchedule Zasób liveBroadcast zawiera nieprawidłową wartość właściwości monetizationDetails.cuepointSchedule. Ten błąd może wystąpić z tych powodów:
  • Nie można określić cuepoint_schedule, jeśli ads_monetization_status ma wartość OFF.
  • Jeśli ads_monetization_status ma wartość ON, należy określić cuepoint_schedule.
Nie można określić cuepoint_schedule, jeśli ads_monetization_status ma wartość OFF.
invalidValue (400) invalidEnabled Zasób liveBroadcast zawiera nieprawidłową lub sprzeczną wartość właściwości monetizationDetails.cuepointSchedule.enabled. Ten błąd może wystąpić z tych powodów:
  • W polu cuepoint_schedule należy określić enabled.
  • Jeśli enabled ma wartość false, nie można określić pause_ads_until, yt_optimized_cuepoint_config ani creator_cuepoint_config.
  • Jeśli enabled ma wartość true, można określić tylko jedną z tych właściwości: yt_optimized_cuepoint_config lub creator_cuepoint_config.
invalidValue (400) invalidCreatorCuepointConfig Musisz określić zarówno schedule_strategy, jak i repeat_interval_secs.
invalidValue (400) invalidRepeatIntervalSecs Wartość właściwości repeat_interval_secs musi mieścić się w zakresie [360, 3600].
invalidValue (400) invalidPauseAdsUntil Zasób liveBroadcast zawiera nieprawidłową wartość właściwości monetizationDetails.cuepointSchedule.pauseAdsUntil. Ten błąd może wystąpić z tych powodów:
  • Wartość monetizationDetails.cuepointSchedule.pauseAdsUntil nie jest podana w formacie ISO 8601 (RRRR-MM-DDTgg:mm:ss.sZ).
  • Wartość monetizationDetails.cuepointSchedule.pauseAdsUntil nie przypada w przyszłości.
  • Wartość monetizationDetails.cuepointSchedule.pauseAdsUntil jest oddalona o więcej niż 10 minut od bieżącego czasu.
invalidValue (400) invalidPrivacyStatus Zasób liveBroadcast nie zawierał prawidłowego stanu prywatności. Zobacz prawidłowe wartości privacyStatus.
invalidValue (400) invalidProjection Zasób liveBroadcast zawierał nieprawidłową wartość właściwości contentDetails.projection. Projekcji transmisji stałej nie można ustawić na 360.
invalidValue (400) invalidScheduledEndTime Zasób liveBroadcast zawierał nieprawidłową wartość właściwości snippet.scheduledEndTime. Zaplanowany czas zakończenia musi być późniejszy niż zaplanowany czas rozpoczęcia.
invalidValue (400) invalidScheduledStartTime Zasób liveBroadcast zawierał nieprawidłową wartość właściwości snippet.scheduledStartTime. Zaplanowany czas rozpoczęcia musi przypadać w przyszłości.
invalidValue (400) invalidTitle Zasób liveBroadcast nie zawierał prawidłowej wartości właściwości snippet.title. snippet.title musi mieć od 1 do 100 znaków.
notFound (404) liveBroadcastNotFound Właściwość id określona w zasobie liveBroadcast nie identyfikowała transmisji.
preconditionFailed (412) videoNotEligibleForAdsMonetization Film nie kwalifikuje się do zarabiania na reklamach. Może się tak zdarzyć, jeśli kanał nie kwalifikuje się do zarabiania.
required (400) broadcastStreamDelayMsRequired Zasób liveBroadcast nie zawierał właściwości contentDetails.monitorStream.broadcastStreamDelayMs.
required (400) enableMonitorStreamRequired Zasób liveBroadcast nie zawierał właściwości contentDetails.monitorStream.enableMonitorStream.
required (400) idRequired Zasób liveBroadcast musi zawierać właściwość id i określać jej wartość.
required (400) scheduledEndTimeRequired Zasób liveBroadcast nie zawierał właściwości snippet.scheduledEndTime.
required (400) scheduledStartTimeRequired Zasób liveBroadcast nie zawierał właściwości snippet.scheduledStartTime.

Wypróbuj

Aby wywołać ten interfejs API i zobaczyć żądanie do interfejsu API oraz odpowiedź, użyj APIs Explorer.