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 liveCuepoints
, które umożliwiają ręczne wstawianie przerw na reklamy w transmisji, YouTube obsługuje teraz funkcję automatycznego wstawiania reklam w trakcie filmu do transmisji w stałych odstępach czasu.
Jeśli właściciel transmisji włączy automatyczne reklamy, może wyświetlać te aspekty ich działania:
- długość przerwy między przerwami na reklamę w trakcie filmu.
- strategię harmonogramowania punktów wywołania reklamy. Punkty wstawienia można wstawiać jednocześnie dla wszystkich widzów lub czas ich wystąpienia może być różny. 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 dotyczące punktów cue w harmonogramie. - 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ż teraz kilka błędów, które mogą wystąpić przy aktualizowaniu informacji o zarabianiu na 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 niezmienione.
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 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. 1 maja 2023 r. lub później wycofamy obsługę metodyliveCuepoints.insert
. 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ż 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.
-
Usunięto dokumentację 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 czasu. Przyczyna błędu: userRequestsExceedRateLimit
.
21 września 2020 r.
-
Definicja właściwości
status.madeForKids
zasobuliveBroadcast
została zaktualizowana, aby wskazać, że jest ona tylko do odczytu. Nie oznacza to zmiany funkcji interfejsu API.Aby oznaczyć transmisję na żywo jako przeznaczoną dla dzieci, podczas wywoływania metody
liveBroadcasts.insert
do tworzenia transmisji ustaw właściwośćstatus.selfDeclaredMadeForKids
natrue
. -
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.Data wycofania, o której poinformowaliśmy w oświadczeniu z 16 kwietnia 2020 r., została przesunięta z 1 września 2020 r. na 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 aktualizacja dotyczy poprzedniego ogłoszenia o wycofaniu.
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ły niepowodzeniem.
Jeśli Twój kod nadal używa pola cdn.format
, musisz go zaktualizować, aby określić częstotliwość klatek i rozdzielczość osobno, 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 mają zastosowanie niezależnie od tego, czy adres URL przetwarzania HLS można pobrać z interfejsu YouTube API, czy z YouTube Studio.
Dodatkowo nowe porównanie protokołów przetwarzania zawiera listę protokołów przetwarzania obsługiwanych przez YouTube, kodeków obsługiwanych przez każdy z nich oraz dodatkowe informacje dotyczące odpowiednich przypadków użycia każdego z nich.
16 kwietnia 2020 r.
Ta aktualizacja zawiera nową usługę i ogłoszenie o zaprzestaniu jej obsługi:
-
Zasób
liveBroadcast
obsługuje teraz właściwośćcontentDetails.enableAutoStop
. Właściwość określa, czy transmisja powinna zostać zatrzymana automatycznie około 1 minuty po zatrzymaniu przez właściciela kanału strumienia wideo w powiązanym strumieniu wideo.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. W szczególności identyfikator transmisji i identyfikator strumienia powiązane ze stałą transmisją i strumieniem nie będą już działać do rozpoczynania nowych transmisji.Twoja aplikacja będzie miała problemy, 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. W dniu wycofania:- Jeśli parametr
broadcastType
ma wartośćpersistent
, metodaliveBroadcasts.list
nie zwraca ż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 parametr
W ostatnich latach YouTube automatycznie tworzył domyślny strumień i domyślną transmisję dla kanału, gdy włączono na nim transmisję na żywo. Strumień domyślny istniał bez ograniczeń czasowych, nie miał przypisanej godziny rozpoczęcia ani zakończenia i nie można go usunąć. Podobnie transmisja domyślna została uznana za trwałą. Zawsze istniało i nie było powiązane z żadnym konkretnym zdarzeniem.
Od daty wycofania tych funkcji:
- YouTube nie będzie już tworzyć domyślnych strumieni ani transmisji. Zamiast korzystać z zasobów domyślnych, klienty interfejsu API muszą mieć możliwość tworzenia zasobów
liveBroadcast
iliveStream
, zarządzania nimi oraz łączenia tych zasobów ze sobą. - Jeśli domyślna i domyślna transmisja na żywo na kanale są aktywne, czyli w momencie wejścia w życie wycofania tych funkcji twórca używa ich do prowadzenia transmisji na żywo, nie wpłynie to na trwającą transmisję. Gdy jednak zakończy się transmisja, kanał nie będzie już mógł korzystać z domyślnych transmisji i domyślnych strumieni.
- 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 dotyczy to Twojej aplikacji, zapoznaj się z tymi dokumentami:
- W nowym przewodniku po migracji znajdziesz informacje o czynnościach, które muszą wykonać deweloperzy w przypadku klientów interfejsu API, które obecnie używają domyślnych transmisji i strumieni.
- W przewodniku Cofanie transmisji znajdziesz szczegółowe informacje o tym, jak utworzyć wydarzenie na żywo w YouTube i nim zarządzać. 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 zasobami 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 Punkt końcowy przetwarzania 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 głównego i zapasowego.
4 lutego 2020 r.
Przewodnik Przenoszenie treści YouTube na żywo za pomocą HLS został zaktualizowany o informację, ż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
.
Styczeń 10, 2020
Interfejs API obsługuje teraz możliwość identyfikacji treści skierowanych do dzieci, które YouTube nazywa „przeznaczonymi dla dzieci”. Więcej informacji o treściach 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 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 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ług YouTube API i zasadach dla deweloperów zaczną obowiązywać 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 nierozpoznanych. 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ść ingestionType
zasobu liveStream
obsługuje nową wartość hls
, aby identyfikować strumienie pozyskane do YouTube za pomocą HLS.
Nowy przewodnik Przesyłanie treści na żywo z YouTube przez HLS zawiera wytyczne dotyczące korzystania z HLS do transmitowania treści na żywo do YouTube z 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śniać typowe zastosowania poszczególnych metod 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:-
Za pomocą widżetu Eksplorator interfejsów API możesz wybierać zakresy autoryzacji, wpisywać przykładowe wartości parametrów i właściwości, a potem wysyłać rzeczywiste żądania interfejsu API i obserwować rzeczywiste odpowiedzi interfejsu API. Widżet oferuje również widok pełnoekranowy, który zawiera pełne przykłady kodu, które są dynamicznie aktualizowane zgodnie z podanymi zakresami i wartościami.
-
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, załadować wartości do Eksploratora interfejsów API i otworzyć 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 również 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ż parametru fanFundingEvents
, który został wycofany 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
-
Zaktualizowaliśmy metodę
liveCuepoints.insert
, 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 usługi również została 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 ma format$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 wyświetlają się 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 Superczacie znajdziesz w Centrum pomocy YouTube.
Interfejs API obsługuje metodę wyświetlania zdarzeń Superczatu w transmisjach na żywo prowadzonych na kanale w ciągu 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.Oprócz tego nowa właściwość
snippet.superChatDetails
zasobuliveChatMessage
i jego elementy podrzędne zawierają informacje o zdarzeniu 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 udostępnieniem nowego superczatu YouTube wycofał funkcję finansowania przez fanów, a 28 lutego 2017 r. wyłączymy interfejs API finansowania przez fanów. 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 YouTube API („Zaktualizowane warunki”), które są szczegółowo omówione na blogu YouTube dla inżynierów i deweloperów, zawierają obszerny zestaw aktualizacji obecnych 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 znajdziesz 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 na żywo w YouTube 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łatwiać dostawcom kodeków dodawanie obsługi DASH do swoich 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.
Dodatkowo zasób
liveStream
zawiera nowe właściwości do określania liczby klatek na sekundę i rozdzielczości przychodzących danych wideo:Właściwości cdn.frameRate
Liczba klatek na sekundę 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ć. Żądania wstawienia transmisji na żywo są też obecnie skuteczne, o ile podasz wartości właściwościcdn.format
lubcdn.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 punkcie poniżej. 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 występuje tylko wtedy, gdy wartość właściwości snippet.type
ma wartośćmessageDeletedEvent
.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 zmienione 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 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
), z których każdy oznacza, że w zasobieliveStream
, który próbowało wstawić żądanie, nie ma wymaganej wartości. Poniższa lista zawiera przyczyny błędu 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
orazcdn.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 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 zmodyfikować wartość którejkolwiek z tych właściwości, których nie można zmienić:cdn.format
cdn.frameRate
cdn.ingestionType
cdn.resolution
reason
w odpowiedzi na błąd toliveStreamModificationNotAllowed
.
-
18 grudnia 2015 r.
Przepisy Unii Europejskiej (UE) wymagają udostępnienia określonych informacji użytkownikom z Unii Europejskiej i uzyskania ich zgody. 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 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, 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 rodzajów wiadomości, w tym SMS-y i wydarzenia w ramach finansowania przez fanów. Niektóre rodzaje wiadomości określają konkretną fazę czatu, na przykład początek lub koniec czatu tylko dla sponsorów. 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 jednorazową wpłatą.
MetodafanFundingEvents.list
interfejsu API wyświetla zdarzenia dotyczące finansowania przez fanów kanału. Wydarzenia finansowania przez fanów, które są inicjowane na czacie na żywo podczas transmisji na żywo należącej do kanału, powodują również wyświetlenie wiadomościfanFundingEvent
na czacie na żywo.
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. Plakietka wyświetla się obok wiadomości sponsora na czacie na żywo na kanale. Sponsorzy mogą też brać udział w takich czatach, jeśli tylko do nich dotrą.
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 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 podczas 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 jaki typ napisów udostępniasz: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 będą kodowane w strumieniu wideo w formacie 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óre korzystają już z tej właściwości:- 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ównoważne ustawieniu 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 transmisją stałą, do której można uzyskać dostęp w panelu transmisji na żywo w YouTube Studio. Pozostałe transmisje na kanale to transmisje z 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 w przypadku 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 z czatu na żywo można pobierać i publikować tylko w czasie trwania 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 powiązanego z nim czasu 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ą służyć do identyfikowania, diagnozowania i rozwiązywania 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 jest to domyślna transmisja 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 transmisji domyślnych 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 właściwość 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 umożliwia zmiany strumienia wielokrotnego użytku na taki, który nie nadaje się do wielokrotnego użytku (ani na odwrót). Więcej informacji znajdziesz w artykule Omówienie transmisji i strumieni.
-
21 maja 2015 r.
Ta aktualizacja zawiera następujące zmiany:
-
YouTube umożliwia obecnie strumieniowanie filmów na żywo z szybkością 60 klatek na sekundę (fps), co oznacza płynniejsze odtwarzanie filmów o grach i innych dynamicznych filmów. Gdy zaczniesz nadawać na żywo w YouTube z szybkością 60 kl./s, udostępnimy transmisję z szybkością 30 kl./s na urządzeniach, na których wyświetlanie z dużą szybkością nie jest jeszcze możliwe.
W przypadku zasobu
liveStream
właściwośćcdn.format
obsługuje 2 nowe wartości dla 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 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 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. -
Zaktualizowaliśmy właściwość
contentDetails.monitorStream.enableMonitorStream
zasobuliveBroadcast
, aby wyjaśnić, że jeśli wartość właściwości totrue
, to zanim przeniesiesz transmisję do stanulive
, musisz ją przenieść do stanutesting
. (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 transmitować wideo 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. -
Błąd
invalidScheduledStartTime
metodyliveBroadcasts.insert
został zaktualizowany, aby doprecyzować, że zaplanowana godzina rozpoczęcia musi być na tyle zbliżona do bieżącej daty, by można było zaplanować transmisję w sposób prawidłowy.
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 mogą być przetwarzane 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. Po tej zmianie właściwość nie jest już wymagana w żądaniachliveBroadcasts.insert
iliveBroadcasts.update
.
Jeśli pobierzesz zasóbliveBroadcast
, który nie ma określonej wartości dla tej właściwości, transmisja będzie trwać bez końca. 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 mieć wartośćfalse
tylko wtedy, gdy kanał nadający 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
. 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
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 dla transmisji, która już się rozpoczęła. Jeśli Twoja transmisja jest opóźniona, możesz też użyć tej metody, aby określić przesunięcie czasu, po którym nastąpi żądana zmiana planszy. -
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 właściwości
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 Rozpoczęcie.
- Nazwa właściwości
-
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 określa 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 ustawia 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 kodu 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
.