Na tej stronie znajdziesz informacje o zmianach w interfejsie YouTube Live Streaming API i aktualizacjach dokumentacji. Subskrybuj ten dziennik zmian.
14 lipca 2025 r.
Opis metody liveChatMessages.streamList
został zaktualizowany, aby zawierał wskazówki dotyczące korzystania z interfejsu streamList API.
9 października 2023 r.
Informacje o tym, które identyfikatory naklejek odnoszą się do których supernaklejek, znajdziesz w tym pliku CSV.
Definicje właściwości snippet.superStickerDetails.superStickerMetadata.stickerId
zasobu liveChatMessage
i właściwości snippet.superStickerMetadata.stickerId
zasobu superChatEvent
zostały zaktualizowane, aby uwzględniać te informacje.
15 września 2023 r.
Interfejs API obsługuje teraz nowy sposób wstawiania reklam do transmisji na żywo. Oprócz funkcji liveCuepoints
, która umożliwia ręczne wstawianie przerw na reklamę w transmisji, YouTube obsługuje teraz funkcję automatycznego wstawiania przerw na reklamę w trakcie transmisji w stałych odstępach czasu.
Jeśli właściciel transmisji włączy automatyczne reklamy, będzie mógł wyświetlać te aspekty zachowania reklam:
- długość odstępu między przerwami na reklamę w trakcie filmu.
- strategię planowania punktów wstawiania reklam. Punkty sygnałowe można wstawiać jednocześnie dla wszystkich widzów lub ich czas może się różnić w zależności od widza. Ta strategia umożliwia YouTube planowanie punktów wstawienia z większą częstotliwością, dzięki czemu widzowie mogą otrzymywać punkty wstawienia, gdy spełniają wymagania.
- okres, w którym nie są wyświetlane reklamy w trakcie filmu; w przypadku tej funkcji właściciel transmisji określa, że wstawianie reklam w trakcie filmu jest wstrzymane do określonej godziny.
Dokumentacja odzwierciedla te zmiany w interfejsie API, które umożliwiają obsługę tej funkcji:
- Zasób
liveBroadcast
zawiera teraz obiektmonetizationDetails
. Pola obiektu wskazują, czy w przypadku transmisji włączone jest automatyczne wstawianie reklam, i zawierają dodatkowe informacje dotyczące planowania punktów sygnałowych. - Parametr
part
metodyliveBroadcast.list
obsługuje wartośćmonetizationDetails
. - Metoda
update
może służyć do wstrzymywania wstawiania reklam w trakcie filmu na określony czas w przypadku transmisji na żywo. Dokumentacja zawiera teraz też informacje o kilku błędach, które mogą wystąpić podczas aktualizowania szczegółów zarabiania w przypadku transmisji na żywo.
1 sierpnia 2023 r.
Ta aktualizacja zawiera następujące zmiany:
-
Metoda
liveBroadcasts.update
nie wymaga już podawania wartości w tych polach:snippet.title
status.privacyStatus
Jeśli pominiesz te pola w żądaniu, pozostaną one bez zmian.
1 listopada 2022 r.
-
Nowa metoda
liveBroadcasts.cuepoint
umożliwia każdemu właścicielowi kanału prowadzącemu transmisję na żywo w YouTube wstawianie w niej punktów sygnałowych, które mogą wywoływać przerwy na reklamy. Ta metoda zastępuje metodęliveCuepoints.insert
, która umożliwiała tylko partnerom YouTube wstawianie punktów sygnałowych do transmisji na żywo.Zaktualizowaliśmy kilka przewodników, aby odzwierciedlały dostępność tej nowej metody.
-
Uwaga: to jest ogłoszenie o wycofaniu.
Metoda
liveCuepoints.insert
została wycofana. Obsługa metodyliveCuepoints.insert
zostanie wycofana 1 maja 2023 roku lub później. Użytkownicy interfejsu API powinni zaktualizować swoje aplikacje, aby zamiast tego wywoływać metodęliveBroadcasts.cuepoint
. -
Dokumentacja metody
liveBroadcasts.control
została usunięta. W październiku 2020 r. opublikowaliśmy powiadomienie o wycofaniu tej metody.
1 października 2022 r.
Ta aktualizacja zawiera następujące zmiany:
-
Metoda
liveBroadcasts.update
nie wymaga już podawania wartości w tych polach:contentDetails.enableContentEncryption
contentDetails.enableDvr
contentDetails.enableEmbed
contentDetails.recordFromStart
contentDetails.startWithSlate
Jeśli pominiesz te pola w żądaniu, pozostaną one bez zmian.
-
Usunęliśmy dokumentację wycofanych pól
liveBroadcast
:contentDetails.enableContentEncryption
contentDetails.startWithSlate
1 kwietnia 2022 r.
Ta aktualizacja zawiera następujące zmiany:
-
Właściwość
snippet.type
obsługuje teraz 2 nowe wartości:membershipGiftingEvent
giftMembershipReceivedEvent
-
Nowa właściwość
snippet.membershipGiftingDetails
zasobuliveChatMessage
i jej elementy podrzędne zawierają informacje o wydarzeniu związanym z przekazywaniem subskrypcji. Podobnie nowa właściwośćsnippet.giftMembershipReceivedDetails
i jej elementy podrzędne zawierają informacje o zdarzeniu Gift Membership Received (Otrzymano subskrypcję w prezencie).
15 września 2021 r.
Ta aktualizacja zawiera następujące zmiany:
-
Właściwość
snippet.type
obsługuje teraz 2 nowe wartości:newSponsorEvent
memberMilestoneChatEvent
-
Nowa właściwość
snippet.memberMilestoneChatDetails
zasobuliveChatMessage
i jej elementy podrzędne zawierają informacje o wydarzeniu Wiadomość na czacie dla wspierających osiągających kolejny próg. Podobnie nowa właściwośćsnippet.newSponsorDetails
i jej elementy podrzędne zawierają informacje o wydarzeniu Nowy sponsor.
1 grudnia 2020 r.
Metoda liveBroadcasts.transition
interfejsu API obsługuje nowy błąd 403
(Forbidden
), który wskazuje, że użytkownik wysłał zbyt wiele żądań w określonym przedziale czasowym. Przyczyna błędu to userRequestsExceedRateLimit
.
21 września 2020 r.
-
Zaktualizowaliśmy definicję właściwości
status.madeForKids
zasobuliveBroadcast
, aby wyjaśnić, że jest ona tylko do odczytu. Nie odzwierciedla to zmiany w funkcjonalności interfejsu API.Aby oznaczyć transmisję na żywo jako skierowaną do dzieci, ustaw właściwość
status.selfDeclaredMadeForKids
natrue
podczas wywoływania metodyliveBroadcasts.insert
w celu utworzenia transmisji. -
Uwaga: ta zmiana obejmuje ogłoszenie o wycofaniu i aktualizację wcześniejszego ogłoszenia o wycofaniu.
Metoda
liveBroadcasts.control
zostanie wycofana 1 października 2020 r. lub po tej dacie. Po tej dacie wszystkie wywołania tej metody będą zwracać błąd zabroniony (403), a sama metoda zostanie później całkowicie usunięta. Klienci nadal mogą wdrażać własne tablice, dodając nakładkę do filmu wysyłanego na serwery przesyłania YouTube.Data wycofania ogłoszona 16 kwietnia 2020 r., która pierwotnie była zaplanowana na 1 września 2020 r., została przesunięta i nastąpi 1 października 2020 r. lub później. W związku z tym funkcje wymienione w tym ogłoszeniu o wycofaniu i metoda
liveBroadcasts.control
zostaną wycofane w tym samym czasie.
17 lipca 2020 r.
Uwaga: to jest aktualizacja wcześniejszego powiadomienia o wycofaniu.
Pole cdn.format
zasobu liveStream
, które zostało wycofane w kwietniu 2016 r., nie będzie już obsługiwane od 17 sierpnia 2020 r. Od tego dnia żądania, które nadal korzystają z tego pola, będą kończyć się niepowodzeniem.
Jeśli Twój kod nadal używa pola cdn.format
, musisz go zaktualizować, aby określać liczbę klatek na sekundę i rozdzielczość oddzielnie za pomocą właściwości cdn.frameRate
i cdn.resolution
.
6 lipca 2020 r.
W przewodniku Przesyłanie treści na żywo w YouTube za pomocą HLS wprowadziliśmy kilka zmian:
- Zalecana długość segmentu multimedialnego została zmieniona na 1–4 sekundy.
- W nowej sekcji wyjaśniamy, jak uzyskać adres URL do przesyłania strumieniowego HLS w YouTube Studio.
-
Instrukcje formatowania wartości parametru
file
zostały przeniesione do nowej sekcji Uzupełnianie adresu URL przetwarzania HLS. Te instrukcje obowiązują niezależnie od tego, czy adres URL przesyłania HLS został uzyskany z interfejsu YouTube API czy ze Studia twórców YouTube.
Dodatkowo w nowym porównaniu protokołów przesyłania znajdziesz listę protokołów przesyłania obsługiwanych przez YouTube, kodeków obsługiwanych w przypadku każdego protokołu oraz dodatkowe informacje o odpowiednich przypadkach użycia każdego protokołu.
16 kwietnia 2020 r.
Ta aktualizacja obejmuje nową usługę i ogłoszenie o wycofaniu:
-
Zasób
liveBroadcast
obsługuje teraz właściwośćcontentDetails.enableAutoStop
. Właściwość wskazuje, czy transmisja powinna się automatycznie zatrzymać około minuty po tym, jak właściciel kanału przestanie przesyłać strumieniowo wideo w powiązanym strumieniu wideo.Dokument Żywotność transmisji został zaktualizowany, aby wyjaśnić, jak krok po kroku tworzyć i zarządzać wydarzeniem na żywo w YouTube, jeśli ustawisz właściwości
contentDetails.enableAutoStart
lubcontentDetails.enableAutoStop
natrue
. -
Uwaga: to jest ogłoszenie o wycofaniu. Zmiany te wejdą w życie 1 września 2020 r. lub później. Rzeczywista data wejścia zmian w życie jest określana poniżej jako data wycofania.
Ta aktualizacja wyjaśnia potencjalną zmianę powodującą niezgodność. Dotyczy to aplikacji klienckich API, które używają domyślnych zasobów
liveStream
iliveBroadcast
kanałów do przesyłania strumieniowego treści na żywo w YouTube. W szczególności identyfikator transmisji i identyfikator strumienia powiązane ze stałą transmisją i strumieniem nie będą już działać w przypadku rozpoczynania nowych transmisji.Wpłynie to na Twoją aplikację, jeśli spełniony jest którykolwiek z tych warunków:
- Sprawdza wartość właściwości
liveBroadcast
zasobuisDefaultBroadcast
. Po dacie wycofania ta właściwość nie będzie zwracana. - Sprawdza wartość właściwości
liveStream
zasobuisDefaultStream
. Po dacie wycofania ta właściwość nie będzie zwracana. - Wywołuje metodę
liveBroadcasts.list
i ustawia wartość parametrubroadcastType
napersistent
luball
. W ramach tych zmian ten parametr zostanie wycofany. Od daty wycofania:- Jeśli wartość parametru
broadcastType
topersistent
, metodaliveBroadcasts.list
nie zwróci żadnych wyników. - Jeśli wartość parametru
broadcastType
toall
, metodaliveBroadcasts.list
nie zwróci trwałych transmisji, które istniały wcześniej.
- Jeśli wartość parametru
Od kilku lat YouTube automatycznie tworzy domyślny strumień i domyślną transmisję dla kanału, gdy włączono na nim transmisje na żywo. Domyślny strumień istniał bezterminowo, nie miał powiązanej godziny rozpoczęcia ani zakończenia i nie można go było usunąć. Podobnie domyślna transmisja była uznawana za trwałą. Zawsze istniał i nie był powiązany z żadnym konkretnym zdarzeniem.
Od daty wycofania:
- YouTube nie będzie już tworzyć domyślnych transmisji strumieniowych i transmisji. Zamiast korzystać z zasobów domyślnych, klienci interfejsu API muszą mieć możliwość tworzenia zasobów
liveBroadcast
iliveStream
oraz zarządzania nimi, a także łączenia tych zasobów ze sobą. - Jeśli domyślna transmisja i domyślny strumień kanału są aktywne, co oznacza, że kanał używa ich do transmisji na żywo w momencie wejścia w życie wycofania, trwająca transmisja nie zostanie naruszona. Po zakończeniu transmisji kanał nie będzie mógł ponownie używać domyślnej transmisji ani domyślnego strumienia.
- Jeśli domyślna transmisja i domyślny strumień kanału nie są aktywnie transmitowane na żywo, po wejściu w życie wycofania YouTube będzie ignorować próby wykorzystania tych zasobów do transmitowania filmów.
Jeśli Twoja aplikacja jest objęta tymi zmianami, zapoznaj się z tymi dokumentami, które pomogą Ci zaktualizować aplikację, aby po wprowadzeniu zmian nadal działała zgodnie z oczekiwaniami:
- Nowy przewodnik po migracji zawiera opis czynności, które deweloperzy mogą musieć wykonać w klientach interfejsu API, które obecnie korzystają z domyślnych transmisji i strumieni.
- Przewodnik Życie transmisji zawiera szczegółowe instrukcje, jak utworzyć wydarzenie na żywo w YouTube i nim zarządzać. Każdy krok zawiera opis wywołań interfejsu API lub innych czynności, które musisz wykonać, aby zrealizować konkretne działanie. Twoja aplikacja będzie musiała postępować zgodnie z tym procesem, gdy YouTube przestanie obsługiwać domyślne strumienie i transmisje.
- Sprawdza wartość właściwości
31 marca 2020 r.
Uwaga: to jest ogłoszenie o wycofaniu.
Zasób sponsor
i metoda sponsors.list
zostały wycofane i zastąpione zasobem member
i metodą members.list
.
Metoda sponsors.list
nie będzie już obsługiwana od 30 września 2020 r.
Klienci interfejsu API powinni zaktualizować wywołania metody sponsors.list
, aby zamiast niej używać metody members.list
. Więcej informacji o nowym zasobie znajdziesz w historii zmian interfejsu YouTube Data API.
11 marca 2020 r.
W sekcji Punkt odbioru w przewodniku Przesyłanie treści na żywo w YouTube za pomocą HLS wprowadziliśmy zmiany, aby wyjaśnić proces, którego koder powinien używać do wypełniania wartości parametru file=
podczas tworzenia podstawowych i zapasowych adresów URL odbioru.
4 lutego 2020 r.
Zaktualizowaliśmy przewodnik Dostarczanie treści na żywo w YouTube za pomocą HLS, aby dodać informację, że żądania DELETE
są opcjonalne i że punkt końcowy HLS w YouTube je ignoruje. Ze względu na wydajność YouTube zaleca, aby klienci nie wysyłali żądań DELETE
.
10 stycznia 2020 r.
Interfejs API obsługuje teraz możliwość identyfikowania treści skierowanych do dzieci, które YouTube określa jako „przeznaczone dla dzieci”. Więcej informacji o treściach „przeznaczonych dla dzieci” znajdziesz w Centrum pomocy YouTube.
-
liveBroadcast
zawiera 2 nowe właściwości, które pomagają twórcom i widzom identyfikować treści przeznaczone dla dzieci:-
Właściwość
selfDeclaredMadeForKids
umożliwia twórcom treści określenie, czy transmisja na żywo jest skierowana do dzieci. Tę właściwość można ustawić podczas tworzenia transmisji za pomocą metodyliveBroadcasts.insert
. Pamiętaj, że ta właściwość jest uwzględniana w odpowiedziach interfejsu API zawierających zasobyliveBroadcast
tylko wtedy, gdy właściciel kanału autoryzował żądanie interfejsu API. -
Właściwość
madeForKids
umożliwia każdemu użytkownikowi interfejsu API pobranie stanu „dla dzieci” transmisji. Na przykład stan może być określany na podstawie wartości właściwościselfDeclaredMadeForKids
. Więcej informacji o określaniu odbiorców kanału, filmów lub transmisji znajdziesz w Centrum pomocy YouTube.
-
Właściwość
-
W interfejsie YouTube Data API zasób
channel
obsługuje też nowe właściwościselfDeclaredMadeForKids
imadeForKids
.
Zaktualizowaliśmy też Warunki korzystania z usług YouTube API oraz zasady dla deweloperów. Więcej informacji znajdziesz w historii zmian Warunków korzystania z usług YouTube API. Zmiany w Warunkach korzystania z usług YouTube API i Zasadach dla deweloperów wejdą w życie 10 stycznia 2020 roku czasu pacyficznego.
20 sierpnia 2019 r.
W sekcji Wymagania w przewodniku Dostarczanie treści na żywo w YouTube za pomocą HLS wprowadziliśmy 2 zmiany:
- Wyjaśnia, że zgodnie ze sprawdzonymi metodami każda playlista multimediów powinna zawierać zarówno potwierdzone, jak i niepotwierdzone segmenty. Dzięki temu segment jest mniej narażony na pominięcie, jeśli po stronie serwera utracona zostanie lista odtwarzania multimediów. Możesz na przykład uwzględnić w każdej playliście multimediów maksymalnie 2 potwierdzone segmenty i maksymalnie 5 segmentów oczekujących.
- Wymagane jest teraz wysyłanie listy odtwarzania multimediów dla każdego segmentu multimediów. Dzięki temu serwer może szybko odzyskać utraconą listę odtwarzania multimediów. Ta praktyka była wcześniej wymieniona jako rekomendacja.
28 czerwca 2019 r.
YouTube obsługuje teraz przesyłanie treści w formacie HLS. W związku z tym właściwość ingestionType
zasobu liveStream
obsługuje nową wartość hls
, która identyfikuje strumienie przesyłane do YouTube za pomocą HLS.
Nowy przewodnik Przesyłanie treści na żywo do YouTube za pomocą HLS zawiera wskazówki dotyczące korzystania z HLS do przesyłania strumieniowego treści na żywo do YouTube z kodera. Przewodnik ma pomóc dostawcom koderów w dodaniu do ich produktów obsługi dostarczania HLS.
4 kwietnia 2019 r.
Ta aktualizacja zawiera następujące zmiany:
-
Dokumentacja interfejsu API została zaktualizowana, aby lepiej wyjaśniać typowe przypadki użycia każdej metody i zapewniać dynamiczne, wysokiej jakości przykłady kodu za pomocą widżetu Eksplorator interfejsów API. Przykład znajdziesz w dokumentacji metody
liveBroadcasts.list
. Na stronach opisujących metody interfejsu API pojawiły się 2 nowe elementy:-
Widżet Eksplorator interfejsów API umożliwia wybieranie zakresów autoryzacji, wpisywanie przykładowych wartości parametrów i właściwości, a następnie wysyłanie rzeczywistych żądań interfejsu API i wyświetlanie rzeczywistych odpowiedzi interfejsu API. Widżet oferuje też widok pełnoekranowy, w którym wyświetlane są kompletne przykłady kodu. Są one dynamicznie aktualizowane, aby używać zakresów i wartości, które zostały przez Ciebie wpisane.
-
W sekcji Typowe przypadki użycia znajdziesz opis co najmniej jednego typowego przypadku użycia metody wyjaśnionej na stronie. Możesz na przykład wywołać metodę
liveBroadcasts.list
, aby pobrać dane o konkretnej transmisji lub o transmisjach bieżącego użytkownika.Możesz użyć linków w tej sekcji, aby wypełnić Eksplorator interfejsów API przykładowymi wartościami dla Twojego przypadku użycia lub otworzyć Eksplorator interfejsów API na pełnym ekranie z już wypełnionymi wartościami. Te zmiany mają ułatwić Ci znajdowanie przykładów kodu, które można bezpośrednio zastosować w przypadku użycia, który chcesz wdrożyć we własnej aplikacji.
Przykładowe fragmenty kodu są obecnie obsługiwane w przypadku języków Java, JavaScript, PHP, Python i curl.
-
-
Strona przykładowych kodów ma też nowy interfejs, który oferuje wszystkie opisane powyżej funkcje. Za pomocą tego narzędzia możesz poznawać przypadki użycia różnych metod, wczytywać wartości do narzędzia APIs Explorer i otwierać je w trybie pełnoekranowym, aby uzyskać przykłady kodu w językach Java, JavaScript, PHP i Python.
W związku z tą zmianą usunęliśmy strony, na których wcześniej były dostępne przykłady kodu w językach Java, PHP i Python.
25 lutego 2019 r.
Dokumentacja zasobów liveChatMessage
i superChatEvent
została zaktualizowana, aby odzwierciedlać fakt, że oba zasoby mogą teraz zawierać informacje o supernaklejkach. Supernaklejki to rodzaj wiadomości na superczacie, w których wyświetla się obraz. Podobnie jak inne superczaty, wiadomość z supernaklejką jest kupowana przez fana podczas transmisji na żywo w YouTube.
- W zasobie
liveChatMessage
właściwośćsnippet.type
jest teraz ustawiona nasuperStickerEvent
, co oznacza, że zasób zawiera informacje o Super Naklejce. W takim przypadku zasób zawiera też obiektsnippet.superStickerDetails
, który zawiera dodatkowe informacje o supernaklejce. - W zasobie
superChatEvent
wartość logicznasnippet.isSuperStickerEvent
wskazuje, czy wiadomość na superczacie jest też supernaklejką. Jeśli tak, obiektsnippet.superStickerMetadata
zawiera dodatkowe informacje o supernaklejce.
5 kwietnia 2018 r.
Opis metody superChatEvents.list
został zaktualizowany, aby odzwierciedlał fakt, że odpowiedź interfejsu API nie zawiera już elementów fanFundingEvents
, które zostały wycofane na początku 2017 roku.
3 kwietnia 2017 r.
Dodaliśmy nowe przykłady kodu w Javie, które pokazują, jak wyświetlać, wstawiać i usuwać wiadomości na czacie na żywo. Przykłady wywołują te metody:
13 lutego 2017 r.
Ta aktualizacja zawiera następujące zmiany:
-
Aktualizacje istniejących zasobów i metod
-
Metoda
liveCuepoints.insert
została zaktualizowana, aby odzwierciedlać fakt, że parametronBehalfOfContentOwner
jest obecnie wymagany. Dodatkowo opis metody został zaktualizowany, aby uwzględnić informację, że wywołania tej metody muszą być autoryzowane przez konto powiązane z właścicielem treści w YouTube.
-
9 lutego 2017 r.
Ta aktualizacja zawiera następujące zmiany:
-
Aktualizacje istniejących zasobów i metod
-
Nowy parametr
hl
metodysuperChatEvents.list
umożliwia określenie, że wartość właściwościsnippet.displayString
powinna być sformatowana zgodnie z konwencjami określonego języka. Zaktualizowaliśmy też definicję tej właściwości.Wartość parametru musi być kodem języka uwzględnionym na liście zwracanej przez metodę
i18nLanguages.list
. Wartością domyślną jesten
, co oznacza, że domyślnie ciągi wyświetlane są formatowane tak, jak w języku angielskim. Na przykład domyślnie ciąg znaków jest formatowany jako$1.00
, a nie$1,00
.
-
1 lutego 2017 r.
Ta aktualizacja zawiera następujące zmiany:
-
Nowe zasoby i metody
-
Nowy zasób
superChatEvent
reprezentuje wiadomość na superczacie kupioną przez fana podczas transmisji na żywo w YouTube. W czacie na żywo w YouTube superczaty wyróżniają się na 2 sposoby:- Superczaty są wyróżnione kolorem.
- Superczaty pozostają przypięte na pasku aktywności przez określony czas.
Kolor superczatu, czas, przez jaki jest on przypięty na pasku aktywności, oraz maksymalna długość wiadomości zależą od kwoty zakupu. Więcej informacji o Super Chatach znajdziesz w Centrum pomocy YouTube.
Interfejs API obsługuje metodę wyświetlania zdarzeń superczatu z transmisji na żywo na kanale w ciągu ostatnich 30 dni. Zwraca ona też dane o wydarzeniach związanych z finansowaniem przez fanów (
fanFundingEvents
) z ostatniej transmisji na żywo na kanale.
-
-
Aktualizacje istniejących zasobów i metod
-
Właściwość
snippet.type
obsługuje teraz wartośćsuperChatEvent
, która wskazuje, że zasób opisuje Super Chat.Dodatkowo nowy obiekt
liveChatMessage
zasobu i jego elementy podrzędne zawierają informacje o wydarzeniu związanym z superczatem.snippet.superChatDetails
-
Właściwość
cdn.resolution
zasobuliveStream
obsługuje teraz wartość2160p
.
-
-
Nowe i zaktualizowane błędy
-
Interfejs API obsługuje te nowe błędy:
Szczegóły błędu liveBroadcasts.insert
,liveBroadcasts.update
Metody liveBroadcasts.insert
iliveBroadcasts.update
zwracają błędy400
(Bad Request
), aby wskazać, że wstawiany lub aktualizowany zasóbliveBroadcast
zawiera nieprawidłową wartość właściwościcontentDetails.enableEmbed
lubcontentDetails.projection
. Przyczyny błędów w przypadku tych 2 nowych błędów to odpowiednioinvalidEmbedSetting
iinvalidProjection
.
-
12 stycznia 2017 r.
Uwaga: to jest ogłoszenie o wycofaniu.
Wraz z wprowadzeniem nowej funkcji superczatu wycofaliśmy funkcję finansowania przez fanów, a interfejs Fan Funding API zostanie wyłączony 28 lutego 2017 roku. Od tej daty:
- Metoda
liveChatMessages.list
nie będzie już zwracać wiadomości z wartościąsnippet.type
równąfanFundingEvent
. Podobnie zasobyliveChatMessage
nie będą już zawierać obiektusnippet.fanFundingEventDetails
. - Metoda
fanFundingEvents.list
nie będzie już zwracać danych.
11 sierpnia 2016 r.
Ta aktualizacja zawiera następujące zmiany:
-
Nowe Warunki korzystania z usług YouTube API („zaktualizowane warunki”), które zostały szczegółowo omówione na blogu YouTube Engineering and Developers, zawierają wiele aktualizacji obecnych Warunków korzystania z usługi. Oprócz zaktualizowanych warunków, które wejdą w życie 10 lutego 2017 r., ta aktualizacja obejmuje kilka dokumentów pomocniczych, które wyjaśniają zasady, których deweloperzy muszą przestrzegać.
Pełny zestaw nowych dokumentów opisano w historii zmian zaktualizowanych Warunków. Ponadto w historii zmian będą wyjaśniane przyszłe zmiany Zaktualizowanych warunków lub dokumentów pomocniczych. Możesz zasubskrybować kanał RSS z listą zmian w historii wersji, korzystając z linku w tym dokumencie.
20 maja 2016 r.
YouTube obsługuje teraz przetwarzanie DASH. W związku z tym właściwość ingestionType
zasobu liveStream
obsługuje nową wartość dash
, która identyfikuje strumienie przesyłane do YouTube za pomocą DASH.
Nowy przewodnik Dostarczanie treści na żywo w YouTube za pomocą DASH zawiera wskazówki dotyczące korzystania z formatu dostarczania DASH do przesyłania strumieniowego danych na żywo w YouTube z kodera. Ma to na celu pomóc dostawcom koderów w dodaniu do swoich produktów obsługi dostarczania DASH.
18 kwietnia 2016 r.
Ta aktualizacja zawiera następujące zmiany:
-
Aktualizacje istniejących zasobów i metod
liveStream
aktualizacje zasobów-
YouTube obsługuje teraz transmisje w rozdzielczości 1440p przy 30 lub 60 klatkach na sekundę.
Dodatkowo zasób
liveStream
zawiera nowe właściwości do określania liczby klatek na sekundę i rozdzielczości przychodzących danych wideo:Właściwości cdn.frameRate
Liczba klatek na sekundę przychodzących danych wideo. Prawidłowe wartości to 30fps
i60fps
.cdn.resolution
Rozdzielczość przychodzących danych wideo. Prawidłowe wartości właściwości to: 1440p
,1080p
,720p
,480p
,360p
i240p
. -
W związku z wprowadzeniem właściwości
cdn.frameRate
icdn.resolution
zasobuliveStream
właściwośćcdn.format
tego zasobu została wycofana. Właściwośćcdn.format
określa rozdzielczość i liczbę klatek w jednej wartości.Zachęcamy do przejścia na nowo obsługiwane pola. W międzyczasie
cdn.format
nadal działa. Poza tym żądania wstawienia transmisji na żywo są obecnie realizowane, o ile podasz wartości właściwościcdn.format
lub właściwościcdn.frameRate
icdn.resolution
. Jeśli podasz wartości wszystkich 3 właściwości, interfejs API może zwrócić błąd, jeśli wartości nie będą zgodne.Pamiętaj, że chociaż właściwość
cdn.format
jest wycofana, obsługuje teraz 2 nowe wartości:1440p
i1440p_hfr
. Odzwierciedla to obsługę przez interfejs API strumieni w rozdzielczości 1440p przy 30 lub 60 klatkach na sekundę.
-
liveBroadcast
aktualizacje zasobów-
Zasób
liveBroadcast
zawiera te nowe właściwości:Właściwości contentDetails.boundStreamLastUpdateTimeMs
Data i godzina ostatniej aktualizacji transmisji na żywo, do której odwołuje się właściwość contentDetails.boundStreamId
transmisji.contentDetails.projection
Format projekcji transmisji. Domyślna wartość właściwości to rectangular
. Prawidłowe wartości właściwości to360
irectangular
. -
Zaktualizowaliśmy definicję właściwości
liveBroadcast
zasobustatistics.totalChatCount
, aby zaznaczyć, że wartość właściwości jest widoczna tylko wtedy, gdy transmisja zawiera co najmniej 1 wiadomość na czacie.
-
liveChatMessage
aktualizacje zasobów-
Właściwość
snippet.type
obsługuje 2 nowe wartości –messageDeletedEvent
iuserBannedEvent
– które odpowiadają nowym właściwościom opisanym w tym punkcie. Zaktualizowaliśmy też definicję właściwościsnippet.authorChannelId
, aby wyjaśnić, co identyfikuje wartość tej właściwości w przypadku tych nowych typów wiadomości. -
Zasób
liveChatMessage
zawiera te nowe właściwości:Właściwości snippet.messageDeletedDetails
Ten obiekt zawiera informacje o wiadomości, która została usunięta przez moderatora czatu. Obiekt jest obecny tylko wtedy, gdy wartość właściwości snippet.type
tomessageDeletedEvent
.snippet.userBannedDetails
Ten obiekt zawiera informacje o użytkowniku, który został zablokowany i nie może uczestniczyć w czacie. Obiekt zawiera też informacje o samym zakazie, a mianowicie o tym, czy jest on trwały czy tymczasowy. Jeśli blokada jest tymczasowa, jedna z właściwości obiektu określa czas jej trwania.
Ten obiekt występuje tylko wtedy, gdy wartość właściwościsnippet.type
touserBannedEvent
.
-
-
Nowe i zaktualizowane błędy
-
Interfejs API obsługuje te nowe błędy:
Szczegóły błędu liveBroadcasts.bind
Metoda liveBroadcasts.bind
zwraca błąd403
(Forbidden
), aby wskazać, że użytkownik wysłał zbyt wiele żądań w określonym czasie. Przyczyna błędu touserRequestsExceedRateLimit
.
MetodyliveBroadcasts.insert
iliveBroadcasts.update
obsługują już ten sam błąd.liveStreams.insert
Metoda liveStreams.insert
obsługuje 4 nowe błędy400
(Bad Request
), które wskazują nieprawidłową wartość usługi w zasobieliveStream
, który próbowano wstawić w żądaniu. Poniżej znajdziesz listę przyczyn błędów i właściwości, z którymi są one powiązane:
invalidFormat
:cdn.format
invalidFrameRate
:cdn.frameRate
invalidIngestionType
:cdn.ingestionType
invalidResolution
:cdn.resolution
liveStreams.insert
Metoda liveStreams.insert
obsługuje 2 nowe błędy400
(Bad Request
), z których każdy wskazuje, że w zasobieliveStream
, który próbowano wstawić w żądaniu, nie ma wymaganej wartości. Poniżej znajdziesz listę przyczyn błędów i właściwości, z którymi są one powiązane:
frameRateRequired
:cdn.frameRate
resolutionRequired
:cdn.resolution
liveStream
musisz określić wartość właściwościcdn.format
lub właściwościcdn.frameRate
icdn.resolution
.
- Jeśli nie określisz wartości żadnego z tych 3 parametrów, interfejs API zwróci błąd
formatRequired
. - Jeśli określisz wartość parametru
cdn.resolution
, ale nie parametrucdn.frameRate
, interfejs API zwróci błądframeRateRequired
. - Jeśli określisz wartość parametru
cdn.frameRate
, ale nie parametrucdn.resolution
, interfejs API zwróci błądresolutionRequired
.
liveStreams.update
Metoda liveStreams.update
zwraca błąd403
(Forbidden
), jeśli żądanie próbuje zmodyfikować wartość którejkolwiek z tych właściwości, których nie można zmienić:cdn.format
cdn.frameRate
cdn.ingestionType
cdn.resolution
reason
ma wartośćliveStreamModificationNotAllowed
.
-
18 grudnia 2015 r.
Przepisy Unii Europejskiej (UE) wymagają, aby użytkownicy w UE otrzymywali określone informacje i wyrażali zgodę na wykorzystanie danych. W związku z tym w przypadku użytkowników z Unii Europejskiej musisz przestrzegać polityki w zakresie zgody użytkownika z UE. Dodaliśmy informację o tym wymaganiu do Warunków korzystania z interfejsów API YouTube.
17 grudnia 2015 r.
Ta aktualizacja zawiera następujące zmiany:
-
Nowe zasoby i metody
-
Interfejs API obsługuje kilka nowych zasobów, które umożliwiają korzystanie z funkcji czatu podczas transmisji na żywo. YouTube obsługuje funkcję czatu na żywo podczas aktywnych transmisji na żywo. Te zasoby i ich metody umożliwiają pobieranie wiadomości z czatu, a także funkcje administracyjne czatu.
Zasoby liveChatMessage
Ten zasób reprezentuje wiadomość na czacie na żywo w YouTube. YouTube obsługuje kilka rodzajów wiadomości, w tym wiadomości tekstowe i wydarzenia związane z finansowaniem przez fanów. Niektóre typy wiadomości identyfikują konkretną fazę czatu, np. początek okresu tylko dla sponsorów lub koniec czatu. Interfejs API obsługuje metody wyświetlania, wstawiania i usuwania wiadomości na czacie na żywo. liveChatModerators
Ten zasób identyfikuje moderatora czatu. Moderatorzy mogą wykonywać niektóre funkcje administracyjne, takie jak banowanie użytkowników na czacie czy usuwanie wiadomości. Interfejs API obsługuje metody wyświetlania listy moderatorów czatu na żywo, wstawiania i usuwania ich. liveChatBans
Ten zasób identyfikuje użytkownika, który ma zakaz wysyłania wiadomości na konkretnym czacie na żywo. Blokady mogą być tymczasowe lub trwałe. Interfejs API obsługuje metody wstawiania i usuwania blokad czatu na żywo. fanFundingEvents
Ten zasób reprezentuje wydarzenie związane z finansowaniem przez fanów na kanale w YouTube. Finansowanie przez fanów umożliwia widzom dobrowolne wspieranie twórców YouTube za pomocą jednorazowych wpłat.
MetodafanFundingEvents.list
interfejsu API wyświetla listę zdarzeń związanych z finansowaniem przez fanów na kanale. Wydarzenia związane z finansowaniem przez fanów, które są inicjowane na czacie na żywo podczas transmisji na żywo należącej do kanału, również wywołująfanFundingEvent
wiadomość na czacie na żywo transmisji.
Więcej informacji o finansowaniu przez fanów znajdziesz w Centrum pomocy YouTube.sponsors
Zasób sponsor
identyfikuje sponsora kanału w YouTube. Sponsor płaci kanałowi miesięczną opłatę. Obok wiadomości sponsora na czacie na żywo kanału wyświetla się plakietka. Sponsorzy mogą też brać udział w czatach na żywo przeznaczonych wyłącznie dla nich, jeśli takie czaty są organizowane.
Metodasponsors.list
interfejsu API wyświetla listę sponsorów kanału. Gdy użytkownicy zaczną wspierać kanał podczas transmisji na żywo, której jest on właścicielem, interfejs API doda też do czatu na żywo transmisjinewSponsorEvent
wiadomość.
Więcej informacji o sponsorowaniu znajdziesz w Centrum pomocy YouTube.
-
-
Aktualizacje istniejących zasobów i metod
-
Zasób
liveBroadcast
zawiera te nowe właściwości:Właściwości snippet.liveChatId
Identyfikator czatu na żywo w YouTube transmisji. Za pomocą tego identyfikatora możesz używać metod zasobu liveChatMessage
do pobierania, wstawiania i usuwania wiadomości na czacie. Możesz też dodawać i usuwać moderatorów czatu, blokować użytkownikom możliwość uczestniczenia w czatach na żywo oraz usuwać istniejące blokady.contentDetails.closedCaptionsType
Uwaga: ta właściwość zastępuje właściwość contentDetails.enableClosedCaptions
.
Wskazuje ona, czy napisy są włączone w przypadku transmisji, a jeśli tak, to jakiego rodzaju napisy są udostępniane:closedCaptionsDisabled
: napisy są wyłączone w transmisji na żywo.closedCaptionsHttpPost
: napisy będą przesyłane za pomocą żądania HTTP POST na adres URL przesyłania powiązany z transmisją na żywo.closedCaptionsEmbedded
: napisy zostaną zakodowane w strumieniu wideo w formatach EIA-608 lub CEA-708.
contentDetails.enableClosedCaptions
Ta właściwość została wycofana 17 grudnia 2015 r. Zamiast tego użyj właściwości contentDetails.closedCaptionsType
. W przypadku klientów interfejsu API, którzy już korzystają z tej usługi:- Ustawienie wartości właściwości na
true
jest równoznaczne z ustawieniem właściwościcontentDetails.closedCaptionsType
naclosedCaptionsHttpPost
. - Ustawienie wartości właściwości na
false
jest równoznaczne z ustawieniem właściwościcontentDetails.closedCaptionsType
naclosedCaptionsDisabled
.
-
Nowy parametr
broadcastType
metodyliveBroadcasts.list
umożliwia filtrowanie odpowiedzi API w celu uwzględnienia transmisji wydarzeń, transmisji trwałych lub wszystkich transmisji.Trwała transmisja to taka, która zawsze istnieje i nie jest powiązana z konkretnym wydarzeniem. Domyślna transmisja kanału to stała transmisja, do której można uzyskać dostęp w panelu na żywo w Studio twórców YouTube. Pozostałe transmisje na kanale to transmisje wydarzeń.
-
-
Pole
status.healthStatus.configurationIssues[].type
zasobuliveStream
zawiera te nowe błędy stanu:Błędy audioTooManyChannels
Dźwięk ma więcej niż 2 kanały. Obsługiwane są tylko dźwięki 1-kanałowe (mono) lub 2-kanałowe (stereo). Popraw liczbę kanałów dźwięku. frameRateHigh
Aktualna liczba klatek na sekundę jest za duża. Ustaw liczbę klatek na sekundę na lub mniej.%(framerate)s
-
Poprawiliśmy datę publikacji poprzedniej aktualizacji dokumentacji.
-
Nowe i zaktualizowane błędy
-
Oprócz błędów zdefiniowanych dla nowych zasobów wymienionych powyżej interfejs API obsługuje te nowe błędy:
Szczegóły błędu liveBroadcasts.update
Kod odpowiedzi HTTP forbidden (403)
Przyczyna closedCaptionsTypeModificationNotAllowed
Opis Wartość contentDetails.closedCaptionsType
można modyfikować tylko wtedy, gdy transmisja ma stancreated
lubready
.liveBroadcasts.update
Kod odpowiedzi HTTP invalidValue (400)
Przyczyna invalidEnableClosedCaptions
Opis W zasobie liveBroadcast wartość właściwości contentDetails.enableClosedCaptions
jest niezgodna z wartością ustawieniacontentDetails.closedCaptionType
. Zmodyfikuj zasób, aby zawierał tylko jedną z tych 2 właściwości, a następnie ponownie prześlij żądanie.
-
19 sierpnia 2015 r.
Ta aktualizacja zawiera następujące zmiany:
-
Nowe zasoby i metody
-
Uwaga: dokumentacja zasobu
liveChat
i jego metod jest poufna i widoczna tylko dla wybranych partnerów YouTube.Nowy zasób
liveChat
zawiera komentarz opublikowany podczas transmisji na żywo w YouTube. Interfejs API obsługuje 2 metody w przypadku tego zasobu:Metody liveChats.list
Wyświetla listę wiadomości na czacie na żywo w przypadku transmisji. liveChats.insert
Utwórz nową wiadomość na czacie. Wiadomości na czacie na żywo można pobierać i publikować tylko podczas transmisji na żywo.
-
-
Aktualizacje istniejących zasobów i metod
-
Zasób
liveStream
zawiera te nowe właściwości:Właściwości snippet.isDefaultStream
Wskazuje, czy ten strumień jest domyślnym strumieniem dla kanału. Domyślny strumień kanału istnieje bezterminowo, nie ma powiązanej godziny rozpoczęcia ani zakończenia i nie można go usunąć. Więcej informacji o działaniu domyślnych strumieni danych znajdziesz w definicji usługi. status.healthStatus
Ten obiekt zawiera informacje, które mogą pomóc w identyfikowaniu, diagnozowaniu i rozwiązywaniu problemów ze streamingiem. Obiekt zawiera wiele właściwości podrzędnych, które pomagają ocenić stan transmisji wideo na żywo.
W szczególności obiektstatus.healthStatus.configurationIssues[]
zawiera listę problemów wpływających na transmisję wideo. W nowym dokumencie Problemy z konfiguracją zasobów LiveStream znajdziesz listę wszystkich problemów zgłaszanych przez interfejs API.contentDetails.isReusable
Określa, czy strumień można ponownie wykorzystać, co oznacza, że można go powiązać z wieloma transmisjami. Nadawcy często używają tego samego strumienia do wielu różnych transmisji, jeśli odbywają się one w różnych terminach. -
Zasób
liveBroadcast
zawiera te nowe właściwości:Właściwości snippet.isDefaultBroadcast
Wskazuje, czy ta transmisja jest domyślną transmisją na kanale. Gdy na kanale YouTube włączona jest opcja transmisji na żywo, YouTube tworzy dla niego domyślną transmisję i domyślne nadawanie. Strumień określa, w jaki sposób właściciel kanału przesyła wideo na żywo do YouTube, a transmisja to sposób, w jaki widzowie mogą oglądać domyślny strumień. Więcej informacji o działaniu domyślnych transmisji znajdziesz w definicji usługi. contentDetails.enableLowLatency
Wskazuje, czy ta transmisja powinna być kodowana na potrzeby strumieniowania z małym opóźnieniem. Strumień o niskim opóźnieniu może skrócić czas, po którym film będzie widoczny dla użytkowników oglądających transmisję, ale może też wpłynąć na rozdzielczość dla widzów strumienia. statistics.totalChatCount
Łączna liczba wiadomości na czacie na żywo powiązanych z transmisją. Usługa i jej wartość są obecne, jeśli transmisja jest widoczna dla użytkownika i ma włączoną funkcję czatu na żywo. Pamiętaj, że po zakończeniu transmisji ta właściwość nie będzie miała wartości. Dlatego ta właściwość nie określa liczby wiadomości na czacie w przypadku zarchiwizowanego filmu z zakończonej transmisji na żywo.
-
-
Nowe i zaktualizowane błędy
-
Oprócz błędów zdefiniowanych dla nowego zasobu
liveChat
interfejs API obsługuje ten nowy błąd:Szczegóły błędu liveStreams.update
Kod odpowiedzi HTTP forbidden (403)
Przyczyna liveStreamModificationNotAllowed
Opis Interfejs API nie pozwala na zmianę strumienia wielokrotnego użytku na strumień jednorazowego użytku ani odwrotnie. Więcej informacji znajdziesz w artykule Omówienie transmisji i strumieni.
-
21 maja 2015 r.
Ta aktualizacja zawiera następujące zmiany:
-
YouTube obsługuje teraz transmisje na żywo w 60 kl./s, co oznacza płynniejsze odtwarzanie filmów z grami i innych filmów z szybką akcją. Gdy rozpoczniesz transmisję na żywo w YouTube w 60 kl./s, YouTube udostępni ją również w 30 kl./s na urządzeniach, na których oglądanie w wysokiej liczbie klatek na sekundę nie jest jeszcze możliwe.
Zasób
liveStream
w usłudzecdn.format
obsługuje 2 nowe wartości tej funkcji:720p_hfr
i1080p_hfr
.Więcej informacji o tej funkcji znajdziesz na blogu YouTube Creators.
21 sierpnia 2014 r.
Ta aktualizacja zawiera następujące zmiany:
-
Definicja parametru
walltime
metodyliveBroadcasts.control
została zaktualizowana o informację, że wartość właściwości jest podana w formacie ISO 8601 (YYYY-MM-DDThh:mm:ss.sssZ
). -
Interfejs API obsługuje teraz te błędy:
Typ błędu Szczegóły błędu Opis insufficientPermissions
liveStreamingNotEnabled
Wszystkie metody zasobów liveBroadcast
iliveStream
zwracają ten błąd, jeśli użytkownik, który autoryzował żądanie do interfejsu API, nie ma włączonej możliwości strumieniowania filmów na żywo w YouTube. Szczegółowe informacje o tym, dlaczego użytkownik nie może transmitować filmów na żywo, mogą być dostępne w ustawieniach kanału użytkownika na stronie https://www.youtube.com/features.rateLimitExceeded
userRequestsExceedRateLimit
Metody liveBroadcasts.insert
iliveStreams.insert
zwracają ten błąd, aby wskazać, że użytkownik wysłał zbyt wiele żądań w określonym czasie.
2 maja 2014 r.
Ta aktualizacja zawiera następujące zmiany:
-
Opisy zasobu
liveStream
i metodyliveBroadcasts.bind
zostały zaktualizowane, aby uwzględnić informację, że transmisja może być powiązana tylko z jednym strumieniem wideo, ale strumień wideo może być powiązany z więcej niż jedną transmisją. Ta zmiana to tylko korekta w dokumentacji. Funkcje interfejsu API nie uległy zmianie. -
W zasobie
liveBroadcast
zaktualizowaliśmy właściwośćcontentDetails.monitorStream.enableMonitorStream
, aby wyjaśnić, że jeśli wartość tej właściwości totrue
, musisz przenieść transmisję do stanutesting
, zanim będzie można ją przenieść do stanulive
. (Jeśli wartość właściwości tofalse
, transmisja nie może mieć etaputesting
, więc możesz bezpośrednio przejść do stanulive
. -
Właściwość
settings.offsetTimeMs
zasobuliveCuepoint
została zaktualizowana, aby zaznaczyć, że nie należy określać wartości tej właściwości, jeśli transmisja nie ma strumienia monitora. -
Wszystkie metody zasobów
liveBroadcast
iliveStream
obsługują teraz parametryonBehalfOfContentOwner
ionBehalfOfContentOwnerChannel
. Te parametry umożliwiają używanie tych samych danych logowania do autoryzacji w przypadku żądań interfejsu API dotyczących różnych kanałów powiązanych z tym samym właścicielem treści. -
Zaktualizowaliśmy dokumentację metody
liveCuepoints.insert
, aby poinformować, że podczas wywoływania tej metody można ustawić wartość właściwościsettings.walltime
. -
W dokumentacji błędów podajemy teraz kod odpowiedzi HTTP dla każdego typu błędu.
-
Interfejs API obsługuje teraz ten błąd:
Typ błędu Szczegóły błędu Opis insufficientPermissions
livePermissionBlocked
Metody liveBroadcasts.insert
,liveBroadcasts.transition
iliveStreams.insert
zwracają ten błąd, jeśli użytkownik, który autoryzował żądanie, nie może przesyłać strumieniowo filmów na żywo w YouTube. Szczegółowe informacje o tym, dlaczego użytkownik nie może transmitować filmów na żywo, mogą być dostępne w ustawieniach kanału użytkownika na stronie https://www.youtube.com/features. -
Błąd
invalidScheduledStartTime
metodyinvalidScheduledStartTime
został zaktualizowany, aby wyjaśnić, że zaplanowana godzina rozpoczęcia musi być wystarczająco bliska bieżącej dacie, aby można było niezawodnie zaplanować transmisję na ten czas.liveBroadcasts.insert
13 grudnia 2013 r.
Ta aktualizacja zawiera następujące zmiany:
-
Nowa właściwość
status.recordingStatus
zasobuliveBroadcast
określa bieżący stan transmisji. -
Nowa właściwość
contentDetails.enableClosedCaptions
zasobuliveBroadcast
wskazuje, czy można wczytać napisy do transmisji. Wartość właściwości można ustawić podczas wstawiania lub aktualizowania transmisji, ale nie można jej zmienić, gdy transmisja jest w stanietesting
lublive
. Jeśli ustawisz tę właściwość natrue
, zasóbliveStream
powiązany z transmisją określi adres URL przesyłania, który będzie używany w przypadku napisów do transmisji. -
Właściwość
snippet.scheduledEndTime
zasobuliveBroadcast
obsługuje teraz transmisje, które mają trwać bezterminowo. Po tej zmianie właściwość nie jest już wymagana w przypadku żądańliveBroadcasts.insert
iliveBroadcasts.update
.
Jeśli pobierzesz zasóbliveBroadcast
, który nie określa wartości tej właściwości, transmisja będzie zaplanowana na czas nieokreślony. Podobnie, jeśli wywołasz metodęliveBroadcasts.insert
lubliveBroadcasts.update
i nie określisz wartości tej właściwości, transmisja zostanie zaplanowana na czas nieokreślony. -
Właściwość
contentDetails.recordFromStart
zasobuliveBroadcast
, która miała już wartość domyślnątrue
, można teraz ustawić tylko nafalse
, jeśli kanał nadawczy może wyłączyć nagrywanie transmisji na żywo.Jeśli Twój kanał nie ma uprawnień do wyłączania nagrywania, a spróbujesz wstawić transmisję z właściwością
recordFromStart
ustawioną nafalse
, interfejs API zwróci błądForbidden
. Jeśli Twój kanał nie ma tego uprawnienia i spróbujesz zaktualizować transmisję, aby ustawić właściwośćrecordFromStart
nafalse
, interfejs API zwróci błądmodificationNotAllowed
. -
Zasób
liveBroadcast
nie zawiera już właściwościenableArchive
, która była wymieniona w opisach właściwościcontentDetails.enableDvr
icontentDetails.enableEmbed
. -
Lista prawidłowych wartości właściwości
status.lifeCycleStatus
zasobuliveBroadcast
została zaktualizowana i zawiera teraz opis każdego stanu. -
Nowa właściwość
settings.walltime
zasobuliveCuepoint
określa datę i godzinę, o której ma zostać wstawiony punkt wskazujący. Jeśli w żądaniu próbuje się wstawić punkt wskazujący, który określa wartość tej właściwości i właściwościsettings.offsetTimeMs
, interfejs API zwraca błąd. -
Nowy obiekt
contentDetails
w zasobieliveStream
zawiera informacje o strumieniu. Obecnie jedyną właściwością obiektu jestcontentDetails.closedCaptionsIngestionUrl
, która określa adres URL przesyłania napisów do filmu. -
Lista prawidłowych wartości właściwości
status.streamStatus
zasobuliveStream
została zaktualizowana i zawiera teraz opis każdego stanu. -
Nowy parametr
walltime
metodyliveBroadcasts.control
pozwala określić datę i godzinę zmiany slajdu. Interfejs API zwraca błąd, jeśli żądanie określa wartość tego parametru i parametruoffsetTimeMs
. -
W odpowiedzi interfejsu API na żądanie
liveBroadcasts.list
wartość właściwościkind
zmieniła się zyoutube#liveBroadcastList
nayoutube#liveBroadcastListResponse
. -
W odpowiedzi interfejsu API na żądanie
liveStreams.list
wartość właściwościkind
zmieniła się zyoutube#liveStreamList
nayoutube#liveStreamListResponse
. -
Właściwość
eventId
została wycofana zarówno z funkcjiliveBroadcastListResponse
, jak iliveStreamListResponse
. -
Interfejs API obsługuje te nowe błędy:
Typ błędu Szczegóły błędu Opis invalidValue
conflictingTimeFields
Metoda liveBroadcasts.control
zwraca ten błąd, jeśli w żądaniu podasz wartości parametrówoffsetTimeMs
iwalltime
. Żądanie może pomijać oba parametry lub określać wartość jednego z nich.invalidValue
invalidWalltime
Metoda liveBroadcasts.control
zwraca ten błąd, jeśli wartość parametruwalltime
jest nieprawidłowa.forbidden
enableClosedCaptionsModificationNotAllowed
Metoda liveBroadcasts.update
zwraca ten błąd, jeśli spróbujesz zaktualizować wartośćcontentDetails.enableClosedCaptions
, a stan transmisji nie jestcreated
aniready
.invalidValue
conflictingTimeFields
Metoda liveCuepoints.insert
zwraca ten błąd, jeśli w żądaniu podasz wartości właściwościsettings.offsetTimeMs
isettings.walltime
. Żądanie może pomijać obie właściwości lub określać wartość jednej z nich.Dodatkowo metoda
liveStreams.update
nie obsługuje już błęducdnRequired
podobnego do tego, który obsługuje metodaliveStreams.insert
.
10 maja 2013 r.
Ta aktualizacja zawiera następujące zmiany:
-
YouTube nie identyfikuje już eksperymentalnych funkcji i usług interfejsu API. Zamiast tego udostępniamy teraz listę interfejsów API YouTube, które podlegają zasadom wycofywania.
2 maja 2013 r.
Ta aktualizacja zawiera następujące zmiany:
-
Nowa metoda
liveBroadcasts.control
umożliwia włączanie i wyłączanie ustawień wyświetlania planszy, która pojawia się w strumieniu transmisji w przypadku transmisji, która już trwa. Jeśli transmisja jest opóźniona, możesz też użyć tej metody, aby określić przesunięcie czasowe, po którym nastąpi żądana zmiana planszy. -
Zaktualizowaliśmy definicje tych właściwości, aby wyjaśnić, że wartości właściwości muszą być ustawione, jeśli aktualizujesz część
contentDetails
zasobuliveBroadcast
: -
liveStream
zasobustatus.streamStatus
nie obsługuje już wartoścideleted
jako możliwego stanu strumienia. -
Informacje zwracane przez interfejs API w przypadku wielu komunikatów o błędach zostały zmienione, aby lepiej wyjaśniać, dlaczego wystąpiły konkretne błędy. Interfejs API obsługuje też kilka nowych błędów.
27 marca 2013 r.
Ta aktualizacja zawiera następujące zmiany:
-
W zasobie
liveBroadcast
zmieniono te właściwości:- Nazwa usługi
startWithSlateCuepoint
została zmieniona nastartWithSlate
. - Nazwa usługi
enableArchive
została zmieniona narecordFromStart
. - Obiekt
slateSettings
został wycofany i usunięty z dokumentacji. Usunęliśmy też komunikaty o błędach związane z obiektemslateSettings
lub jego właściwościami. Usunęliśmy też sekcję „Wyświetlanie tabliczek” z przewodnika Wprowadzenie.
- Nazwa usługi
-
Interfejs API nie obsługuje już wstawiania ekranów w strumieniu za pomocą metody
liveCuepoints.insert
. Poniższe dokumenty zostały zaktualizowane w celu odzwierciedlenia omawianej zmiany:-
Strona indeksu, przewodnik Pierwsze kroki i samouczek Życie transmisji nie wspominają już o tej funkcji.
-
Właściwość
settings.cueType
zasobuliveCuepoint
nie obsługuje już wartościslate
. (Jedyną obsługiwaną wartością jestad
. -
Właściwość
settings.eventState
zasobuliveCuepoint
została wycofana i usunięta z dokumentacji.
-
18 marca 2013 r.
Ta aktualizacja zawiera następujące zmiany:
-
Wszystkie komunikaty o błędach w interfejsie API zostały zaktualizowane, aby dokładniej wyjaśniać możliwe błędy i w miarę możliwości oferować wskazówki dotyczące ich naprawy.
-
Interfejs API może teraz zwracać kilka nowych błędów. Poniżej znajdziesz listę błędów i metod interfejsu API, które mogą je zwracać:
liveBroadcasts.insert
– zaplanowany czas zakończenia transmisji musi być późniejszy niż zaplanowany czas rozpoczęcia.liveBroadcasts.insert
– transmisja określa nieprawidłowy stan prywatności.liveBroadcasts.update
– zasób nie zawiera wartości właściwościcontentDetails.enableArchive
lub nie jest ona w nim ustawiona.liveBroadcasts.update
– zasób nie zawiera wartości właściwościcontentDetails.enableContentEncryption
lub nie jest ona w nim ustawiona.liveBroadcasts.update
– zasób nie zawiera wartości właściwościcontentDetails.enableDvr
lub nie jest ona w nim ustawiona.liveStreams.insert
– tytuł wycinka musi mieć od 1 do 128 znaków.liveStreams.update
– zasób nie zawiera wartości właściwościsnippet.title
lub nie jest ona w nim ustawiona.
-
liveStream
Dokumentacja zasobu została zaktualizowana, aby odzwierciedlać fakt, że multicast i WebM nie są obsługiwanymi metodami przesyłania danych, jak wcześniej podano. Lista formatów właściwościcdn.format
została odpowiednio zaktualizowana, a obiektcdn.multicastIngestionInfo
i jego właściwości podrzędne zostały usunięte z dokumentacji zasobu. Dodatkowohttp
zostało usunięte z listy obsługiwanych wartościcdn.ingestionType
.