Ta strona zawiera informacje o zmianach w interfejsie YouTube Live Streaming API i aktualizacjach dokumentacji. Zasubskrybuj ten dziennik zmian.
9 października 2023 r.
Informacje o tym, które identyfikatory naklejek odpowiadają którym supernaklejkom, znajdziesz w tym pliku CSV (tylko do celów informacyjnych).
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ły 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 reklam w trakcie filmu w stałych odstępach.
Jeśli właściciel transmisji włączy automatyczne reklamy, będzie mógł wyświetlać te aspekty zachowania reklam:
- długość przerwy między przerwami na reklamę w trakcie filmu.
- strategię harmonogramowania punktów wywołania reklamy. Punkty odniesienia można wstawiać jednocześnie dla wszystkich widzów lub ich czas może się różnić w zależności od widza. Ta druga strategia umożliwia YouTube planowanie punktów cue w szybszym tempie, co pozwala widzom otrzymywać punkty cue, gdy są one dostępne.
- okres, w którym reklamy w trakcie filmu nie są wyświetlane; w przypadku tej funkcji właściciel transmisji określa, że wstawianie reklam w trakcie filmu jest wstrzymane do określonego czasu.
Dokumentacja uwzględnia te zmiany w interfejsie API, które umożliwiają obsługę tej funkcji:
- Zasób
liveBroadcast
zawiera teraz obiektmonetizationDetails
. Pola obiektu wskazują, czy automatyczne wstawianie reklam jest włączone w przypadku transmisji, oraz podają dodatkowe informacje o punktach cuepoint do harmonogramu. - Parametr
part
metodyliveBroadcast.list
obsługuje wartośćmonetizationDetails
. - Metody
update
można używać do wstrzymywania wstawiania reklam w trakcie transmisji na żywo przez określony czas. Dokumentacja zawiera też informacje o kilku błędach, które mogą wystąpić podczas aktualizowania szczegółów dotyczących 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
Pominięcie tych pól w żądaniu spowoduje, że pozostaną one bez zmian.
1 listopada 2022 r.
-
Nowa metoda
liveBroadcasts.cuepoint
umożliwia każdemu właścicielowi kanału, który prowadzi transmisję na żywo w YouTube, wstawianie punktów cue w tej transmisji, co może powodować przerwy na reklamy. Ta metoda zastępuje metodęliveCuepoints.insert
, która umożliwiała tylko partnerom treści YouTube wstawianie punktów cue w transmisjach na żywo.Zaktualizowaliśmy kilka przewodników, aby uwzględnić tę nową metodę.
-
Uwaga: to jest ogłoszenie o wycofaniu.
Metoda
liveCuepoints.insert
została wycofana. Obsługa metodyliveCuepoints.insert
zostanie wycofana 1 maja 2023 r. 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. Powiadomienie o wycofaniu tej metody zostało opublikowane we wrześniu 2020 r.
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
Pominięcie tych pól w żądaniu spowoduje, że pozostaną one bez zmian.
-
Usunęliśmy dokumentację dotyczącą nieaktualnych 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 zdarzeniu darowania członkostwa. Podobnie nowa właściwośćsnippet.giftMembershipReceivedDetails
i jej elementy zawierają informacje o zdarzeniu Otrzymanie subskrypcji w ramach prezentu.
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 zawierają informacje o zdarzeniu wiadomości 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.
-
Definicja właściwości
status.madeForKids
zasobuliveBroadcast
została zaktualizowana, aby wyjaśnić, że jest ona tylko do odczytu. Nie oznacza to zmiany funkcji interfejsu API.Aby oznaczyć transmisję na żywo jako przeznaczoną dla dzieci, ustaw właściwość
status.selfDeclaredMadeForKids
natrue
podczas wywoływania metodyliveBroadcasts.insert
w celu utworzenia transmisji. -
Uwaga: ta zmiana obejmuje powiadomienie o wycofaniu i aktualizację wcześniejszego powiadomienia o wycofaniu.
Metoda
liveBroadcasts.control
zostanie wycofana 1 października 2020 r. lub później. Po tej dacie wszystkie wywołania tej metody będą zwracać błąd Forbidden (403), a metoda zostanie później całkowicie usunięta. Klienci mogą nadal stosować własne harmonogramy, dodając nakładkę do filmu wysyłanego do serwerów przetwarzania w YouTube.Termin wycofania, który został ogłoszony 16 kwietnia 2020 r. i pierwotnie zaplanowany na 1 września 2020 r., został przesunięty i teraz nastąpi 1 października 2020 r. lub później. W związku z tym funkcje objęte tym ogłoszeniem o wycofaniu oraz metoda
liveBroadcasts.control
zostaną wycofane w tym samym czasie.
17 lipca 2020 r.
Uwaga: ta wiadomość jest aktualizacją wcześniejszego ogłoszenia o zaprzestaniu obsługi.
Od 17 sierpnia 2020 r. nie będzie już obsługiwane pole cdn.format
zasobu liveStream
, które zostało wycofane w kwietniu 2016 r. Od tego dnia żądania, które nadal używają tego pola, będą się kończyć niepowodzeniem.
Jeśli Twój kod nadal używa pola cdn.format
, musisz go zaktualizować, aby określić częstotliwość i rozdzielczość klatek oddzielnie, używając właściwości cdn.frameRate
i cdn.resolution
.
6 lipca 2020 r.
Wprowadziliśmy kilka zmian w przewodniku Przesyłanie treści YouTube na żywo za pomocą HLS:
- Zalecana długość segmentu multimedialnego została zmieniona na 1–4 sekundy.
- Nowa sekcja wyjaśnia, jak uzyskać adres URL przetwarzania HLS w YouTube Studio.
-
Instrukcje formatowania wartości parametru
file
zostały przeniesione do nowej sekcji Uzupełnianie adresu URL przetwarzania HLS. Te instrukcje są ważne niezależnie od tego, czy URL przetwarzania HLS jest uzyskiwany z interfejsu API YouTube czy ze Studia twórców YouTube.
Dodatkowo nowe porównanie protokołów przetwarzania zawiera listę obsługiwanych przez YouTube protokołów przetwarzania, obsługiwane przez każdy z nich kodeki oraz dodatkowe informacje o odpowiednich przypadkach użycia.
16 kwietnia 2020 r.
Ta aktualizacja zawiera nową usługę i ogłoszenie o zaprzestaniu jej obsługi:
-
Zasób
liveBroadcast
obsługuje teraz usługęcontentDetails.enableAutoStop
. Właściwość ta wskazuje, czy transmisja powinna zostać automatycznie zatrzymana po około minucie od momentu, gdy właściciel kanału zatrzyma przesyłanie strumienia wideo na powiązanym kanale.Dokument Cykl życia transmisji został zaktualizowany, aby wyjaśnić, jak proces tworzenia i zarządzania wydarzeniem na żywo w YouTube zmienia się, gdy ustawisz właściwości
contentDetails.enableAutoStart
lubcontentDetails.enableAutoStop
natrue
. -
Uwaga: to jest ogłoszenie o wycofaniu. Zmiany wejdą w życie 1 września 2020 r. lub później. Poniżej datę, od której zmiany zaczną obowiązywać, określamy jako datę wycofania.
Ta aktualizacja wyjaśnia potencjalną zmianę powodującą niezgodność. Dotyczy to aplikacji klienckich interfejsu API, które do transmisji na żywo treści w YouTube korzystają z domyślnych zasobów
liveStream
iliveBroadcast
kanałów. Dotyczy to w szczególności identyfikatora transmisji i identyfikatora strumienia powiązanych z trwałą transmisją. Nie będzie można już uruchamiać nowych transmisji.Twoja aplikacja zostanie dotknięta, jeśli spełniony jest któryś z tych warunków:
- Sprawdza wartość właściwości
isDefaultBroadcast
zasobuliveBroadcast
. Ta właściwość nie zostanie zwrócona po dacie wycofania. - Sprawdza wartość właściwości
isDefaultStream
zasobuliveStream
. Ta właściwość nie zostanie zwrócona po dacie wycofania. - 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 przed tym czasem.
- Jeśli wartość parametru
W ostatnich latach YouTube automatycznie tworzył domyślny strumień i domyślną transmisję dla kanału, gdy włączono na nim transmisję na żywo. Domyślny strumień istniał bezterminowo, nie był powiązany z czasem rozpoczęcia ani zakończenia i nie można go było usunąć. Podobnie transmisja domyślna została uznana za trwałą. Zawsze istniało i nie było powiązane z żadnym konkretnym zdarzeniem.
W dniu wycofania:
- YouTube nie będzie już tworzyć domyślnych transmisji i transmisji na żywo. 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 ich łączenia. - 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, gdy wycofanie wejdzie w życie, trwająca transmisja nie zostanie przerwana. Po zakończeniu transmisji kanał nie będzie jednak mógł ponownie korzystać z domyślnej transmisji i domyślnego strumienia.
- Jeśli domyślna transmisja i domyślny stream kanału nie są aktywne, po wycofaniu tych funkcji YouTube będzie ignorować próby korzystania z tych zasobów do przesyłania filmów.
Jeśli Twoja aplikacja jest objęta tymi zmianami, zapoznaj się z tymi dokumentami, które pomogą Ci zaktualizować aplikację, aby nadal działała zgodnie z oczekiwaniami:
- Nowy przewodnik po migracji zawiera informacje o czynnościach, które deweloperzy mogą musieć wykonać w klientach API, które obecnie korzystają z domyślnych transmisji i strumyków.
- Przewodnik Życie transmisji zawiera szczegółowe instrukcje tworzenia wydarzeń na żywo w YouTube i zarządzania nimi. Każdy krok zawiera informacje o wywołaniach interfejsu API lub inne czynności, które należy wykonać, aby wykonać określone działanie. Twoja aplikacja będzie musiała wykonać te czynności, gdy YouTube przestanie obsługiwać domyślne transmisje strumieniowe i transmisje na żywo.
- 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 przez zasób member
i metodę members.list
.
Metoda sponsors.list
przestanie być obsługiwana 30 września 2020 r. lub później.
Klienci interfejsu API powinni zaktualizować wywołania metody sponsors.list
, aby zamiast niej używać metody members.list
. Więcej informacji o nowej dokumentacji znajdziesz w historii zmian interfejsu YouTube Data API.
11 marca 2020 r.
Sekcja Usługa przetwarzania danych w przewodniku Przesyłanie treści YouTube na żywo za pomocą HLS została zaktualizowana, aby wyjaśnić proces, którego powinien użyć koder, aby uzupełnić wartość parametru file=
podczas tworzenia adresów URL przetwarzania danych pierwotnego i zapasowego.
4 lutego 2020 r.
Przewodnik Przenoszenie treści YouTube na żywo za pomocą HLS został zaktualizowany. Wskazuje on, że żądania DELETE
są opcjonalne, a 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ść identyfikacji treści skierowanych do dzieci, które YouTube nazywa „przeznaczonymi dla dzieci”. Więcej informacji na temat treści „przeznaczonych dla dzieci” znajdziesz w Centrum pomocy YouTube.
-
Zasoby
liveBroadcast
obsługują 2 nowe właściwości, które umożliwiają twórcom i widzom identyfikowanie treści przeznaczonych dla dzieci:-
Właściwość
selfDeclaredMadeForKids
umożliwia twórcom treści określenie, czy transmisja na żywo jest treścią skierowaną 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 tylko w odpowiedziach interfejsu API, które zawierają zasobyliveBroadcast
, jeśli właściciel kanału autoryzował żądanie interfejsu API. -
Właściwość
madeForKids
umożliwia każdemu użytkownikowi interfejsu API pobranie informacji o tym, czy transmisja jest przeznaczona dla dzieci. 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 interfejsu API YouTube 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ługi YouTube API i Zasadach dla deweloperów wejdą w życie 10 stycznia 2020 r. czasu pacyficznego.
20 sierpnia 2019 r.
Sekcja Wymagania w przewodniku Dostarczanie treści YouTube na żywo za pomocą HLS została zaktualizowana i zawiera 2 zmiany:
- Wyjaśnia on, że sprawdzoną metodą jest uwzględnianie w każdej playliście multimediów zarówno segmentów uznanych, jak i nierozpatrzonych. Dzięki temu zmniejsza się prawdopodobieństwo pominięcia segmentu, jeśli na stronie serwera utracisz playlistę multimediów. Możesz na przykład uwzględnić w każdej playlistie z multimediami maksymalnie 2 zatwierdzone segmenty i maksymalnie 5 niezatwierdzonych segmentów.
- Teraz wymagane jest wysłanie playlisty multimediów dla każdego segmentu multimediów. Dzięki temu serwer może szybko odzyskać playlistę multimediów, jeśli zostanie ona utracona. Ta praktyka była wcześniej wymieniona jako rekomendacja.
28 czerwca 2019 r.
YouTube obsługuje teraz przetwarzanie HLS. W związku z tym właściwość liveStream
zasobu ingestionType
obsługuje nową wartość hls
, aby identyfikować strumienie przetworzone w YouTube za pomocą HLS.
Nowy przewodnik Przesyłanie treści YouTube na żywo za pomocą HLS zawiera wskazówki dotyczące używania HLS do strumieniowego przesyłania treści na żywo do YouTube z poziomu kodera. Przewodnik ma pomóc dostawcom koderów w dodaniu obsługi przesyłania HLS do swoich produktów.
4 kwietnia 2019 r.
Ta aktualizacja zawiera następujące zmiany:
-
Dokumentacja referencyjna interfejsu API została zaktualizowana, aby lepiej wyjaśnić typowe przypadki użycia każdej metody i zapewnić dynamiczne, wysokiej jakości przykłady kodu w widżecie Eksplorator interfejsów API. Przykład znajdziesz w dokumentacji metody
liveBroadcasts.list
. Na stronach z opisami metod interfejsu API znajdziesz teraz 2 nowe elementy:-
Widget Eksplorator interfejsów API umożliwia wybranie zakresów autoryzacji, wpisanie przykładowych wartości parametrów i właściwości, a następnie wysłanie rzeczywistych żądań interfejsu API i obserwowanie rzeczywistych odpowiedzi interfejsu API. Widget oferuje też widok pełnoekranowy, który zawiera kompletne przykłady kodu, które dynamicznie aktualizują się, aby uwzględniać wprowadzone przez Ciebie zakresy i wartości.
-
W sekcji Typowe przypadki użycia opisano co najmniej 1 typowy przypadek użycia metody wyjaśnionej na stronie. Możesz na przykład wywołać metodę
liveBroadcasts.list
, aby pobrać dane o konkretnym przekazie lub o przekazach bieżącego użytkownika.Za pomocą linków w tej sekcji możesz wypełnić Eksplorator interfejsów API przykładowymi wartościami odpowiadającymi Twojemu przypadkowi użycia lub otworzyć Eksplorator interfejsów API na pełnym ekranie z już wypełnionymi wartościami. Te zmiany mają na celu ułatwienie Ci wyświetlania przykładów kodu, które można bezpośrednio zastosować w przypadku użycia, który chcesz wdrożyć w swojej aplikacji.
Przykładowe fragmenty kodu są obecnie obsługiwane w przypadku języków Java, JavaScript, PHP, Python i curl.
-
-
Strona przykłady kodu ma też nowy interfejs, który zawiera wszystkie funkcje opisane powyżej. Za pomocą tego narzędzia możesz zapoznać się z przypadkami użycia różnych metod, wczytywać wartości do Eksploratora interfejsów API i otwierać Eksplorator interfejsów API na pełnym ekranie, 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 znajdowały się przykładowe kody w Javie, PHP i Pythonie.
25 lutego 2019 r.
Dokumentacja zasobów liveChatMessage
i superChatEvent
została zaktualizowana, aby odzwierciedlić fakt, że oba zasoby mogą teraz zawierać informacje o supernaklejkach. Supernaklejki to rodzaj wiadomości superczatu, która wyświetla obraz. Podobnie jak w przypadku innych superczatów, supernaklejki są kupowane przez fanów podczas transmisji na żywo w YouTube.
- W zasobie
liveChatMessage
właściwośćsnippet.type
jest teraz ustawiona nasuperStickerEvent
, aby wskazać, że zasób zawiera informacje o supernaklejce. W takim przypadku zasób zawiera też obiektsnippet.superStickerDetails
, który zawiera dodatkowe informacje o supernaklejce. - W zasobach
superChatEvent
wartość logicznasnippet.isSuperStickerEvent
wskazuje, czy wiadomość superczatu 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ż wartości fanFundingEvents
, które zostały wycofane na początku 2017 r.
3 kwietnia 2017 r.
Dodaliśmy nowe przykłady kodu w Javie, które pokazują, jak wyświetlać, wstawiać i usuwać wiadomości czatu na żywo. Przykłady wywołują te metody:
13 lutego 2017 r.
Ta aktualizacja zawiera następujące zmiany:
-
Aktualizacje dotychczasowych zasobów i metod
-
Metoda
liveCuepoints.insert
została zaktualizowana, aby odzwierciedlić fakt, że parametronBehalfOfContentOwner
jest obecnie wymagany. Dodatkowo w opisie metody dodano 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 dotychczasowych 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 danego języka. Definicja tej właściwości została również odpowiednio zaktualizowana.Wartość parametru musi być kodem języka uwzględnionym na liście zwróconej przez metodę
i18nLanguages.list
. Wartość domyślna toen
, co oznacza, że domyślne działanie polega na formatowaniu ciągów tekstowych tak, jak byłyby używane w języku angielskim. Na przykład domyślnie ciąg znaków jest sformatowany jako$1.00
, a nie$1,00
.
-
1 lutego 2017 r.
Ta aktualizacja zawiera następujące zmiany:
-
Nowe materiały i metody
-
Nowy zasób
superChatEvent
reprezentuje wiadomość superczatu kupioną przez fana podczas transmisji na żywo w YouTube. W czacie na żywo w YouTube superczaty wyróżniają się na tle innych wiadomości w 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 widoczny na pasku aktywności, oraz maksymalna długość wiadomości zależą od kwoty zakupu. Więcej informacji o Superczatach znajdziesz w Centrum pomocy YouTube.
Interfejs API obsługuje metodę wyświetlania zdarzeń superczatu w przypadku transmisji na żywo na kanale z ostatnich 30 dni. Ta metoda zwraca też dane o zdarzeniach finansowania przez fanów (
fanFundingEvents
) z ostatniej transmisji na żywo na kanale.
-
-
Aktualizacje dotychczasowych zasobów i metod
-
Właściwość
snippet.type
obsługuje teraz wartośćsuperChatEvent
, która wskazuje, że zasób opisuje superczat.Dodatkowo nowa właściwość
snippet.superChatDetails
zasobuliveChatMessage
i jego elementy podrzędne zawierają informacje o wydarzeniu superczatu. -
Właściwość
cdn.resolution
zasobuliveStream
obsługuje teraz wartość2160p
.
-
-
Nowe i zmienione 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 zasobliveBroadcast
, który jest wstawiany lub aktualizowany, zawiera nieprawidłową wartość właściwościcontentDetails.enableEmbed
lubcontentDetails.projection
. Przyczyny tych błędów to odpowiednioinvalidEmbedSetting
iinvalidProjection
.
-
12 stycznia 2017 r.
Uwaga: to jest ogłoszenie o wycofaniu.
W związku z wprowadzeniem nowej funkcji Superczat wycofujemy funkcję finansowania przez fanów, a interfejs Fan Funding API zostanie wyłączony 28 lutego 2017 roku. W tym dniu:
- Metoda
liveChatMessages.list
nie będzie już zwracać wiadomości zsnippet.type
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:
-
Nowo opublikowane Warunki korzystania z usług interfejsu API YouTube („Zaktualizowane warunki”) omówione szczegółowo na blogu zespołu inżynierów i programistów YouTube zawierają wiele zmian w stosunku do dotychczasowych Warunków korzystania z usługi. Oprócz zaktualizowanych Warunków, które wejdą w życie 10 lutego 2017 r., aktualizacja zawiera kilka dokumentów pomocniczych wyjaśniających zasady, których muszą przestrzegać deweloperzy.
Pełny zestaw nowych dokumentów jest opisany w historii zmian zaktualizowanych Warunków. Ponadto w tej historii zmian będą też opisane przyszłe zmiany Zaktualizowanych Warunków lub dokumentów pomocniczych. Możesz zasubskrybować kanał RSS, który zawiera listę zmian w tej historii zmian, z poziomu 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
, aby identyfikować strumienie przetworzone w YouTube za pomocą DASH.
Nowy przewodnik Przesyłanie treści YouTube na żywo za pomocą DASH zawiera wskazówki dotyczące używania formatu dostawy DASH do strumieniowego przesyłania danych na żywo w YouTube z poziomu kodera. Ma ona ułatwić dostawcom kodeków dodawanie obsługi DASH do ich produktów.
18 kwietnia 2016 r.
Ta aktualizacja zawiera następujące zmiany:
-
Aktualizacje dotychczasowych zasobów i metod
liveStream
aktualizacje zasobów-
YouTube obsługuje teraz transmisje w rozdzielczości 1440p z szybkością 30 lub 60 FPS.
Zasób
liveStream
zawiera też 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ę danych wideo przychodzących. 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 nowe obsługiwane pola. W tym czasie
cdn.format
będzie nadal działać. Dodatkowo żądania wstawiania transmisji na żywo są obecnie realizowane, o ile określisz wartości właściwościcdn.format
lub właściwościcdn.frameRate
icdn.resolution
. Jeśli podasz wartości dla 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
została wycofana, obsługuje teraz 2 nowe wartości:1440p
i1440p_hfr
, aby odzwierciedlić obsługę strumieni 1440p z 30 lub 60 klatkami 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 strumienia na żywo, do którego odwołuje się właściwość contentDetails.boundStreamId
transmisji.contentDetails.projection
Format projekcji transmisji. Wartością domyślną właściwości jest rectangular
. Prawidłowe wartości właściwości to360
irectangular
. -
Definicja właściwości
statistics.totalChatCount
zasobuliveBroadcast
została zaktualizowana, aby wskazać, że jej wartość pojawia się 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 następnym punkcie. Zaktualizowaliśmy też definicję właściwościsnippet.authorChannelId
, aby wyjaśnić, co oznacza jej wartość 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ł wykluczony z czatu. Obiekt zawiera też informacje o samej blokadzie, m.in. czy jest ona trwała czy tymczasowa. Jeśli zakaz jest tymczasowy, jedna z właściwości obiektu określa czas trwania zakazu.
Ten obiekt jest obecny 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ść właściwości w zasobieliveStream
, który próbowała wstawić prośba. 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
). Każdy z nich wskazuje, że wymagana wartość nie występuje w zasobieliveStream
, który próbuje wstawić żądanie. 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 podać wartość właściwościcdn.format
lub właściwościcdn.frameRate
icdn.resolution
.
- Jeśli nie określisz wartości żadnej z tych 3 właściwości, interfejs API zwróci błąd
formatRequired
. - Jeśli określisz wartość parametru
cdn.resolution
, ale niecdn.frameRate
, interfejs API zwróci błądframeRateRequired
. - Jeśli określisz wartość parametru
cdn.frameRate
, ale niecdn.resolution
, interfejs API zwróci błądresolutionRequired
.
liveStreams.update
Metoda liveStreams.update
zwraca błąd403
(Forbidden
), jeśli żądanie próbuje zmodyfikować wartość którejś z tych niezmiennych właściwości:cdn.format
cdn.frameRate
cdn.ingestionType
cdn.resolution
reason
w komunikacie o błędzie toliveStreamModificationNotAllowed
.
-
18 grudnia 2015 r.
Przepisy Unii Europejskiej (UE) wymagają, aby użytkownicy w UE byli informowani o określonych kwestiach i aby uzyskać od nich zgodę. Dlatego w przypadku użytkowników z Unii Europejskiej musisz przestrzegać polityki w zakresie zgody użytkownika z UE. Dodaliśmy powiadomienie o tym wymaganiu w Warunkach korzystania z interfejsu API YouTube.
17 grudnia 2015 r.
Ta aktualizacja zawiera następujące zmiany:
-
Nowe materiały i metody
-
Interfejs API obsługuje kilka nowych zasobów, aby umożliwić korzystanie z czatu podczas transmisji na żywo. YouTube obsługuje czat na żywo podczas aktywnych transmisji na żywo, a te zasoby i ich metody umożliwiają odzyskiwanie wiadomości z czatu oraz wykonywanie funkcji administracyjnych dotyczących czatu.
Zasoby liveChatMessage
Ten zasób reprezentuje wiadomość na czacie na żywo w YouTube. YouTube obsługuje kilka typów wiadomości, w tym SMS-y i wydarzenia dotyczące finansowania przez fanów. Niektóre typy wiadomości wskazują na dany etap 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 z czatu lub usuwanie wiadomości. Interfejs API obsługuje metody wyświetlania, wstawiania i usuwania moderatorów czatu na żywo. liveChatBans
Ten zasób identyfikuje użytkownika, który został zablokowany w dodaniu wiadomości na konkretnym czacie na żywo. Zakaz może być tymczasowy lub stały. Interfejs API obsługuje metody dodawania i usuwania zakazów korzystania z czatu na żywo. fanFundingEvents
Ten zasób reprezentuje zdarzenie finansowania przez fanów na kanale w YouTube. Finansowanie przez fanów to sposób, dzięki któremu widzowie mogą dobrowolnie wspierać twórców YouTube, dokonując jednorazowej wpłaty.
MetodafanFundingEvents.list
interfejsu API zawiera listę zdarzeń finansowania przez fanów na kanale. Zbiórki fanów, które są inicjowane na czacie na żywo podczas transmisji na żywo należącej do kanału, również powodują wysłaniefanFundingEvent
wiadomości na czat 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 co miesiąc opłatę na rzecz kanału. Podczas czatów na żywo na kanale obok wiadomości sponsora będzie wyświetlać się plakietka, a sponsorzy mogą też uczestniczyć w czatach na żywo tylko dla sponsorów, jeśli takie są dostępne.
Metodasponsors.list
interfejsu API zawiera listę sponsorów kanału. Gdy użytkownicy decydują się na sponsorowanie kanału podczas transmisji na żywo prowadzonej przez ten kanał, interfejs API dodaje do czatu na żywo transmisji wiadomośćnewSponsorEvent
.
Więcej informacji o sponsorowaniu znajdziesz w Centrum pomocy YouTube.
-
-
Aktualizacje dotychczasowych 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 dla transmisji. Dzięki temu identyfikatorowi możesz używać metod zasobu liveChatMessage
do pobierania, wstawiania i usuwania wiadomości czatu. Możesz też dodawać i usuwać moderatorów czatu, blokować użytkowników przed uczestnictwem w czatach na żywo oraz usuwać istniejące blokady.contentDetails.closedCaptionsType
Uwaga: ta właściwość zastępuje właściwość contentDetails.enableClosedCaptions
.
Ta właściwość wskazuje, czy w Twoim programie są włączone napisy, a jeśli tak, to jakiego typu:closedCaptionsDisabled
: napisy są wyłączone w przypadku transmisji na żywo.closedCaptionsHttpPost
: napisy wysyłasz za pomocą HTTP POST do adresu URL przetwarzania powiązanego z transmisją na żywo.closedCaptionsEmbedded
: napisy zostaną zakodowane w strumieniu wideo za pomocą formatów EIA-608 lub CEA-708.
contentDetails.enableClosedCaptions
Ta usługa 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, aby obejmowała ona transmisje zdarzeń, stałe transmisje lub wszystkie transmisje.Stała transmisja to taka, która zawsze istnieje i nie jest powiązana z konkretnym wydarzeniem. Domyślna transmisja kanału jest nieustanną transmisją, do której można uzyskać dostęp w panelu transmisji na żywo w YouTube Studio. Pozostałe transmisje na kanale to transmisje wydarzeń.
-
-
W polu
status.healthStatus.configurationIssues[].type
zasobuliveStream
występują 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 jest za duża. Ustaw liczbę klatek na sekundę na lub mniej.%(framerate)s
-
Data publikacji poprzedniej aktualizacji dokumentacji została poprawiona.
-
Nowe i zmienione 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 zmienić tylko wtedy, gdy transmisja ma stancreated
lubready
.liveBroadcasts.update
Kod odpowiedzi HTTP invalidValue (400)
Przyczyna invalidEnableClosedCaptions
Opis W zasobie transmisji na żywo wartość właściwości contentDetails.enableClosedCaptions
jest niezgodna z wartością ustawieniacontentDetails.closedCaptionType
. Zmień zasób, aby zawierał tylko jedną z tych 2 właściwości, a potem ponownie prześlij żądanie.
-
19 sierpnia 2015 r.
Ta aktualizacja zawiera następujące zmiany:
-
Nowe materiały 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 dotyczące tego zasobu:Metody liveChats.list
wyświetlać wiadomości z czatu na żywo w przypadku transmisji. liveChats.insert
Utwórz nową wiadomość na czacie. Wiadomości na czacie na żywo można pobrać i opublikować tylko podczas transmisji.
-
-
Aktualizacje dotychczasowych 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 na kanale. Domyślny strumień kanału istnieje bezterminowo, nie ma określonej godziny rozpoczęcia ani zakończenia i nie można go usunąć. Więcej informacji o tym, jak działają domyślne strumienie, znajdziesz w definicji usługi. status.healthStatus
Ten obiekt zawiera informacje, które mogą posłużyć do zidentyfikowania, zdiagnozowania i rozwiązania problemów ze strumieniowaniem. Obiekt zawiera kilka właściwości podrzędnych, które ułatwiają ocenę stanu strumienia wideo na żywo.
W szczególności obiektstatus.healthStatus.configurationIssues[]
zawiera listę problemów wpływających na strumień wideo. Nowy dokument Problemy z konfiguracją zasobów strumieni na żywo zawiera listę wszystkich problemów zgłaszanych przez interfejs API.contentDetails.isReusable
Wskazuje, czy strumień można ponownie wykorzystać, co oznacza, że może on być powiązany z wieloma transmisjami. Nadawcy często używają tego samego strumienia do wielu różnych transmisji, jeśli odbywają się one w różnych godzinach. -
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 kanał YouTube jest włączony do transmitowania na żywo, YouTube tworzy domyślny strumień i domyślną transmisję. Transmisja określa sposób, w jaki właściciel kanału wysyła transmisję na żywo do YouTube, a transmisja to sposób, w jaki widzowie mogą zobaczyć transmisję domyślną. Więcej informacji o działaniu domyślnych transmisji znajdziesz w definicji usługi. contentDetails.enableLowLatency
Wskazuje, czy ta transmisja powinna być zakodowana pod kątem strumieniowania z małą latencją. Strumień o niskim opóźnieniu może skrócić czas, po którym użytkownicy mogą zobaczyć film, ale może też wpłynąć na rozdzielczość, w jakiej widzowie będą mogli oglądać transmisję. statistics.totalChatCount
Łączna liczba wiadomości na czacie na żywo związanych z transmisją. Właściwość i jej wartość są obecne, jeśli transmisja jest widoczna dla użytkownika i ma włączoną funkcję czatu na żywo. Pamiętaj, że ta właściwość nie będzie określać wartości po zakończeniu transmisji. W związku z tym ta usługa nie będzie identyfikować liczby wiadomości na czacie w archiwalnym filmie z ukończonej transmisji na żywo.
-
-
Nowe i zmienione błędy
-
Oprócz błędów zdefiniowanych dla nowego zasobu
liveChat
interfejs API obsługuje też ten nowy błąd:Szczegóły błędu liveStreams.update
Kod odpowiedzi HTTP forbidden (403)
Przyczyna liveStreamModificationNotAllowed
Opis Interfejs API nie pozwala zmienić strumienia wielokrotnego użytku na nieużyteczny i odwrotnie. Więcej informacji znajdziesz w artykule Omówienie transmisji i strumieniowania.
-
21 maja 2015 r.
Ta aktualizacja zawiera następujące zmiany:
-
YouTube obsługuje teraz transmisje na żywo z prędkością 60 klatek na sekundę, co oznacza płynniejsze odtwarzanie filmów z grami i innymi treściami o szybkiej akcji. Gdy rozpoczniesz transmisję na żywo w YouTube z szybkością 60 FPS, YouTube udostępni również tę transmisję z szybkością 30 FPS na urządzeniach, na których oglądanie z wysoką szybkością klatek nie jest jeszcze dostępne.
Właściwość
cdn.format
zasobuliveStream
obsługuje 2 nowe wartości tej funkcji:720p_hfr
i1080p_hfr
.Więcej informacji o tej funkcji znajdziesz na blogu YouTube dla twórców.
21 sierpnia 2014 r.
Ta aktualizacja zawiera następujące zmiany:
-
Definicja parametru
liveBroadcasts.control
metodywalltime
została zaktualizowana, aby wskazać, że wartość właściwości jest określona 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 dotyczące zasobów liveBroadcast
iliveStream
zwracają ten błąd, jeśli użytkownik, który autoryzował żądanie interfejsu API, nie ma włączonego strumieniowego przesyłania filmów w YouTube. Szczegóły wyjaśniające, dlaczego użytkownik nie może prowadzić transmisji na żywo, mogą być dostępne w ustawieniach jego kanału 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:
-
Opis zasobu
liveStream
i metodyliveBroadcasts.bind
został zaktualizowany, aby wskazać, że transmisja może być powiązana tylko z jednym strumieniem wideo, ale strumień wideo może być powiązany z większą liczbą transmisji. Ta zmiana jest tylko poprawką w dokumentacji. Podstawowa funkcja interfejsu API nie uległa zmianie. -
Właściwość
contentDetails.monitorStream.enableMonitorStream
zasobuliveBroadcast
została zaktualizowana, aby wyjaśnić, że jeśli jej wartość totrue
, musisz przełączyć transmisję do stanutesting
, zanim będzie można ją przełączyć do stanulive
. (jeśli wartość właściwości tofalse
, transmisja nie może mieć etaputesting
, więc możesz przejść bezpośrednio do stanulive
. -
Właściwość
settings.offsetTimeMs
zasobuliveCuepoint
została zaktualizowana, aby wskazać, że nie należy podawać wartości tej właściwości, jeśli transmisja nie ma strumienia monitorowania. -
Wszystkie metody dotyczące 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. -
Dokumentacja metody
liveCuepoints.insert
została zaktualizowana, aby wskazać, że podczas wywoływania tej metody możesz ustawić wartość właściwościsettings.walltime
. -
Dokumentacja błędów zawiera 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 transmisji na żywo w YouTube. Szczegóły wyjaśniające, dlaczego użytkownik nie może prowadzić transmisji na żywo, mogą być dostępne w ustawieniach jego kanału na stronie https://www.youtube.com/features. -
Zaktualizowano błąd
invalidScheduledStartTime
metodyliveBroadcasts.insert
, aby wyjaśnić, że zaplanowany czas rozpoczęcia musi być wystarczająco bliski bieżącej daty, aby można było zaplanować transmisję na ten czas.
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 napisy do filmu można przetworzyć na potrzeby 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ść na wartośćtrue
, zasóbliveStream
powiązany z transmisją określi adres URL przetwarzania, który będzie używany do napisów do transmisji. -
Właściwość
snippet.scheduledEndTime
zasobuliveBroadcast
obsługuje teraz transmisje zaplanowane na czas nieokreślony. Dzięki tej zmianie ta właściwość nie jest już wymagana w żądaniachliveBroadcasts.insert
iliveBroadcasts.update
.
Jeśli pobierzesz zasóbliveBroadcast
, który nie określa wartości tej właściwości, transmisja będzie trwać w nieskończoność. Podobnie, jeśli wywołasz metodęliveBroadcasts.insert
lubliveBroadcasts.update
i nie podasz wartości dla 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że teraz zostać ustawiona tylko nafalse
, jeśli kanał nadawania może wyłączyć nagrywanie transmisji na żywo.Jeśli Twój kanał nie ma uprawnień do wyłączania nagrań, a Ty 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ć wartość właściwościrecordFromStart
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, aby zawierać opis każdego stanu. -
Nowa właściwość
settings.walltime
zasobuliveCuepoint
określa datę i godzinę, o której należy wstawić punkt cuepoint. Interfejs API zwraca błąd, jeśli żądanie próbuje wstawić punkt cuepoint, który określa wartość tej właściwości i właściwościsettings.offsetTimeMs
. -
Nowy obiekt
contentDetails
w zasobieliveStream
zawiera informacje o strumieniach. Obecnie jedyną właściwością obiektu jestcontentDetails.closedCaptionsIngestionUrl
, która określa adres URL przetwarzania napisów powiązanych z strumieniem wideo. -
Lista prawidłowych wartości właściwości
status.streamStatus
zasobuliveStream
została zaktualizowana, aby zawierać opis każdego stanu. -
Nowy parametr
walltime
metodyliveBroadcasts.control
umożliwia określenie daty i godziny zmiany listy. Interfejs API zwraca błąd, jeśli żądanie określa wartość tego parametru i parametroffsetTimeMs
. -
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 z funkcjiliveBroadcastListResponse
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 Twoje żądanie określa wartości parametrówoffsetTimeMs
iwalltime
. Żądanie może pomijać oba parametry lub określić wartość jednego z nich.invalidValue
invalidWalltime
Metoda liveBroadcasts.control
zwraca ten błąd, jeśli wartość parametruwalltime
jest nieprawidłowa.forbidden
enableClosedCaptionsModificationNotAllowed
Jeśli spróbujesz zaktualizować wartość contentDetails.enableClosedCaptions
, a stan transmisji nie jestcreated
aniready
, metodaliveBroadcasts.update
zwraca ten błąd.invalidValue
conflictingTimeFields
Metoda liveCuepoints.insert
zwraca ten błąd, jeśli żądanie określa wartości właściwościsettings.offsetTimeMs
isettings.walltime
. W żądaniu można pominąć obie właściwości lub podać wartość jednej z nich.Dodatkowo metoda
liveStreams.update
nie obsługuje już błęducdnRequired
, który jest podobny do błędu obsługiwanego przez metodęliveStreams.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 listę interfejsów YouTube API, które podlegają zasadom wycofywania.
2 maja 2013 r.
Ta aktualizacja zawiera następujące zmiany:
-
Nowa metoda
liveBroadcasts.control
umożliwia przełączanie ustawień wyświetlania planszy, która jest wyświetlana w strumieniu transmisji w przypadku transmisji, która już się rozpoczęła. Jeśli transmisja jest opóźniona, możesz też użyć tej metody, aby określić przesunięcie czasowe, w którym nastąpi żądana zmiana tablicy. -
Definicje tych właściwości zostały zaktualizowane, aby wyjaśnić, że wartości właściwości muszą być ustawione, jeśli aktualizujesz część
contentDetails
zasobuliveBroadcast
: -
Zasób
liveStream
nie obsługuje już wartoścideleted
jako możliwego stanu strumienia.status.streamStatus
-
Informacje, które interfejs API zwraca w przypadku wielu komunikatów o błędach, zostały zaktualizowane, aby lepiej wyjaśniać przyczyny występowania poszczególnych błędów. Interfejs API obsługuje też kilka nowych błędów.
27 marca 2013 r.
Ta aktualizacja zawiera następujące zmiany:
-
W zasobie
liveBroadcast
zmieniły się te właściwości:- Nazwa
startWithSlateCuepoint
została zmieniona nastartWithSlate
. - Nazwa właściwości
enableArchive
została zmieniona narecordFromStart
. - Obiekt
slateSettings
został wycofany i usunięty z dokumentacji. Usunięto też komunikaty o błędach związane z obiektemslateSettings
lub jego właściwościami. Na koniec usunęliśmy sekcję „Wyświetlanie plansz” z poradnika Wprowadzenie.
- Nazwa
-
Interfejs API nie obsługuje już możliwości wstawiania napisów w strumieniu za pomocą metody
liveCuepoints.insert
. Poniższe dokumenty zostały zaktualizowane w celu odzwierciedlenia omawianej zmiany:-
Strona główna, 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 interfejsu API zostały zaktualizowane, aby wyraźniej wyjaśniać możliwe błędy i (w miarę możliwości) podawać wskazówki dotyczące ich rozwiązywania.
-
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
– planowany czas zakończenia transmisji musi być późniejszy niż planowany czas rozpoczęcia.liveBroadcasts.insert
– transmisja zawiera nieprawidłowy stan prywatności.liveBroadcasts.update
– zasób nie zawiera lub nie ma ustawionej wartości właściwościcontentDetails.enableArchive
.liveBroadcasts.update
– zasób nie zawiera lub nie ma ustawionej wartości właściwościcontentDetails.enableContentEncryption
.liveBroadcasts.update
– zasób nie zawiera lub nie ma ustawionej wartości właściwościcontentDetails.enableDvr
.liveStreams.insert
– tytuł fragmentu musi mieć od 1 do 128 znaków.liveStreams.update
– zasób nie zawiera lub nie ma ustawionej wartości właściwościsnippet.title
.
-
Dokumentacja zasobu
liveStream
została zaktualizowana, aby odzwierciedlić fakt, że multicast i WebM nie są obsługiwanymi metodami przetwarzania. 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. Dodatkowo wartośćhttp
została usunięta z listy obsługiwanych wartościcdn.ingestionType
.