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 |
stringParametr 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 |
stringTen 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 |
stringTen 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:
idsnippet.scheduledStartTimecontentDetails.monitorStream.enableMonitorStreamcontentDetails.monitorStream.broadcastStreamDelayMs
-
Możesz ustawić wartości tych właściwości:
snippet.titlesnippet.descriptionsnippet.categoryIdsnippet.scheduledStartTimesnippet.scheduledEndTimestatus.privacyStatuscontentDetails.monitorStream.enableMonitorStreamcontentDetails.monitorStream.broadcastStreamDelayMscontentDetails.enableAutoStartcontentDetails.enableAutoStopcontentDetails.enableClosedCaptionscontentDetails.enableDvrcontentDetails.enableEmbedcontentDetails.recordFromStartcontentDetails.availabilityConfigmonetizationDetails.adsMonetizationStatusmonetizationDetails.cuepointSchedule.enabledmonetizationDetails.cuepointSchedule.pauseAdsUntilmonetizationDetails.cuepointSchedule.ytOptimizedCuepointConfigmonetizationDetails.cuepointSchedule.creatorCuepointConfig.scheduleStrategymonetizationDetails.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:
|
|
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. można modyfikować tylko wtedy, gdy transmisja ma stan created lub ready. |
|
forbidden (403) |
enableMonitorStreamModificationNotAllowed |
Wartość contentDetails. można modyfikować tylko wtedy, gdy transmisja ma stan created lub ready. |
|
forbidden (403) |
recordFromStartModificationNotAllowed |
Wartość contentDetails. 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. |
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:
|
|
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:
|
|
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.. |
|
required (400) |
enableMonitorStreamRequired |
Zasób liveBroadcast nie zawierał właściwości contentDetails.. |
|
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.