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
liveBroadcastzawiera 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
partmetodyliveBroadcast.listobsługuje wartośćmonetizationDetails. - Metoda
updatemoż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.updatenie wymaga już podawania wartości w tych polach:snippet.titlestatus.privacyStatus
Jeśli pominiesz te pola w żądaniu, pozostaną one bez zmian.
1 listopada 2022 r.
-
Nowa metoda
liveBroadcasts.cuepointumoż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.insertzostała wycofana. Obsługa metodyliveCuepoints.insertzostanie 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.controlzostał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.updatenie wymaga już podawania wartości w tych polach:contentDetails.enableContentEncryptioncontentDetails.enableDvrcontentDetails.enableEmbedcontentDetails.recordFromStartcontentDetails.startWithSlate
Jeśli pominiesz te pola w żądaniu, pozostaną one bez zmian.
-
Usunęliśmy dokumentację wycofanych pól
liveBroadcast:contentDetails.enableContentEncryptioncontentDetails.startWithSlate
1 kwietnia 2022 r.
Ta aktualizacja zawiera następujące zmiany:
-
Właściwość
snippet.typeobsługuje teraz 2 nowe wartości:membershipGiftingEventgiftMembershipReceivedEvent
-
Nowa właściwość
snippet.membershipGiftingDetailszasobuliveChatMessagei jej elementy podrzędne zawierają informacje o wydarzeniu związanym z przekazywaniem subskrypcji. Podobnie nowa właściwośćsnippet.giftMembershipReceivedDetailsi 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.typeobsługuje teraz 2 nowe wartości:newSponsorEventmemberMilestoneChatEvent
-
Nowa właściwość
snippet.memberMilestoneChatDetailszasobuliveChatMessagei 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.newSponsorDetailsi 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.madeForKidszasobuliveBroadcast, 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.selfDeclaredMadeForKidsnatruepodczas wywoływania metodyliveBroadcasts.insertw celu utworzenia transmisji. -
Uwaga: ta zmiana obejmuje ogłoszenie o wycofaniu i aktualizację wcześniejszego ogłoszenia o wycofaniu.
Metoda
liveBroadcasts.controlzostanie 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.controlzostaną 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
filezostał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
liveBroadcastobsł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.enableAutoStartlubcontentDetails.enableAutoStopnatrue. -
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
liveStreamiliveBroadcastkanałó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
liveBroadcastzasobuisDefaultBroadcast. Po dacie wycofania ta właściwość nie będzie zwracana. - Sprawdza wartość właściwości
liveStreamzasobuisDefaultStream. Po dacie wycofania ta właściwość nie będzie zwracana. - Wywołuje metodę
liveBroadcasts.listi ustawia wartość parametrubroadcastTypenapersistentluball. W ramach tych zmian ten parametr zostanie wycofany. Od daty wycofania:- Jeśli wartość parametru
broadcastTypetopersistent, metodaliveBroadcasts.listnie zwróci żadnych wyników. - Jeśli wartość parametru
broadcastTypetoall, metodaliveBroadcasts.listnie 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
liveBroadcastiliveStreamoraz 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.
-
liveBroadcastzawiera 2 nowe właściwości, które pomagają twórcom i widzom identyfikować treści przeznaczone dla dzieci:-
Właściwość
selfDeclaredMadeForKidsumoż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 zasobyliveBroadcasttylko wtedy, gdy właściciel kanału autoryzował żądanie interfejsu API. -
Właściwość
madeForKidsumoż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
channelobsługuje też nowe właściwościselfDeclaredMadeForKidsimadeForKids.
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
liveChatMessagewłaściwośćsnippet.typejest 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
superChatEventwartość logicznasnippet.isSuperStickerEventwskazuje, czy wiadomość na superczacie jest też supernaklejką. Jeśli tak, obiektsnippet.superStickerMetadatazawiera 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.insertzostała zaktualizowana, aby odzwierciedlać fakt, że parametronBehalfOfContentOwnerjest 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
hlmetodysuperChatEvents.listumożliwia określenie, że wartość właściwościsnippet.displayStringpowinna 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
superChatEventreprezentuje 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.typeobsługuje teraz wartośćsuperChatEvent, która wskazuje, że zasób opisuje Super Chat.Dodatkowo nowy obiekt
liveChatMessagezasobu i jego elementy podrzędne zawierają informacje o wydarzeniu związanym z superczatem.snippet.superChatDetails -
Właściwość
cdn.resolutionzasobuliveStreamobsługuje teraz wartość2160p.
-
-
Nowe i zaktualizowane błędy
-
Interfejs API obsługuje te nowe błędy:
Szczegóły błędu liveBroadcasts.insert,liveBroadcasts.updateMetody liveBroadcasts.insertiliveBroadcasts.updatezwracają błędy400(Bad Request), aby wskazać, że wstawiany lub aktualizowany zasóbliveBroadcastzawiera nieprawidłową wartość właściwościcontentDetails.enableEmbedlubcontentDetails.projection. Przyczyny błędów w przypadku tych 2 nowych błędów to odpowiednioinvalidEmbedSettingiinvalidProjection.
-
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.listnie będzie już zwracać wiadomości z wartościąsnippet.typerównąfanFundingEvent. Podobnie zasobyliveChatMessagenie będą już zawierać obiektusnippet.fanFundingEventDetails. - Metoda
fanFundingEvents.listnie 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
liveStreamaktualizacje zasobów-
YouTube obsługuje teraz transmisje w rozdzielczości 1440p przy 30 lub 60 klatkach na sekundę.
Dodatkowo zasób
liveStreamzawiera nowe właściwości do określania liczby klatek na sekundę i rozdzielczości przychodzących danych wideo:Właściwości cdn.frameRateLiczba klatek na sekundę przychodzących danych wideo. Prawidłowe wartości to 30fpsi60fps.cdn.resolutionRozdzielczość przychodzących danych wideo. Prawidłowe wartości właściwości to: 1440p,1080p,720p,480p,360pi240p. -
W związku z wprowadzeniem właściwości
cdn.frameRateicdn.resolutionzasobuliveStreamwłaściwośćcdn.formattego zasobu została wycofana. Właściwośćcdn.formatokreśla rozdzielczość i liczbę klatek w jednej wartości.Zachęcamy do przejścia na nowo obsługiwane pola. W międzyczasie
cdn.formatnadal działa. Poza tym żądania wstawienia transmisji na żywo są obecnie realizowane, o ile podasz wartości właściwościcdn.formatlub właściwościcdn.frameRateicdn.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.formatjest wycofana, obsługuje teraz 2 nowe wartości:1440pi1440p_hfr. Odzwierciedla to obsługę przez interfejs API strumieni w rozdzielczości 1440p przy 30 lub 60 klatkach na sekundę.
-
liveBroadcastaktualizacje zasobów-
Zasób
liveBroadcastzawiera te nowe właściwości:Właściwości contentDetails.boundStreamLastUpdateTimeMsData i godzina ostatniej aktualizacji transmisji na żywo, do której odwołuje się właściwość contentDetails.boundStreamIdtransmisji.contentDetails.projectionFormat projekcji transmisji. Domyślna wartość właściwości to rectangular. Prawidłowe wartości właściwości to360irectangular. -
Zaktualizowaliśmy definicję właściwości
liveBroadcastzasobustatistics.totalChatCount, aby zaznaczyć, że wartość właściwości jest widoczna tylko wtedy, gdy transmisja zawiera co najmniej 1 wiadomość na czacie.
-
liveChatMessageaktualizacje zasobów-
Właściwość
snippet.typeobsługuje 2 nowe wartości –messageDeletedEventiuserBannedEvent– 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
liveChatMessagezawiera te nowe właściwości:Właściwości snippet.messageDeletedDetailsTen 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.typetomessageDeletedEvent.snippet.userBannedDetailsTen 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.typetouserBannedEvent.
-
-
Nowe i zaktualizowane błędy
-
Interfejs API obsługuje te nowe błędy:
Szczegóły błędu liveBroadcasts.bindMetoda liveBroadcasts.bindzwraca błąd403(Forbidden), aby wskazać, że użytkownik wysłał zbyt wiele żądań w określonym czasie. Przyczyna błędu touserRequestsExceedRateLimit.
MetodyliveBroadcasts.insertiliveBroadcasts.updateobsługują już ten sam błąd.liveStreams.insertMetoda liveStreams.insertobsł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.formatinvalidFrameRate:cdn.frameRateinvalidIngestionType:cdn.ingestionTypeinvalidResolution:cdn.resolution
liveStreams.insertMetoda liveStreams.insertobsł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.frameRateresolutionRequired:cdn.resolution
liveStreammusisz określić wartość właściwościcdn.formatlub właściwościcdn.frameRateicdn.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.updateMetoda liveStreams.updatezwraca 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.formatcdn.frameRatecdn.ingestionTypecdn.resolution
reasonma 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 liveChatMessageTen 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. liveChatModeratorsTen 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. liveChatBansTen 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. fanFundingEventsTen 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.listinterfejsu 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ąfanFundingEventwiadomość na czacie na żywo transmisji.
Więcej informacji o finansowaniu przez fanów znajdziesz w Centrum pomocy YouTube.sponsorsZasób sponsoridentyfikuje 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.listinterfejsu 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 transmisjinewSponsorEventwiadomość.
Więcej informacji o sponsorowaniu znajdziesz w Centrum pomocy YouTube.
-
-
Aktualizacje istniejących zasobów i metod
-
Zasób
liveBroadcastzawiera te nowe właściwości:Właściwości snippet.liveChatIdIdentyfikator czatu na żywo w YouTube transmisji. Za pomocą tego identyfikatora możesz używać metod zasobu liveChatMessagedo 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.closedCaptionsTypeUwaga: 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.enableClosedCaptionsTa 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
truejest równoznaczne z ustawieniem właściwościcontentDetails.closedCaptionsTypenaclosedCaptionsHttpPost. - Ustawienie wartości właściwości na
falsejest równoznaczne z ustawieniem właściwościcontentDetails.closedCaptionsTypenaclosedCaptionsDisabled.
-
Nowy parametr
broadcastTypemetodyliveBroadcasts.listumoż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[].typezasobuliveStreamzawiera te nowe błędy stanu:Błędy audioTooManyChannelsDź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. frameRateHighAktualna 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.updateKod odpowiedzi HTTP forbidden (403)Przyczyna closedCaptionsTypeModificationNotAllowedOpis Wartość contentDetails.closedCaptionsTypemożna modyfikować tylko wtedy, gdy transmisja ma stancreatedlubready.liveBroadcasts.updateKod odpowiedzi HTTP invalidValue (400)Przyczyna invalidEnableClosedCaptionsOpis W zasobie liveBroadcast wartość właściwości contentDetails.enableClosedCaptionsjest 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
liveChati jego metod jest poufna i widoczna tylko dla wybranych partnerów YouTube.Nowy zasób
liveChatzawiera komentarz opublikowany podczas transmisji na żywo w YouTube. Interfejs API obsługuje 2 metody w przypadku tego zasobu:Metody liveChats.listWyświetla listę wiadomości na czacie na żywo w przypadku transmisji. liveChats.insertUtwó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
liveStreamzawiera te nowe właściwości:Właściwości snippet.isDefaultStreamWskazuje, 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.healthStatusTen 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.isReusableOkreś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
liveBroadcastzawiera te nowe właściwości:Właściwości snippet.isDefaultBroadcastWskazuje, 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.enableLowLatencyWskazuje, 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
liveChatinterfejs API obsługuje ten nowy błąd:Szczegóły błędu liveStreams.updateKod odpowiedzi HTTP forbidden (403)Przyczyna liveStreamModificationNotAllowedOpis 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
liveStreamw usłudzecdn.formatobsługuje 2 nowe wartości tej funkcji:720p_hfri1080p_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
walltimemetodyliveBroadcasts.controlzostał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 insufficientPermissionsliveStreamingNotEnabledWszystkie metody zasobów liveBroadcastiliveStreamzwracają 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.rateLimitExceededuserRequestsExceedRateLimitMetody liveBroadcasts.insertiliveStreams.insertzwracają 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
liveStreami metodyliveBroadcasts.bindzostał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
liveBroadcastzaktualizowaliś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.offsetTimeMszasobuliveCuepointzostał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
liveBroadcastiliveStreamobsługują teraz parametryonBehalfOfContentOwnerionBehalfOfContentOwnerChannel. 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 insufficientPermissionslivePermissionBlockedMetody liveBroadcasts.insert,liveBroadcasts.transitioniliveStreams.insertzwracają 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
invalidScheduledStartTimemetodyinvalidScheduledStartTimezostał 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.recordingStatuszasobuliveBroadcastokreśla bieżący stan transmisji. -
Nowa właściwość
contentDetails.enableClosedCaptionszasobuliveBroadcastwskazuje, 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 stanietestinglublive. Jeśli ustawisz tę właściwość natrue, zasóbliveStreampowią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.scheduledEndTimezasobuliveBroadcastobsługuje teraz transmisje, które mają trwać bezterminowo. Po tej zmianie właściwość nie jest już wymagana w przypadku żądańliveBroadcasts.insertiliveBroadcasts.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.insertlubliveBroadcasts.updatei nie określisz wartości tej właściwości, transmisja zostanie zaplanowana na czas nieokreślony. -
Właściwość
contentDetails.recordFromStartzasobuliveBroadcast, 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ą
recordFromStartustawioną 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śćrecordFromStartnafalse, interfejs API zwróci błądmodificationNotAllowed. -
Zasób
liveBroadcastnie zawiera już właściwościenableArchive, która była wymieniona w opisach właściwościcontentDetails.enableDvricontentDetails.enableEmbed. -
Lista prawidłowych wartości właściwości
status.lifeCycleStatuszasobuliveBroadcastzostała zaktualizowana i zawiera teraz opis każdego stanu. -
Nowa właściwość
settings.walltimezasobuliveCuepointokreś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
contentDetailsw zasobieliveStreamzawiera 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.streamStatuszasobuliveStreamzostała zaktualizowana i zawiera teraz opis każdego stanu. -
Nowy parametr
walltimemetodyliveBroadcasts.controlpozwala 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.listwartość właściwościkindzmieniła się zyoutube#liveBroadcastListnayoutube#liveBroadcastListResponse. -
W odpowiedzi interfejsu API na żądanie
liveStreams.listwartość właściwościkindzmieniła się zyoutube#liveStreamListnayoutube#liveStreamListResponse. -
Właściwość
eventIdzostała wycofana zarówno z funkcjiliveBroadcastListResponse, jak iliveStreamListResponse. -
Interfejs API obsługuje te nowe błędy:
Typ błędu Szczegóły błędu Opis invalidValueconflictingTimeFieldsMetoda liveBroadcasts.controlzwraca ten błąd, jeśli w żądaniu podasz wartości parametrówoffsetTimeMsiwalltime. Żądanie może pomijać oba parametry lub określać wartość jednego z nich.invalidValueinvalidWalltimeMetoda liveBroadcasts.controlzwraca ten błąd, jeśli wartość parametruwalltimejest nieprawidłowa.forbiddenenableClosedCaptionsModificationNotAllowedMetoda liveBroadcasts.updatezwraca ten błąd, jeśli spróbujesz zaktualizować wartośćcontentDetails.enableClosedCaptions, a stan transmisji nie jestcreatedaniready.invalidValueconflictingTimeFieldsMetoda liveCuepoints.insertzwraca ten błąd, jeśli w żądaniu podasz wartości właściwościsettings.offsetTimeMsisettings.walltime. Żądanie może pomijać obie właściwości lub określać wartość jednej z nich.Dodatkowo metoda
liveStreams.updatenie obsługuje już błęducdnRequiredpodobnego 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.controlumoż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ęść
contentDetailszasobuliveBroadcast: -
liveStreamzasobustatus.streamStatusnie obsługuje już wartoścideletedjako 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
liveBroadcastzmieniono te właściwości:- Nazwa usługi
startWithSlateCuepointzostała zmieniona nastartWithSlate. - Nazwa usługi
enableArchivezostała zmieniona narecordFromStart. - Obiekt
slateSettingszostał wycofany i usunięty z dokumentacji. Usunęliśmy też komunikaty o błędach związane z obiektemslateSettingslub 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.cueTypezasobuliveCuepointnie obsługuje już wartościslate. (Jedyną obsługiwaną wartością jestad. -
Właściwość
settings.eventStatezasobuliveCuepointzostał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.enableArchivelub nie jest ona w nim ustawiona.liveBroadcasts.update– zasób nie zawiera wartości właściwościcontentDetails.enableContentEncryptionlub nie jest ona w nim ustawiona.liveBroadcasts.update– zasób nie zawiera wartości właściwościcontentDetails.enableDvrlub 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.titlelub nie jest ona w nim ustawiona.
-
liveStreamDokumentacja 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.formatzostała odpowiednio zaktualizowana, a obiektcdn.multicastIngestionInfoi jego właściwości podrzędne zostały usunięte z dokumentacji zasobu. Dodatkowohttpzostało usunięte z listy obsługiwanych wartościcdn.ingestionType.