LiveBroadcasts: update

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

Typowe przypadki użycia

Prośba

Żądanie HTTP

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

Upoważnienie

To żądanie wymaga autoryzacji z użyciem co najmniej jednego z tych zakresów (więcej informacji o uwierzytelnianiu i autoryzacji).

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 do 2 celów. Określa właściwości, które ustawi operacja zapisu, a także właściwości zawarte w odpowiedzi interfejsu API.

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

Ta metoda zastąpi obecne wartości wszystkich zmiennych, które znajdują się w dowolnych częściach określonych w wartości parametru. Na przykład status prywatności transmisji jest zdefiniowany w jej części status. Jeśli więc Twoje żądanie aktualizuje transmisję prywatną lub niepubliczną, a jego wartość parametru part obejmuje część status, ustawienie prywatności transmisji zostanie zmienione na dowolną wartość określoną w treści żądania. Jeśli treść żądania nie określa wartości, obecne 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 dostawców treści w YouTube.

Parametr onBehalfOfContentOwner wskazuje, że dane uwierzytelniające żądanie identyfikują użytkownika YouTube CMS działającego w imieniu właściciela treści określonego w wartości parametru. Jest on przeznaczony dla dostawców treści w YouTube, którzy mają wiele różnych kanałów w YouTube i nimi zarządzają. Dzięki niej właściciele treści mogą jednorazowo uwierzytelnić się i uzyskiwać dostęp do wszystkich swoich filmów oraz danych dotyczących kanałów bez konieczności podawania danych uwierzytelniających dla każdego kanału z osobna. Konto CMS, za pomocą którego użytkownik uwierzytelnia się, musi być powiązane z określonym właścicielem treści YouTube.
onBehalfOfContentOwnerChannel string
Tego parametru można używać tylko w prawidłowo autoryzowanym żądaniu. 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 w YouTube, do którego jest dodawany film. Ten parametr jest wymagany, gdy w żądaniu określona jest wartość parametru onBehalfOfContentOwner i można go używać tylko w połączeniu z tym parametrem. Prośba musi być dodatkowo autoryzowana za pomocą konta CMS połączonego z właścicielem treści określonym w parametrze onBehalfOfContentOwner. Kanał wskazany za pomocą parametru onBehalfOfContentOwnerChannel musi być połączony z właścicielem treści określonym w parametrze onBehalfOfContentOwner.

Ten parametr jest przeznaczony dla partnerów dostarczających treści do YouTube, którzy są właścicielami wielu różnych kanałów YouTube i nimi zarządzają. Pozwala właścicielom treści jednorazowo uwierzytelnić się i wykonywać działania w imieniu kanału określonego w wartości parametru bez konieczności podawania danych uwierzytelniających dla każdego kanału z osobna.

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 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ę usługi, która ma już wartość, ale nie jest w niej określona, obecna 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 szczegółów znajdziesz w dokumentacji komunikatów o błędach.

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 Nie można zmodyfikować pola pauseAdsUntil. Ten błąd może wystąpić z tych powodów:
  • Pole monetizationDetails.cuepointSchedule.enabled nie ma wartości true. To pole można skonfigurować tylko w YouTube Studio.
  • Transmisja nie jest nadawana 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 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 ma uprawnień do transmitowania na żywo w YouTube. Więcej informacji może znaleźć na stronie https://www.youtube.com/features.
invalidValue (400) invalidAutoStart Zasób LiveBroadcast zawierał nieprawidłową wartość we właściwości contentDetails.enableAutoStart. Nie można zmienić ustawienia enableAutoStart dla trwałej transmisji.
invalidValue (400) invalidAutoStop Zasób LiveBroadcast zawierał nieprawidłową wartość we właściwości contentDetails.enableAutoStop. Nie można zmienić ustawienia enableAutoStop dla trwałej transmisji.
invalidValue (400) invalidDescription W zasobie liveBroadcast nie określono 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ść we właściwości contentDetails.enable_embed. Nie można umieścić tej transmisji.
invalidValue (400) invalidEnableClosedCaptions Wartość właściwości contentDetails.enableClosedCaptions w zasobie LiveBroadcast jest niezgodna z wartością ustawienia contentDetails.closedCaptionType. Zmodyfikuj zasób, tak aby zawierał tylko jedną z 2 właściwości, a następnie ponownie prześlij żądanie.
invalidValue (400) invalidLatencyPreferenceOptions Zasób LiveBroadcast zawierał nieprawidłową wartość we właściwości contentDetails.latencyPreference. Nie wszystkie ustawienia są obsługiwane przy takim ustawieniu 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-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 W zasobie LiveBroadcast nie określono prawidłowego stanu prywatności. Zobacz prawidłowe wartości parametru privacyStatus.
invalidValue (400) invalidProjection Zasób LiveBroadcast zawierał nieprawidłową wartość we 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ść we właściwości snippet.scheduledEndTime. Zaplanowana godzina zakończenia musi być późniejsza niż zaplanowana godzina rozpoczęcia.
invalidValue (400) invalidScheduledStartTime Zasób LiveBroadcast zawierał nieprawidłową wartość we właściwości snippet.scheduledStartTime. Zaplanowana godzina rozpoczęcia musi przypadać w przyszłości.
invalidValue (400) invalidTitle W zasobie liveBroadcast nie określono 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 identyfikuje transmisji.
required (400) broadcastStreamDelayMsRequired W zasobie LiveBroadcast nie określono właściwości contentDetails.monitorStream.broadcastStreamDelayMs.
required (400) enableMonitorStreamRequired W zasobie LiveBroadcast nie określono 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 W zasobie LiveBroadcast nie określono właściwości snippet.scheduledEndTime.
required (400) scheduledStartTimeRequired W zasobie LiveBroadcast nie określono właściwości snippet.scheduledStartTime.

Wypróbuj

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