Na tej stronie znajdziesz listę zmian w interfejsie YouTube Live Streaming API oraz aktualizacje dokumentacji. Zasubskrybuj ten dziennik zmian.
9 października 2023 r.
Informację o tym, które identyfikatory naklejek są powiązane z którymi supernaklejkami, 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ł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 pozwala na ręczne wstawianie przerw na reklamy do transmisji, YouTube obsługuje teraz funkcję automatycznego wstawiania przerw na reklamy w trakcie filmu o ustalonych odstępach czasu.
Jeśli właściciel transmisji włączy reklamy automatyczne, może przeglądać te aspekty działania reklam:
- długość odstępu między przerwami na reklamy w trakcie filmu.
- strategię planowania punktów wstawienia reklam. Punkty wstawienia reklamy można wstawić jednocześnie dla wszystkich widzów lub czas ich wystąpienia może się różnić w zależności od widza. Dzięki tej drugiej strategii YouTube może planować punkty wstawienia reklamy z większym częstotliwością, co pozwala widzom otrzymywać punkty wstawienia reklamy wtedy, gdy mogą to zrobić.
- okresu, w którym reklamy w trakcie filmu nie są wyświetlane. Na potrzeby tej funkcji właściciel transmisji określa, że wstawianie reklam w trakcie filmu jest wstrzymywane do określonego momentu.
W dokumentacji wprowadziliśmy następujące zmiany interfejsu API umożliwiające obsługę tej funkcji:
- Zasób
liveBroadcast
zawiera teraz obiektmonetizationDetails
. Pola obiektu wskazują, czy w transmisji włączono automatyczne wstawianie reklam, oraz określają dodatkowe informacje na potrzeby planowania punktów wstawienia reklam. - Parametr
part
metodyliveBroadcast.list
obsługuje wartośćmonetizationDetails
. - Metoda
update
może służyć do wstrzymania wstawiania reklam w trakcie filmu na określony czas podczas transmisji na żywo. W dokumentacji wymieniamy też kilka błędów, które mogą wystąpić podczas aktualizowania informacji o zarabianiu na transmisjach na żywo.
1 sierpnia 2023 r.
Ta aktualizacja zawiera następujące zmiany:
-
Metoda
liveBroadcasts.update
nie wymaga już określania wartości w tych polach:snippet.title
status.privacyStatus
Pominięcie tych pól w żądaniu pozostawi je bez zmian.
1 listopada 2022 r.
-
Nowa metoda
liveBroadcasts.cuepoint
umożliwia wszystkim właścicielom kanałów, którzy prowadzą transmisję na żywo w YouTube, wstawianie do niej punktów wstawienia, które mogą powodować przerwy na reklamy. Zastępuje ona metodęliveCuepoints.insert
, która pozwalała wyłącznie dostawcom treści YouTube wstawiać punkty wstawienia reklamy do transmisji na żywo.W związku z dostępnością tej nowej metody zaktualizowaliśmy kilka przewodników.
-
Uwaga: to jest ogłoszenie o wycofaniu funkcji.
Metoda
liveCuepoints.insert
została wycofana. Obsługa metodyliveCuepoints.insert
zostanie wycofana 1 maja 2023 r. lub później. Użytkownicy interfejsów API powinni zaktualizować swoje aplikacje, tak aby wywoływały metodęliveBroadcasts.cuepoint
. -
Dokumentacja metody
liveBroadcasts.control
została usunięta. Powiadomienie o wycofaniu tej metody opublikowaliśmy we wrześniu 2020 r.
1 października 2022 r.
Ta aktualizacja zawiera następujące zmiany:
-
Metoda
liveBroadcasts.update
nie wymaga już określania wartości w tych polach:contentDetails.enableContentEncryption
contentDetails.enableDvr
contentDetails.enableEmbed
contentDetails.recordFromStart
contentDetails.startWithSlate
Pominięcie tych pól w żądaniu pozostawi je 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 jego właściwości podrzędne zawierają informacje o zdarzeniu Podaruj subskrypcję wspieranego kanału. Podobnie nowa właściwośćsnippet.giftMembershipReceivedDetails
i jej elementy podrzędne zawierają informacje o zdarzeniu „otrzymano wspieranie kanału w prezencie”.
15 września 2021 r.
Ta aktualizacja zawiera następujące zmiany:
-
Właściwość
snippet.type
obsługuje teraz 2 nowe wartości:newSponsorEvent
memberMilestoneChatEvent
-
Nowa właściwość
snippet.memberMilestoneChatDetails
zasobuliveChatMessage
i jego elementy podrzędne zawierają informacje o 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 zdarzeniu nowego sponsora.
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 danym przedziale czasu. Przyczyna błędu: userRequestsExceedRateLimit
.
21 września 2020 r.
-
Zaktualizowaliśmy definicję właściwości
status.madeForKids
zasobuliveBroadcast
, aby sprecyzować, że jest ona tylko do odczytu. Nie odzwierciedla to zmian w funkcjach interfejsu API.Aby oznaczyć transmisję na żywo jako skierowaną do dzieci, ustaw właściwość
status.selfDeclaredMadeForKids
natrue
podczas wywoływania metodyliveBroadcasts.insert
w celu jej utworzenia. -
Uwaga: ta zmiana obejmuje ogłoszenie o wycofaniu usługi i aktualizację informacji o wcześniejszym wycofaniu.
Metoda
liveBroadcasts.control
zostanie wycofana 1 października 2020 r. lub później. Po tym terminie wszystkie wywołania tej metody będą zwracać błąd zabroniony (403), a metoda zostanie później całkowicie usunięta. Klienci mogą też zaimplementować własną planszę, dodając nakładkę do filmu wysyłanego do serwerów przetwarzania YouTube.Data wycofania ogłoszenia o wycofaniu 16 kwietnia 2020 r., które pierwotnie było zaplanowane na 1 września 2020 roku, została przesunięta. Teraz nastąpi to 1 października 2020 r. lub później. W związku z tym funkcje wymienione w ogłoszeniu o wycofaniu i metoda
liveBroadcasts.control
zostaną wycofane jednocześnie.
17 lipca 2020 r.
Uwaga: jest to aktualizacja dotycząca wcześniejszego wycofania funkcji.
Pole cdn.format
zasobu liveStream
, które zostało wycofane w kwietniu 2016 r., od 17 sierpnia 2020 r. nie będzie już obsługiwane. Żądania, które nadal korzystają z tego pola, od tej daty będą odrzucane.
Jeśli Twój kod nadal używa pola cdn.format
, musisz go zaktualizować, podając oddzielnie liczbę klatek i rozdzielczość za pomocą właściwości cdn.frameRate
i cdn.resolution
.
6 lipca 2020 r.
Zaktualizowaliśmy przewodnik Przesyłanie treści na żywo do YouTube za pomocą HLS:
- Zalecany czas trwania segmentu multimediów został zmieniony na jedną do czterech sekund.
- Nowa sekcja wyjaśnia, jak uzyskać adres URL przetwarzania HLS z YouTube Studio.
-
Instrukcje formatowania wartości parametru
file
zostały przeniesione do nowej sekcji Wypełnianie adresu URL przetwarzania HLS. Te instrukcje mają zastosowanie niezależnie od tego, czy adres URL przetwarzania HLS jest pobierany z interfejsu YouTube API, czy z YouTube Studio.
Dodatkowo nowe porównanie protokołów przetwarzania zawiera listę protokołów przetwarzania obsługiwanych przez YouTube, kodeki obsługiwane przez poszczególne protokoły oraz dodatkowe informacje o odpowiednich przypadkach użycia każdego z nich.
16 kwietnia 2020 r.
Ta aktualizacja zawiera nową usługę i ogłoszenie o ich wycofaniu:
-
Zasób
liveBroadcast
obsługuje teraz właściwośćcontentDetails.enableAutoStop
. Ta właściwość określa, czy transmisja powinna zostać automatycznie zatrzymana około minuty po tym, jak właściciel kanału zatrzyma strumieniowanie wideo w powiązanym strumieniu wideo.Zaktualizowaliśmy cykl transmisji, aby wyjaśnić, jak krok po kroku tworzenie wydarzenia na żywo w YouTube i zarządzanie nim zmienia się po ustawieniu właściwości
contentDetails.enableAutoStart
lubcontentDetails.enableAutoStop
natrue
. -
Uwaga: to jest ogłoszenie o wycofaniu funkcji. Zmiany te wejdą w życie 1 września 2020 r. lub później. Rzeczywistą datę wejścia zmian w życie określa się poniżej jako datę wycofania.
Ta aktualizacja wyjaśnia zmianę, która może naruszać zasady. Ma to wpływ na aplikacje klienckie interfejsu API, które używają domyślnych zasobów
liveStream
iliveBroadcast
kanału do transmitowania treści na żywo w YouTube. Identyfikator transmisji i identyfikator strumienia powiązane z trwałą transmisją i strumieniem nie będą już działać, aby rozpocząć nowe transmisje.Będzie to miało wpływ na Twoje zgłoszenie, jeśli spełniony będzie dowolny z tych warunków:
- Sprawdza wartość właściwości
isDefaultBroadcast
zasobuliveBroadcast
. Ta właściwość nie będzie zwracana po dacie wycofania. - Sprawdza wartość właściwości
isDefaultStream
zasobuliveStream
. Ta właściwość nie będzie zwracana po dacie wycofania. - Wywołuje on 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 zwraca żadnych wyników. - Jeśli wartością parametru
broadcastType
jestall
, metodaliveBroadcasts.list
nie zwraca trwałych komunikatów, które istniały przed tym czasem.
- Jeśli wartość parametru
Przez kilka ostatnich lat YouTube automatycznie utworzył strumień domyślny i domyślną transmisję na kanale, gdy na tym kanale była włączona możliwość transmitowania na żywo. Domyślny strumień istniał przez czas nieokreślony, nie był z nim powiązany czas rozpoczęcia ani zakończenia i nie można go usunąć. Analogicznie transmisja domyślna została uznana za trwałą. Zawsze istniała i nie była powiązana z konkretnym zdarzeniem.
Od daty wycofania:
- YouTube nie będzie już tworzyć domyślnych transmisji ani transmisji. Zamiast polegać na zasobach domyślnych, klienty interfejsu API muszą mieć możliwość tworzenia zasobów
liveBroadcast
iliveStream
oraz zarządzania nimi, a także wiązać te zasoby ze sobą. - Jeśli domyślna transmisja na kanale i strumień domyślny są aktywnie transmitowane, czyli w momencie wprowadzenia wycofywania, kanał używa ich do prowadzenia transmisji na żywo, nie ma to wpływu na trwającą transmisję. Jednak po zakończeniu tej transmisji kanał nie będzie mógł ponownie używać domyślnej transmisji ani strumienia domyślnego.
- Jeśli domyślna transmisja i domyślny strumień na kanale nie są aktywnie transmitowane, po wycofaniu funkcji YouTube zignoruje próby wykorzystania tych zasobów do transmisji wideo.
Jeśli dotyczy to Twojej aplikacji, zapoznaj się z tymi dokumentami, które pomogą Ci zaktualizować aplikację, aby nadal działała zgodnie z oczekiwaniami po tej zmianie:
- Nowy przewodnik po migracji zawiera opis czynności, które deweloperzy mogą wykonać w klientach API, które używają obecnie domyślnych transmisji i strumieni.
- Przewodnik z życia transmisji zawiera szczegółowe instrukcje tworzenia wydarzeń na żywo w YouTube i zarządzania nimi. W każdym kroku opisujemy wywołania interfejsu API lub inne czynności, jakie musisz wykonać, by określone działanie zostało wykonane. Twoja aplikacja będzie musiała wykonać ten proces, 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 funkcji.
Zasób sponsor
i metoda sponsors.list
zostały wycofane oraz zastąpione zasobem member
i metodą members.list
.
30 września 2020 r. lub później metoda sponsors.list
przestanie być obsługiwana.
Klienty interfejsu API powinny zaktualizować wywołania metody sponsors.list
, aby używały zamiast niej metody members.list
. Więcej informacji o nowym zasobie znajdziesz w historii zmian interfejsu YouTube Data API.
11 marca 2020 r.
Sekcja Punkt końcowy przetwarzania w przewodniku Przesyłanie treści na żywo w YouTube za pomocą HLS została zaktualizowana, aby wyjaśnić proces, którego koder powinien używać do uzupełniania wartości parametru file=
podczas tworzenia głównych i zapasowych adresów URL przetwarzania.
4 lutego 2020 r.
Zaktualizowaliśmy przewodnik Przesyłanie treści na żywo do YouTube za pomocą HLS, aby pamiętać, że żądania DELETE
są opcjonalne, a punkt końcowy HLS w YouTube je ignoruje. Ze względu na wydajność YouTube zaleca klientom, aby nie wysyłali żądań typu DELETE
.
10 stycznia 2020 r.
Interfejs API umożliwia teraz identyfikację 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.
-
Zasób
liveBroadcast
obsługuje 2 nowe usługi, 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 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, które zawierają zasobyliveBroadcast
, tylko wtedy, gdy właściciel kanału autoryzował żądanie do interfejsu API. -
Właściwość
madeForKids
umożliwia wszystkim użytkownikom interfejsu API pobieranie informacji o tym, czy transmisja jest „przeznaczona dla dzieci”. Stan może być np. określany na podstawie wartości właściwościselfDeclaredMadeForKids
. Więcej informacji o określaniu odbiorców kanału, filmów i 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 i zasady dla deweloperów. Więcej informacji znajdziesz w Warunkach korzystania z usług YouTube API – historia zmian. Zmiany w Warunkach korzystania z usług YouTube API oraz zasadach dla deweloperów zaczną obowiązywać 10 stycznia 2020 roku czasu pacyficznego.
20 sierpnia 2019 r.
Sekcja Wymagania w przewodniku Przesyłanie treści na żywo w YouTube za pomocą HLS została zaktualizowana i zawiera 2 zmiany:
- Wyjaśnia on, że na każdej playliście multimediów najlepiej jest dodać zarówno uznane segmenty, jak i wyróżniające się segmenty. Dzięki temu zmniejsza się prawdopodobieństwo pominięcia segmentu w przypadku utraty playlisty po stronie serwera. Na przykład do każdej playlisty multimediów możesz dodać maksymalnie 2 segmenty uznanych za wartościowe i do 5 wyróżnionych segmentów.
- Obecnie konieczne jest wysłanie playlisty multimediów dla każdego segmentu multimediów. Dzięki temu serwer może szybko przywrócić działanie w przypadku utraty playlisty multimediów. Ta metoda 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ść ingestionType
zasobu liveStream
obsługuje nową wartość hls
, aby identyfikować strumienie przetworzone do YouTube za pomocą HLS.
Nowy przewodnik Przesyłanie treści na żywo do YouTube za pomocą HLS zawiera wskazówki dotyczące używania HLS do transmitowania treści na żywo do YouTube za pomocą kodera. Ten przewodnik ma pomóc dostawcom koderów dodać obsługę wyświetlania HLS do ich produktów.
4 kwietnia 2019 r.
Ta aktualizacja zawiera następujące zmiany:
-
Zaktualizowaliśmy dokumentację API, aby lepiej wyjaśnić typowe przypadki użycia każdej metody i udostępnić dynamiczne przykłady kodu o wysokiej jakości za pomocą widżetu Eksploratora interfejsów API. Przykład znajdziesz w dokumentacji metody
liveBroadcasts.list
. Na stronach pojawiły się teraz 2 nowe elementy, które opisują metody interfejsu API:-
Widżet Eksplorator interfejsów API umożliwia wybieranie zakresów autoryzacji, wprowadzanie przykładowych wartości parametrów i właściwości, a następnie wysyłanie rzeczywistych żądań do interfejsu API i wyświetlanie rzeczywistych odpowiedzi interfejsu API. Widżet udostępnia też widok pełnoekranowy, w którym widać pełne przykłady kodu, który dynamicznie się aktualizuje, aby korzystać z wpisanych przez Ciebie zakresów i wartości.
-
W sekcji Typowe przypadki użycia opisaliśmy co najmniej 1 typowy przypadek użycia metody opisanej na stronie. Możesz na przykład wywołać metodę
liveBroadcasts.list
, aby pobrać dane o konkretnej transmisji lub transmisjach bieżącego użytkownika.Korzystając z linków w tej sekcji, możesz wypełnić narzędzie APIs Explorer przykładowymi wartościami na potrzeby Twojego przypadku użycia lub otworzyć pełnoekranowe eksplorator interfejsów API z tymi wartościami. Wprowadzone zmiany ułatwią Ci wyświetlanie przykładów kodu, które mają bezpośrednie zastosowanie do Twojego przypadku użycia, który próbujesz zaimplementować we własnej aplikacji.
Obecnie obsługiwane są przykładowe fragmenty kodu w językach Java, JavaScript, PHP, Python i curl.
-
-
Strona przykładowego kodu ma również nowy interfejs użytkownika, który oferuje te same funkcje opisane powyżej. Dzięki temu narzędziu możesz poznać przypadki użycia różnych metod, wczytać wartości w narzędziu APIs Explorer i otwierać pełnoekranowe interfejsy API w celu pobrania przykładów kodu w językach Java, JavaScript, PHP i Python.
W związku z tą zmianą usunęliśmy strony, które wcześniej zawierały przykłady kodu dostępnych w językach Java, PHP i Python.
25 lutego 2019 r.
Dokumentacja zasobów liveChatMessage
i superChatEvent
została zaktualizowana, aby uwzględnić fakt, że oba zasoby mogą teraz zawierać informacje o supernaklejkach. Supernaklejki to rodzaj superczatu, który zawiera obraz. Podobnie jak w przypadku innych superczatów, fani kupują supernaklejki podczas transmisji na żywo w YouTube.
- W zasobie
liveChatMessage
właściwośćsnippet.type
jest teraz ustawiona nasuperStickerEvent
, aby wskazać, że zawiera on informacje o supernaklejce. W tym przypadku zasób będzie też zawierał obiektsnippet.superStickerDetails
, który zawiera dodatkowe informacje o supernaklejce. - W zasobie
superChatEvent
wartość logicznasnippet.isSuperStickerEvent
wskazuje, czy wiadomość superczatu jest także supernaklejką. Jeśli tak, obiektsnippet.superStickerMetadata
zawiera dodatkowe informacje o supernaklejce.
5 kwietnia 2018 r.
Opis metody superChatEvents.list
został zaktualizowany, aby odzwierciedlić fakt, że odpowiedź interfejsu API nie zawiera już klasy fanFundingEvents
, która została wycofana na początku 2017 roku.
3 kwietnia 2017 r.
Dodaliśmy nowe przykłady kodu w języku Java, które pokazują, jak umieszczać, wstawiać i usuwać wiadomości na czacie na żywo. Przykłady wywołują te metody:
13 lutego 2017 r.
Ta aktualizacja zawiera następujące zmiany:
-
Aktualizacje istniejących zasobów i metod
-
Metoda
liveCuepoints.insert
została zaktualizowana, aby odzwierciedlała fakt, że obecnie wymagany jest parametronBehalfOfContentOwner
. Dodatkowo został zaktualizowany opis metody, aby uwzględnić, że wywołania tej metody muszą być autoryzowane przez konto powiązane z właścicielem treści w YouTube.
-
9 lutego 2017 r.
Ta aktualizacja zawiera następujące zmiany:
-
Aktualizacje istniejących zasobów i metod
-
Nowy parametr
hl
metodysuperChatEvents.list
pozwala określić, czy wartość właściwościsnippet.displayString
powinna być formatowana zgodnie z konwencjami danego języka. Definicja tej właściwości również została odpowiednio zaktualizowana.Wartością parametru musi być kod języka widoczny na liście zwracanej przez metodę
i18nLanguages.list
. Wartością domyślną jesten
, co oznacza, że domyślnym działaniem jest formatowanie wyświetlanych ciągów tak, jak byłyby używane w języku angielskim. Na przykład domyślnie ciąg znaków ma format$1.00
, a nie$1,00
.
-
1 lutego 2017 r.
Ta aktualizacja zawiera następujące zmiany:
-
Nowe zasoby i metody
-
Nowy zasób
superChatEvent
dotyczy superczatu kupionego przez fana podczas transmisji na żywo w YouTube. W transmisji na żywo w YouTube superczaty wyróżniają się na tle innych wiadomości na 2 sposoby:- Superczaty są wyróżnione kolorem.
- Superczaty pozostają przypięte na pasku aktywności przez określony czas.
Kolor superczatu, okres przypięcia go na pasku aktywności oraz maksymalna długość wiadomości zależą od kwoty zakupu. Więcej informacji o superczacie znajdziesz w Centrum pomocy YouTube.
Interfejs API obsługuje metodę dodawania do listy superczatów w transmisjach na żywo prowadzonych na kanale w ciągu ostatnich 30 dni. Ta metoda zwraca też dane o wydarzeniach finansowania przez fanów (
fanFundingEvents
) z ostatniej transmisji na żywo na kanale.
-
-
Aktualizacje istniejących zasobów i metod
-
Właściwość
snippet.type
obsługuje teraz wartośćsuperChatEvent
, która oznacza, ż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 zaktualizowane błędy
-
Interfejs API obsługuje te nowe błędy:
Szczegóły błędu liveBroadcasts.insert
,liveBroadcasts.update
Metody liveBroadcasts.insert
iliveBroadcasts.update
zwracają błędy400
(Bad Request
), aby wskazać, że wstawiony lub aktualizowany zasóbliveBroadcast
zawiera nieprawidłową wartość dla właściwościcontentDetails.enableEmbed
lubcontentDetails.projection
. Przyczyny tych 2 nowych błędów to odpowiednioinvalidEmbedSetting
iinvalidProjection
.
-
12 stycznia 2017 r.
Uwaga: to jest ogłoszenie o wycofaniu funkcji.
Wraz z wprowadzeniem nowej funkcji superczatu wycofaliśmy ją z YouTube. Interfejs API finansowania przez fanów zostanie wyłączony 28 lutego 2017 r. Od tego dnia:
- Metoda
liveChatMessages.list
nie będzie już zwracać wiadomości z ustawieniemsnippet.type
o wartościfanFundingEvent
. 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:
-
Niedawno opublikowane Warunki korzystania z usług interfejsu YouTube API („Zaktualizowane warunki”), które zostały szczegółowo omówione na blogu YouTube Engineering and Developers, zawierają wiele aktualizacji aktualnych Warunków korzystania z usługi. Oprócz zaktualizowanych warunków, które zaczną obowiązywać 10 lutego 2017 roku, ta aktualizacja obejmuje kilka dodatkowych dokumentów z objaśnieniem zasad, których muszą przestrzegać deweloperzy.
Pełny zestaw nowych dokumentów opisano w historii zmian zaktualizowanych Warunków. Ponadto przyszłe zmiany zaktualizowanych Warunków lub dokumentów pomocniczych również będą wyjaśnione w historii zmian. Możesz zasubskrybować kanał RSS z listą zmian w historii zmian, korzystając z linku w tym dokumencie.
20 maja 2016 r.
YouTube obsługuje teraz przetwarzanie DASH. Dlatego właściwość ingestionType
zasobu liveStream
obsługuje nową wartość dash
, aby identyfikować strumienie przetworzone do YouTube za pomocą DASH.
Nowy przewodnik Przesyłanie treści na żywo do YouTube za pomocą DASH zawiera wytyczne dotyczące korzystania z formatu DASH do strumieniowego przesyłania danych na żywo w YouTube za pomocą kodera. Ma to na celu ułatwienie dostawcom koderów dodawania obsługi wyświetlania DASH do ich produktów.
18 kwietnia 2016 r.
Ta aktualizacja zawiera następujące zmiany:
-
Aktualizacje istniejących zasobów i metod
liveStream
aktualizacji zasobów-
YouTube obsługuje teraz transmisje w rozdzielczości 1440p z prędkością 30 lub 60 klatek na sekundę.
Zasób
liveStream
zawiera też nowe właściwości służące do określania liczby klatek i rozdzielczości przychodzących danych wideo:Właściwości cdn.frameRate
Liczba klatek przychodzących danych wideo. Prawidłowe wartości to 30fps
i60fps
.cdn.resolution
Rozdzielczość przychodzących danych wideo. Prawidłowe wartości właściwości to: 1440p
,1080p
,720p
,480p
,360p
i240p
. -
Zgodnie z wprowadzeniem właściwości
cdn.frameRate
icdn.resolution
zasobuliveStream
usługacdn.format
zasobu została wycofana. Właściwośćcdn.format
określa rozdzielczość i liczbę klatek jako 1 wartość.Zachęcamy do przejścia na nowe obsługiwane pola. Tymczasem
cdn.format
nadal działa. Dodatkowo żądania wstawienia transmisji na żywo są obecnie skuteczne, o ile określisz wartości właściwościcdn.format
lubcdn.frameRate
icdn.resolution
. Jeśli podasz wartości wszystkich 3 właściwości, interfejs API może zwrócić błąd, jeśli wartości te nie są 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 szybkością 30 lub 60 klatek na sekundę.
-
liveBroadcast
aktualizacji zasobów-
Zasób
liveBroadcast
zawiera te nowe właściwości:Właściwości contentDetails.boundStreamLastUpdateTimeMs
Data i godzina ostatniej aktualizacji transmisji na żywo, do której odwołuje się właściwość contentDetails.boundStreamId
transmisji.contentDetails.projection
Format projekcji transmisji. Domyślna wartość właściwości to rectangular
. Prawidłowe wartości właściwości to360
irectangular
. -
Zaktualizowaliśmy definicję właściwości
statistics.totalChatCount
zasobuliveBroadcast
, aby uwzględniała tę wartość tylko wtedy, gdy transmisja zawiera co najmniej 1 wiadomość na czacie.
-
liveChatMessage
aktualizacji zasobów-
Właściwość
snippet.type
obsługuje 2 nowe wartości –messageDeletedEvent
iuserBannedEvent
– odpowiadające nowym właściwościom opisanym w tym punkcie. Zaktualizowaliśmy też definicję właściwościsnippet.authorChannelId
, aby wyjaśnić, co określa wartość właściwości w przypadku tych nowych typów wiadomości. -
Zasób
liveChatMessage
zawiera te nowe właściwości:Właściwości snippet.messageDeletedDetails
Ten obiekt zawiera informacje o wiadomości usuniętej przez moderatora czatu. Obiekt istnieje tylko wtedy, gdy wartość właściwości snippet.type
tomessageDeletedEvent
.snippet.userBannedDetails
Ten obiekt zawiera informacje o użytkowniku, któremu zablokowano możliwość udziału w czacie. Obiekt zawiera też informacje o zablokowaniu, czyli o tym, czy jest ona stała, czy tymczasowa. Jeśli blokada jest tymczasowa, czas trwania blokady określa jedna z właściwości obiektu.
Ten obiekt występuje tylko wtedy, gdy wartość właściwościsnippet.type
touserBannedEvent
.
-
-
Nowe i zaktualizowane błędy
-
Interfejs API obsługuje te nowe błędy:
Szczegóły błędu liveBroadcasts.bind
Metoda liveBroadcasts.bind
zwraca błąd403
(Forbidden
), aby wskazać, że użytkownik wysłał zbyt wiele żądań w danym przedziale czasu. Przyczyna błędu:userRequestsExceedRateLimit
.
MetodyliveBroadcasts.insert
iliveBroadcasts.update
obsługują już ten sam błąd.liveStreams.insert
Metoda liveStreams.insert
obsługuje 4 nowe błędy400
(Bad Request
) identyfikujące nieprawidłową wartość właściwości w zasobieliveStream
, który próbował wstawić żądanie. Na liście poniżej znajdziesz przyczyny błędów i właściwości, z którymi są 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 oznacza, że w zasobieliveStream
, który próbował wstawić żądanie, nie ma wymaganej wartości. Na liście poniżej znajdziesz przyczyny błędów i właściwości, z którymi są 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 podasz wartości żadnej z 3 właściwości, interfejs API zwróci błąd
formatRequired
. - Jeśli podasz wartość
cdn.resolution
, ale niecdn.frameRate
, interfejs API zwróci błądframeRateRequired
. - Jeśli podasz wartość
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 zmienić wartość którejś z tych właściwości niezmiennych:cdn.format
cdn.frameRate
cdn.ingestionType
cdn.resolution
reason
w odpowiedzi o błędzie toliveStreamModificationNotAllowed
.
-
18 grudnia 2015 r.
Przepisy Unii Europejskiej (UE) wymagają udostępnienia użytkownikom z Unii Europejskiej określonych informacji oraz uzyskania od nich zgody. W przypadku użytkowników z Unii Europejskiej musisz więc przestrzegać polityki w zakresie zgody użytkownika z UE. Dodaliśmy informację o tym wymogu do Warunków korzystania z interfejsu YouTube API.
17 grudnia 2015 r.
Ta aktualizacja zawiera następujące zmiany:
-
Nowe zasoby i metody
-
Interfejs API obsługuje kilka nowych zasobów do obsługi funkcji czatu w transmisjach na żywo. YouTube obsługuje czat na żywo podczas aktywnych transmisji na żywo. Te zasoby oraz stosowane przez nich metody umożliwiają pobieranie wiadomości czatu oraz funkcje administracyjne dotyczące czatu.
Zasoby liveChatMessage
Ten zasób reprezentuje wiadomość na czacie na żywo w YouTube. YouTube obsługuje kilka rodzajów wiadomości, w tym SMS-y i wydarzenia związane z finansowaniem przez fanów. Niektóre typy wiadomości określają konkretną fazę czatu, na przykład początek okresu tylko dla sponsorów lub koniec czatu. Interfejs API obsługuje metody wyświetlania listy, wstawiania i usuwania wiadomości na czacie na żywo. liveChatModerators
Ten zasób identyfikuje moderatora czatu. Moderatorzy mogą wykonywać niektóre funkcje administracyjne, np. blokować użytkowników w czacie lub usuwać wiadomości. Interfejs API obsługuje metody wyświetlania listy, wstawiania i usuwania moderatorów czatu na żywo. liveChatBans
Ten zasób identyfikuje użytkownika, któremu zablokowano możliwość publikowania wiadomości na konkretnym czacie na żywo. Blokada może być tymczasowa lub stała. Interfejs API obsługuje metody nakładania i usuwania blokad czatu na żywo. fanFundingEvents
Ten zasób dotyczy wydarzenia finansowania przez fanów na kanale YouTube. Finansowanie przez fanów daje widzom możliwość dobrowolnego wspierania twórców YouTube za pomocą jednorazowej pomocy finansowej.
MetodafanFundingEvents.list
interfejsu API wyświetla zdarzenia związane z finansowaniem przez fanów na kanale. Wydarzenia finansowania przez fanów, które są inicjowane na czacie na żywo podczas transmisji prowadzonej przez właściciela kanału, powodują też wyświetlenie wiadomościfanFundingEvent
w czacie na żywo.
Więcej informacji o finansowaniu przez fanów znajdziesz w Centrum pomocy YouTube.sponsors
Zasób sponsor
identyfikuje sponsora kanału YouTube. Sponsor płaci co miesiąc na rzecz kanału. Plakietka wyświetla się obok wiadomości od sponsora na czacie na żywo na kanale. Dodatkowo, jeśli taka sytuacja ma miejsce, tylko sponsorzy mogą uczestniczyć w czatach na żywo na kanale.
Metodasponsors.list
interfejsu API wyświetla sponsorów kanału. Gdy użytkownicy rejestrują się w celu sponsorowania kanału podczas transmisji na żywo należącej do tego kanału, interfejs API doda też komunikatnewSponsorEvent
do czatu na żywo.
Więcej informacji o sponsorowaniu znajdziesz w Centrum pomocy YouTube.
-
-
Aktualizacje istniejących zasobów i metod
-
Zasób
liveBroadcast
zawiera te nowe właściwości:Właściwości snippet.liveChatId
Identyfikator czatu na żywo w YouTube dotyczącego transmisji. Dzięki temu 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żytkownikom możliwość udziału w czatach na żywo lub 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 transmisji są włączone napisy, a jeśli tak, to jaki rodzaj napisów:closedCaptionsDisabled
: napisy są wyłączone w transmisji na żywo.closedCaptionsHttpPost
: napisy wyślesz za pomocą metody HTTP POST na adres URL przetwarzania powiązany z Twoją transmisją na żywo.closedCaptionsEmbedded
: napisy będą kodowane w strumieniu wideo w formacie EIA-608 lub CEA-708.
contentDetails.enableClosedCaptions
Ta usługa jest wycofana 17 grudnia 2015 roku. Zamiast tego użyj właściwości contentDetails.closedCaptionsType
. W przypadku klientów interfejsu API, którzy korzystają już z tej właściwości:- Ustawienie wartości właściwości
true
jest równoważne ustawieniu właściwościcontentDetails.closedCaptionsType
naclosedCaptionsHttpPost
. - Ustawienie wartości właściwości
false
jest równoważne ustawieniu właściwościcontentDetails.closedCaptionsType
naclosedCaptionsDisabled
.
-
Nowy parametr
broadcastType
metodyliveBroadcasts.list
umożliwia filtrowanie odpowiedzi interfejsu API w taki sposób, aby obejmowały transmisje zdarzeń, transmisje trwałe lub wszystkie komunikaty.Trwała transmisja to taka, która zawsze istnieje i nie jest powiązana z konkretnym wydarzeniem. Domyślna transmisja kanału to trwała transmisja, która jest dostępna w panelu transmisji na żywo w Studiu twórców YouTube. Inne transmisje na kanale to transmisje z wydarzeń.
-
-
Pole
status.healthStatus.configurationIssues[].type
zasobuliveStream
zawiera te nowe błędy stanu:Błędy audioTooManyChannels
Dźwięk ma więcej niż 2 kanały, ale obsługiwany jest tylko jeden (mono) lub dwa (stereo). Skoryguj liczbę kanałów audio. frameRateHigh
Bieżąca liczba klatek jest za duża. Ustaw liczbę klatek na mniej niż kl./s.%(framerate)s
-
Poprawiono datę publikacji poprzedniej aktualizacji dokumentacji.
-
Nowe i zaktualizowane błędy
-
Oprócz błędów zdefiniowanych dla nowych zasobów wymienionych powyżej interfejs API obsługuje te nowe błędy:
Szczegóły błędu liveBroadcasts.update
Kod odpowiedzi HTTP forbidden (403)
Przyczyna closedCaptionsTypeModificationNotAllowed
Opis Wartość contentDetails.closedCaptionsType
można zmieniać tylko wtedy, gdy transmisja ma stancreated
lubready
.liveBroadcasts.update
Kod odpowiedzi HTTP invalidValue (400)
Przyczyna invalidEnableClosedCaptions
Opis W zasobie LiveBroadcast wartość właściwości contentDetails.enableClosedCaptions
jest niezgodna z wartością ustawieniacontentDetails.closedCaptionType
. Zmodyfikuj zasób, tak 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 dotycząca 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. W przypadku tego zasobu interfejs API obsługuje 2 metody:Metody liveChats.list
Wyświetl listę wiadomości z czatu na żywo dla transmisji. liveChats.insert
Utwórz nową wiadomość na czacie. Wiadomości z czatu na żywo można pobierać i publikować tylko podczas transmisji na żywo.
-
-
Aktualizacje istniejących zasobów i metod
-
Zasób
liveStream
zawiera te nowe właściwości:Właściwości snippet.isDefaultStream
Wskazuje, czy ta transmisja jest domyślną transmisją kanału. Domyślna transmisja na kanale istnieje bezterminowo, nie ma ustawionej godziny rozpoczęcia ani zakończenia, więc nie można jej usunąć. Więcej informacji o sposobie działania strumieni domyślnych znajdziesz w definicji usługi. status.healthStatus
Ten obiekt zawiera informacje, które mogą posłużyć do identyfikowania, diagnozowania i rozwiązywania problemów z przesyłaniem strumieniowym. Obiekt zawiera kilka właściwości podrzędnych, które pozwalają ocenić stan strumienia wideo na żywo.
W szczególności obiektstatus.healthStatus.configurationIssues[]
zawiera listę problemów dotyczących strumienia wideo. Nowy dokument Configuration Reporting for LiveStream Resources zawiera listę wszystkich problemów zgłaszanych przez interfejs API.contentDetails.isReusable
Wskazuje, czy strumienia można używać wielokrotnie, co oznacza, że można go powiązać z wieloma transmisjami. Nadawcy często używają tego samego strumienia w wielu różnych transmisjach, jeśli pojawiają się one w różnych momentach. -
Zasób
liveBroadcast
zawiera te nowe właściwości:Właściwości snippet.isDefaultBroadcast
Wskazuje, czy jest to domyślna transmisja na kanale. Gdy na kanale YouTube jest włączona transmisja na żywo, YouTube tworzy strumień domyślny i transmisję domyślną. Transmisja określa, w jaki sposób właściciel kanału wysyła obraz na żywo do YouTube, a transmisja określa, jak widzowie mogą zobaczyć strumień domyślny. Aby dowiedzieć się więcej o działaniu transmisji domyślnych, zapoznaj się z definicją usługi. contentDetails.enableLowLatency
Wskazuje, czy transmisja powinna być kodowana na potrzeby przesyłania strumieniowego z krótkim czasem oczekiwania. Strumień o małych opóźnieniach może skrócić czas potrzebny na pokazanie filmu widzom oglądającym transmisję, ale może też wpływać na rozdzielczość strumienia u widzów. 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 określa wartości po zakończeniu transmisji. Ta właściwość nie będzie więc określać liczby wiadomości na czacie w przypadku zarchiwizowanego nagrania wideo zakończonej transmisji na żywo.
-
-
Nowe i zaktualizowane 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 na zmianę strumienia wielokrotnego użytku na taki, który nie nadaje się do wielokrotnego użytku (i odwrotnie). Więcej informacji znajdziesz w artykule o transmisjach i strumieniach.
-
21 maja 2015 r.
Ta aktualizacja zawiera następujące zmiany:
-
YouTube obsługuje teraz transmisję na żywo z szybkością 60 klatek na sekundę, co oznacza płynniejsze odtwarzanie w grach i innych szybkich filmach. Gdy rozpoczniesz transmisję na żywo w YouTube z szybkością 60 kl./s, YouTube udostępni tę transmisję w tej rozdzielczości na urządzeniach, na których ta funkcja nie jest jeszcze dostępna.
Właściwość
cdn.format
zasobuliveStream
obsługuje 2 nowe wartości dla tej funkcji:720p_hfr
i1080p_hfr
.Więcej informacji o tej funkcji znajdziesz na blogu YouTube Creators.
21 sierpnia 2014 r.
Ta aktualizacja zawiera następujące zmiany:
-
Zaktualizowaliśmy definicję parametru
walltime
metodyliveBroadcasts.control
, aby uwzględnić, że wartość właściwości jest podana w formacie ISO 8601 (YYYY-MM-DDThh:mm:ss.sssZ
). -
Interfejs API obsługuje teraz następujące 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 do interfejsu API, nie ma możliwości strumieniowego przesyłania obrazu na żywo w YouTube. Szczegóły wyjaśniające, dlaczego użytkownik nie może transmitować na żywo obrazu na żywo, mogą być dostępne w ustawieniach kanału użytkownika na 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 danym przedziale czasowym.
2 maja 2014 r.
Ta aktualizacja zawiera następujące zmiany:
-
Zaktualizowaliśmy opisy zasobów
liveStream
i metodyliveBroadcasts.bind
, aby uwzględnić, że transmisję można powiązać tylko z 1 strumieniem wideo, ale strumień wideo można powiązać z więcej niż jedną transmisją. Ta zmiana jest wyłącznie poprawką w dokumentacji. Podstawowe funkcje interfejsu API się nie zmieniły. -
Właściwość
contentDetails.monitorStream.enableMonitorStream
zasobuliveBroadcast
została zaktualizowana, aby wyjaśnić, że jeśli jej wartość wynositrue
, to przed przejściem na stanlive
musisz przejść do stanutesting
. Jeśli wartość właściwości tofalse
, transmisja nie może mieć etaputesting
, więc możesz ją bezpośrednio zmienić w stanlive
. -
Zaktualizowaliśmy właściwość
settings.offsetTimeMs
zasobuliveCuepoint
, aby pamiętać, że nie należy określać wartości tej właściwości, jeśli transmisja nie ma strumienia monitorowania. -
Wszystkie metody zasobów
liveBroadcast
iliveStream
obsługują teraz parametryonBehalfOfContentOwner
ionBehalfOfContentOwnerChannel
. Parametry te umożliwiają używanie tych samych danych uwierzytelniających do realizowania żądań API dla różnych kanałów powiązanych z tym samym właścicielem treści. -
Zaktualizowaliśmy dokumentację metody
liveCuepoints.insert
, aby uwzględnić, że podczas jej wywoływania możesz ustawić wartość właściwościsettings.walltime
. -
W dokumentacji błędów określono 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 obrazu na żywo w YouTube. Szczegóły wyjaśniające, dlaczego użytkownik nie może transmitować na żywo obrazu na żywo, mogą być dostępne w ustawieniach kanału użytkownika na https://www.youtube.com/features. -
Błąd
invalidScheduledStartTime
metodyliveBroadcasts.insert
został zaktualizowany, aby doprecyzować, że zaplanowany czas rozpoczęcia musi być wystarczająco blisko bieżącej daty, aby można było skutecznie 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 w ramach transmisji można przetworzyć napisy. Wartość właściwości możesz ustawić podczas wstawiania lub aktualizowania transmisji, ale nie można jej aktualizować, gdy transmisja ma stantesting
lublive
. Jeśli ustawisz tę właściwość natrue
, zasóbliveStream
powiązany z transmisją będzie określać adres URL przetwarzania używany na potrzeby napisów do transmisji. -
Właściwość
snippet.scheduledEndTime
zasobuliveBroadcast
obsługuje teraz transmisje, które mają trwać bezterminowo. Po tej zmianie właściwość nie jest już wymagana w żądaniachliveBroadcasts.insert
iliveBroadcasts.update
.
Jeśli pobierzesz zasóbliveBroadcast
, który nie ma wartości tej właściwości, transmisja będzie zaplanowana na czas nieokreślony. Podobnie jeśli wywołujesz metodęliveBroadcasts.insert
lubliveBroadcasts.update
i nie określasz wartości dla tej właściwości, transmisja jest zaplanowana na czas nieokreślony. -
Właściwość
contentDetails.recordFromStart
zasobuliveBroadcast
, która miała już wartość domyślnątrue
, może być teraz ustawiona nafalse
tylko wtedy, gdy kanał telewizyjny 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
. Dodatkowo, jeśli Twój kanał nie ma tego uprawnienia i spróbujesz zaktualizować transmisję, aby ustawić właściwośćrecordFromStart
nafalse
, interfejs API zwróci błądmodificationNotAllowed
. -
Zasób
liveBroadcast
nie zawiera już właściwościenableArchive
, która była wspomniana w opisach właściwościcontentDetails.enableDvr
icontentDetails.enableEmbed
. -
Lista prawidłowych wartości właściwości
status.lifeCycleStatus
zasobuliveBroadcast
została zaktualizowana i zawiera opis każdego stanu. -
Nowa właściwość
settings.walltime
zasobuliveCuepoint
określa datę i godzinę, kiedy należy wstawić punkt wstawienia reklamy. Jeśli żądanie próbuje wstawić punkt wstawienia, który określa wartość tej właściwości i właściwościsettings.offsetTimeMs
, API zwraca błąd. -
Nowy obiekt
contentDetails
w zasobieliveStream
zawiera informacje o strumieniu. Obecnie jedyną właściwością obiektu jestcontentDetails.closedCaptionsIngestionUrl
. Określa ona adres URL przetwarzania napisów powiązanych ze strumieniem wideo. -
Lista prawidłowych wartości właściwości
status.streamStatus
zasobuliveStream
została zaktualizowana i zawiera opis każdego stanu. -
Nowy parametr
walltime
metodyliveBroadcasts.control
pozwala określić datę i godzinę wystąpienia zmiany planszy. Interfejs API zwraca błąd, jeśli w żądaniu określono wartość tego i parametruoffsetTimeMs
. -
W odpowiedzi na żądanie
liveBroadcasts.list
do interfejsu API wartość właściwościkind
zmieniła się zyoutube#liveBroadcastList
nayoutube#liveBroadcastListResponse
. -
W odpowiedzi na żądanie
liveStreams.list
do interfejsu API wartość właściwościkind
zmieniła się zyoutube#liveStreamList
nayoutube#liveStreamListResponse
. -
Właściwość
eventId
została wycofana z kolumnliveBroadcastListResponse
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 żądanie określa wartości parametrówoffsetTimeMs
iwalltime
. W żądaniu można pominąć 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
Metoda liveBroadcasts.update
zwraca ten błąd, jeśli próbujesz zaktualizować wartośćcontentDetails.enableClosedCaptions
, a stan transmisji różni się odcreated
lubready
.invalidValue
conflictingTimeFields
Metoda liveCuepoints.insert
zwraca ten błąd, jeśli w żądaniu określone są wartości właściwościsettings.offsetTimeMs
isettings.walltime
. W żądaniu można pominąć obie właściwości lub określić wartość dla jednej z nich.Oprócz tego metoda
liveStreams.update
nie obsługuje już błęducdnRequired
podobnego do tego obsługiwanego przez metodęliveStreams.insert
.
10 maja 2013 r.
Ta aktualizacja zawiera następujące zmiany:
-
YouTube nie identyfikuje już eksperymentalnych funkcji ani usług interfejsu API. Zamiast tego udostępniliśmy listę interfejsów API YouTube, które podlegają zasadom wycofywania.
2 maja 2013 r.
Ta aktualizacja zawiera następujące zmiany:
-
Nowa metoda
liveBroadcasts.control
umożliwia przełączanie ustawień wyświetlania planszy wyświetlanej w strumieniu transmisji, która już trwa. Jeśli transmisja jest opóźniona, możesz też użyć tej metody, by określić przesunięcie czasu, w którym nastąpi zmiana planszy. -
Zaktualizowaliśmy definicje tych właściwości, aby wyjaśnić, że w przypadku aktualizacji części
contentDetails
zasobuliveBroadcast
wartości właściwości muszą być ustawione: -
status.streamStatus
zasobuliveStream
nie obsługuje już wartoścideleted
jako możliwego stanu strumienia. -
Informacje, które interfejs API zwraca w przypadku wielu komunikatów o błędach, zostały zmodyfikowane, aby lepiej wyjaśnić, dlaczego wystąpiły określone błędy. Interfejs API obsługuje też kilka nowych błędów.
27 marca 2013 r.
Ta aktualizacja zawiera następujące zmiany:
-
W zasobie
liveBroadcast
zmieniły się te właściwości:- Nazwa usługi
startWithSlateCuepoint
została zmieniona nastartWithSlate
. - Nazwa usługi
enableArchive
została zmieniona narecordFromStart
. - Obiekt
slateSettings
został wycofany i usunięty z dokumentacji. Komunikaty o błędach związane z obiektemslateSettings
lub jego właściwościami również zostały usunięte. Usunęliśmy sekcję „Wyświetlanie plansz” w przewodniku Pierwsze kroki.
- Nazwa usługi
-
Interfejs API nie obsługuje już możliwości wstawiania plansz typu In-Stream za pomocą metody
liveCuepoints.insert
. Poniższe dokumenty zostały zaktualizowane w celu odzwierciedlenia omawianej zmiany:-
Informacje o tej funkcji nie są już wymienione na stronie indeksu, w przewodniku Pierwsze kroki i w samouczku życie transmisji.
-
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 dokładniej wyjaśniały możliwe błędy i ewentualnie zawierały wskazówki, jak je naprawić.
-
Interfejs API może teraz zwrócić kilka nowych błędów. Poniższa lista zawiera opis błędu i metody interfejsu API, która może zwrócić ten błąd:
liveBroadcasts.insert
– zaplanowany czas zakończenia transmisji musi przypadać po planowanej godzinie rozpoczęcia.liveBroadcasts.insert
– transmisja określa nieprawidłowy stan prywatności.liveBroadcasts.update
– zasób nie zawiera lub nie ustawia wartości właściwościcontentDetails.enableArchive
.liveBroadcasts.update
– zasób nie zawiera lub nie ustawia wartości właściwościcontentDetails.enableContentEncryption
.liveBroadcasts.update
– zasób nie zawiera lub nie ustawia wartości właściwościcontentDetails.enableDvr
.liveStreams.insert
– tytuł krótkiego opisu musi mieć od 1 do 128 znaków.liveStreams.update
– zasób nie zawiera lub nie ustawia wartości właściwościsnippet.title
.
-
Dokumentacja zasobów
liveStream
została zaktualizowana, aby odzwierciedlić, że multiemisja i WebM nie są obsługiwanymi metodami przetwarzania, jak zaznaczyliśmy wcześniej. 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. Usunięto teżhttp
z listy obsługiwanych wartościcdn.ingestionType
.