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 poniższych zakresów. Więcej informacji o uwierzytelnianiu i autoryzowaniu 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,
Parametr part służy w tej operacji dwóm celom. Wskazuje właściwości, które ustawi operacja zapisu, a także właściwości, które będzie zawierać odpowiedź interfejsu API.

Właściwości part, które możesz zawrzeć w wartości parametru, to id, snippet, contentDetails, monetizationDetails i status.

Pamiętaj, że ta metoda zastępuje istniejące wartości wszystkich zmiennych, które znajdują się w częściach określonych przez wartość parametru. Na przykład stan prywatności transmisji jest zdefiniowany w sekcji status. Dlatego jeśli Twoje żądanie aktualizuje transmisję prywatną lub niepubliczną, a jego wartość parametru part zawiera część status, ustawienie prywatności transmisji zostanie zaktualizowane do wartości określonej w treści żądania. Jeśli treść żądania nie określa wartości, obecne ustawienie prywatności zostanie usunięte, a transmisja przywróci domyślne ustawienie 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 dostawców treści w YouTube.

Parametr onBehalfOfContentOwner wskazuje, że dane uwierzytelniające żądania wskazują użytkownika systemu zarządzania treścią w YouTube (CMS), 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 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ć połączone z określonym właścicielem treści YouTube.
onBehalfOfContentOwnerChannel string,
Tego parametru można używać tylko w prawidłowo autoryzowanym żądaniu.
Uwaga: ten parametr jest przeznaczony wyłącznie dla dostawców treści w YouTube.

Parametr onBehalfOfContentOwnerChannel określa identyfikator kanału YouTube, do którego dodajesz 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 połączonego z właścicielem treści określonym w parametrze onBehalfOfContentOwner. Na koniec kanał określony przez wartość parametru onBehalfOfContentOwnerChannel musi być połączony z właścicielem treści określonym w parametrze onBehalfOfContentOwner.

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ą. Umożliwia właścicielom treści jednorazowe uwierzytelnianie 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

Udostępnij zasób liveBroadcast w treści żądania. 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 dla 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 prośbę o aktualizację, a nie określa ono wartości usługi, która ma już wartość, dotychczasowa wartość usługi 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 komunikatie o błędzie.

Typ błędu Szczegóły błędu Opis
forbidden (403) closedCaptionsTypeModificationNotAllowed Wartość contentDetails.closedCaptionsType można modyfikować 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 Nie można modyfikować pola pauseAdsUntil. 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 transmitowana 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 modyfikować tylko wtedy, gdy stan transmisji to created lub ready.
forbidden (403) enableMonitorStreamModificationNotAllowed Wartość contentDetails.monitorStream.enableMonitorStream można modyfikować tylko wtedy, gdy stan transmisji to created lub ready.
forbidden (403) recordFromStartModificationNotAllowed Wartość contentDetails.recordFromStart można modyfikować tylko wtedy, gdy stan transmisji to created lub ready.
insufficientPermissions insufficientLivePermissions Żądanie nie ma uprawnień do aktualizacji określonej transmisji na żywo. Więcej informacji znajdziesz w artykule Wdrażanie uwierzytelniania OAuth2.
insufficientPermissions liveStreamingNotEnabled Użytkownik, który autoryzował żądanie, nie może transmitować obrazu na żywo w YouTube. Więcej informacji można znaleźć na stronie https://www.youtube.com/features.
invalidValue (400) invalidAutoStart Zasób LiveBroadcast 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 LiveBroadcast zawiera nieprawidłową wartość właściwości contentDetails.enableAutoStop. Ty nie można zmienić ustawienia enableAutoStop stałej transmisji.
invalidValue (400) invalidDescription Zasób liveBroadcast nie określił prawidłowej wartości właściwości snippet.description. Pole snippet.description może zawierać do 5000 znaków.
invalidValue (400) invalidEmbedSetting Zasób LiveBroadcast zawiera nieprawidłową wartość właściwości contentDetails.enable_embed. Nie możesz umieścić tej transmisji.
invalidValue (400) invalidEnableClosedCaptions W zasobie transmisji na żywo wartość właściwości contentDetails.enableClosedCaptions jest niezgodna z wartością ustawienia contentDetails.closedCaptionType. Zmodyfikuj zasób tak, aby zawierał tylko jedną z 2 właściwości, a potem ponownie prześlij żądanie.
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 opóźnienia.
invalidValue (400) invalidPauseAdsUntil Zasób LiveBroadcast zawiera nieprawidłową wartość dla argumentu Usługa 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 przypada ponad 10 minut od bieżącego czasu.
invalidValue (400) invalidPrivacyStatus Zasób LiveBroadcast nie określił 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 liveBroadcast nie określił prawidłowej wartości właściwości snippet.title. Pole 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 liveBroadcast nie określił 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 LiveBroadcast musi zawierać i określać wartość właściwości id.
required (400) scheduledEndTimeRequired Zasób liveBroadcast nie określił właściwości snippet.scheduledEndTime.
required (400) scheduledStartTimeRequired Zasób liveBroadcast nie określił właściwości snippet.scheduledStartTime.

Wypróbuj

Użyj interfejsu APIs Explorer, aby wywołać ten interfejs API i wyświetlić żądanie i odpowiedź interfejsu API.