LiveBroadcasts: update

Aktualizuje transmisję. Możesz na przykład zmodyfikować ustawienia transmisji określone w obiekcie contentDetails zasobu liveBroadcast.

Typowe 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 Wdrażanie 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 są parametrami zapytania.

Parametry
Parametry wymagane
part string
Parametry part służą w tej operacji do dwóch celów. Określa właściwości, które zostaną ustawione przez operację zapisu, a także właściwości, które będą uwzględnione w odpowiedzi interfejsu API.

Właściwości part, które możesz uwzględnić w wartości parametru, to id, snippet, contentDetails, monetizationDetailsstatus.

Pamiętaj, że ta metoda zastąpi dotychczasowe wartości wszystkich właściwości, które można zmienić, a które są zawarte w dowolnych częściach określonych przez wartość parametru. Na przykład stan prywatności transmisji jest zdefiniowany w sekcji status. Jeśli więc żądanie dotyczy aktualizacji transmisji prywatnej lub niepublicznej, a wartość parametru part zawiera część status, ustawienie prywatności transmisji zostanie zaktualizowane zgodnie z wartością określoną w treści żądania. Jeśli treść żądania nie określa wartości, dotychczasowe ustawienie prywatności zostanie usunięte, a transmisja zostanie przywrócona do domyślnego ustawienia prywatności.
Parametry opcjonalne
onBehalfOfContentOwner string
Tego parametru można używać tylko w prawidłowo autoryzowanym żądaniu.
Uwaga: ten parametr jest przeznaczony wyłącznie dla partnerów treści w YouTube.

Parametr onBehalfOfContentOwner wskazuje, że dane uwierzytelniające autoryzacji żądania identyfikują użytkownika systemu zarządzania treścią (CMS) w YouTube, który działa w imieniu właściciela treści określonego w wartości parametru. Ten parametr jest przeznaczony dla dostawców treści w YouTube, którzy są właścicielami wielu różnych kanałów w YouTube i nimi zarządzają. Dzięki niej właściciele treści mogą dokonać uwierzytelnienia raz i uzyskać dostęp do wszystkich danych dotyczących filmów i kanału bez konieczności podawania danych uwierzytelniających dla każdego kanału. Konto CMS, za pomocą którego użytkownik się uwierzytelnia, musi być powiązane z określonym właścicielem treści w YouTube.
onBehalfOfContentOwnerChannel string
Tego parametru można używać tylko w prawidłowo autoryzowanym żądaniu.
Uwaga: ten parametr jest przeznaczony wyłącznie dla partnerów treści w YouTube.

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. Dodatkowo żądanie musi być autoryzowane za pomocą konta CMS powiązanego z właścicielem treści, którego określa parametr onBehalfOfContentOwner. Na koniec kanał określony przez wartość parametru onBehalfOfContentOwnerChannel musi być powiązany z właścicielem treści określonym przez parametr onBehalfOfContentOwner.

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

Treść żądania

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

  • Musisz podać 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.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

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

Odpowiedź

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

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
forbidden (403) closedCaptionsTypeModificationNotAllowed Wartość contentDetails.closedCaptionsType można zmienić tylko wtedy, gdy transmisja ma stan created lub ready.
forbidden (403) enabledModificationNotAllowed Pole enabled jest tylko do odczytu.
forbidden (403) scheduleStrategyModificationNotAllowed Pole scheduleStrategy jest tylko do odczytu.
forbidden (403) repeatIntervalSecsModificationNotAllowed Pole repeatIntervalSecs jest tylko do odczytu.
forbidden (403) pauseAdsUntilModificationNotAllowed Pola pauseAdsUntil nie można zmodyfikować. Ten błąd może wystąpić z tych powodów:
  • Pole monetizationDetails.cuepointSchedule.enabled nie ma wartości true. To pole można ustawić tylko w YouTube Studio.
  • Transmisja nie jest na żywo.
forbidden (403) enableAutoStartModificationNotAllowed Wartość contentDetails.enableAutoStart można zmienić tylko wtedy, gdy strumień jest nieaktywny, a transmisja ma stan created lub ready.
forbidden (403) enableClosedCaptionsModificationNotAllowed Wartość contentDetails.enableClosedCaptions można zmienić tylko wtedy, gdy stan transmisji to created lub ready.
forbidden (403) enableDvrModificationNotAllowed Wartość contentDetails.enableDvr można zmienić tylko wtedy, gdy stan transmisji to created lub ready.
forbidden (403) enableMonitorStreamModificationNotAllowed Wartość contentDetails.monitorStream.enableMonitorStream można zmienić tylko wtedy, gdy stan transmisji to created lub ready.
forbidden (403) recordFromStartModificationNotAllowed Wartość contentDetails.recordFromStart można zmienić tylko wtedy, gdy stan transmisji to created lub ready.
insufficientPermissions insufficientLivePermissions Żądanie nie jest upoważnione do aktualizowania określonej transmisji na żywo. Więcej informacji znajdziesz w artykule Wdrażanie uwierzytelniania OAuth 2.
insufficientPermissions liveStreamingNotEnabled Użytkownik, który zatwierdził prośbę, nie ma uprawnień do transmisji wideo na żywo w YouTube. Użytkownik może znaleźć więcej informacji na stronie https://www.youtube.com/features.
invalidValue (400) invalidAutoStart Zasób transmisji na żywo zawierał nieprawidłową wartość właściwości contentDetails.enableAutoStart. Nie możesz zmienić ustawienia enableAutoStart w przypadku trwałej transmisji.
invalidValue (400) invalidAutoStop Zasób transmisji na żywo zawierał nieprawidłową wartość właściwości contentDetails.enableAutoStop. Nie możesz zmienić ustawienia enableAutoStop w przypadku trwałej transmisji.
invalidValue (400) invalidDescription Zasób transmisja na żywo 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ć tego programu.
invalidValue (400) invalidEnableClosedCaptions W zasobie transmisji na żywo wartość właściwości contentDetails.enableClosedCaptions jest niezgodna z wartością ustawienia contentDetails.closedCaptionType. Zmień zasób, aby zawierał tylko jedną z tych 2 właściwości, a potem ponownie prześlij żądanie.
invalidValue (400) invalidLatencyPreferenceOptions Zasób transmisji na żywo zawierał nieprawidłową wartość właściwości contentDetails.latencyPreference. Nie wszystkie ustawienia są obsługiwane w przypadku tej opcji opóźnienia.
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-DDThh:mm:ss.sZ).
  • Wartość monetizationDetails.cuepointSchedule.pauseAdsUntil nie jest w przyszłości.
  • Wartość monetizationDetails.cuepointSchedule.pauseAdsUntil przypada ponad 10 minut od bieżącego czasu.
invalidValue (400) invalidPrivacyStatus Zasób liveBroadcast nie zawiera prawidłowego stanu prywatności. Zobacz prawidłowe wartości parametru privacyStatus.
invalidValue (400) invalidProjection Zasób liveBroadcast zawiera nieprawidłową wartość właściwości contentDetails.projection. Projekcji trwałej transmisji nie można ustawić na wartość 360°.
invalidValue (400) invalidScheduledEndTime Zasób liveBroadcast zawiera nieprawidłową wartość właściwości snippet.scheduledEndTime. Planowana godzina zakończenia musi przypadać po zaplanowanym czasie rozpoczęcia.
invalidValue (400) invalidScheduledStartTime Zasób liveBroadcast zawiera nieprawidłową wartość właściwości snippet.scheduledStartTime. Planowana godzina rozpoczęcia musi przypadać w przyszłości.
invalidValue (400) invalidTitle Zasób transmisja na żywo 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 transmisji na żywo nie wykryła transmisji.
required (400) broadcastStreamDelayMsRequired Zasób transmisji na żywo nie zawiera właściwości contentDetails.monitorStream.broadcastStreamDelayMs.
required (400) enableMonitorStreamRequired Zasób liveBroadcast nie określił właściwości contentDetails.monitorStream.enableMonitorStream.
required (400) idRequired Zasób transmisji na żywo musi zawierać i określać wartość właściwości id.
required (400) scheduledEndTimeRequired Zasób transmisji na żywo nie zawiera właściwości snippet.scheduledEndTime.
required (400) scheduledStartTimeRequired Zasób transmisji na żywo nie zawiera właściwości snippet.scheduledStartTime.

Wypróbuj

Użyj adresu APIs Explorer, aby wywołać ten interfejs API i zobaczyć żądanie oraz odpowiedź interfejsu API.