YouTube Live Streaming API – historia zmian

Na tej stronie znajdziesz zmiany w interfejsie YouTube Live Streaming API i aktualizacje dokumentacji.

12 października 2026 r.

Ta aktualizacja zawiera następujące zmiany:

18 sierpnia 2026 r.

Ta aktualizacja zawiera następujące zmiany:

  • Dokumentacja metody liveBroadcasts.update została zaktualizowana i zawiera teraz nowe błędy związane z zarabianiem: preconditionFailed (412) (przyczyna: videoNotEligibleForAdsMonetization) i backendError (503) (przyczyna: backendError).

17 sierpnia 2026 r.

Ta aktualizacja zawiera następujące zmiany:

  • Nowa właściwość snippet.categoryId zasobu liveBroadcast umożliwia ustawianie, aktualizowanie i pobieranie kategorii filmu powiązanej z transmisją na żywo.

20 lipca 2026 r.

Ta aktualizacja zawiera następujące zmiany:

9 lipca 2026 r.

Ta aktualizacja zawiera następujące zmiany:

1 czerwca 2026 r.

Ta aktualizacja zawiera następujące zmiany:

  • Właściwość contentDetails.availabilityConfig zasobu liveBroadcast umożliwia określenie ograniczeń geograficznych dla transmisji na żywo, dzięki czemu możesz zarządzać dostępnością wydarzeń na żywo w poszczególnych regionach.

26 marca 2026 r.

Ta aktualizacja zawiera następujące zmiany:

  • Właściwość snippet.type obsługuje teraz nową wartość giftEvent.

  • Nowa właściwość snippet.giftEventDetails zasobu liveChatMessage i jej elementy podrzędne zawierają informacje o wydarzeniu związanym z prezentem.

12 stycznia 2026 r.

Interfejs API obsługuje teraz włączanie reklam w trakcie filmu i automatyczne wstawianie reklam w trakcie filmu w przypadku transmisji na żywo.

Właściciel transmisji może włączyć reklamy w trakcie filmu, o ile transmisja kwalifikuje się do wyświetlania takich reklam. Właściciel może też w każdej chwili wyłączyć reklamy w trakcie transmisji.

Jeśli w transmisji są włączone reklamy w trakcie filmu, właściciel transmisji może włączyć automatyczne wstawianie reklam w trakcie filmu. Mogą też w każdej chwili wyłączyć reklamy automatyczne w transmisji.

Gdy właściciel transmisji włączy reklamy automatyczne, może wybrać jedną z tych opcji:

  • Pozwól YouTube zoptymalizować wstawianie reklam w trakcie filmu. Ta opcja obsługuje 3 tryby:
    • Niska: niższe potencjalne zarobki, mniej przerw podczas oglądania.
    • Średnia: średnie potencjalne zarobki, bardziej zrównoważone wrażenia z oglądania.
    • Wysoka: wyższe potencjalne zarobki, częstsze przerwy podczas oglądania.
  • Ręcznie skonfiguruj strategię i interwał wstawiania reklam w trakcie filmu. W takim przypadku właściciel musi skonfigurować 2 parametry:
    1. Strategia planowania punktów reklamowych. Punkty wstawienia można wstawiać jednocześnie dla wszystkich widzów lub ich czas może się różnić w zależności od widza. Ta druga strategia umożliwia YouTube planowanie punktów boksowych z większą częstotliwością, dzięki czemu widzowie mogą otrzymywać punkty boksowe, gdy się do tego kwalifikują.
    2. Długość odstępu między przerwami na reklamę w trakcie filmu.

Dokumentacja odzwierciedla te zmiany w interfejsie API, które obsługują tę funkcję:

  • Obiekt monetizationDetails zasobu liveBroadcast zawiera pola dotyczące włączania reklam w trakcie filmu i konfiguracji reklam automatycznych.
  • Metoda update umożliwia włączanie i wyłączanie reklam w trakcie filmu. Tę metodę można też wykorzystać do skonfigurowania reklam automatycznych w transmisji. W dokumentacji opisano kilka nowych błędów, które mogą wystąpić podczas aktualizowania ustawień zarabiania i ustawień reklam automatycznych w przypadku transmisji na żywo.

14 lipca 2025 r.

Zaktualizowaliśmy opis metody liveChatMessages.streamList, aby zawierał wskazówki dotyczące korzystania z interfejsu API streamList.

9 października 2023 r.

W tym pliku CSV znajdziesz informacje o tym, które identyfikatory naklejek odpowiadają poszczególnym supernaklejkom. 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 odzwierciedlał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 reklamę do transmisji, YouTube obsługuje teraz funkcję automatycznego wstawiania przerw na reklamę w trakcie filmu w stałych odstępach czasu.

Jeśli właściciel transmisji włączy reklamy automatyczne, może wyświetlać te aspekty zachowania reklam:

  • długość odstępu między przerwami na reklamę w trakcie filmu.
  • strategia planowania punktów reklamowych. Punkty wstawienia można wstawiać jednocześnie dla wszystkich widzów lub ich czas może się różnić w zależności od widza. Ta druga strategia umożliwia YouTube planowanie punktów cuepoint z większą częstotliwością, dzięki czemu widzowie mogą otrzymywać punkty cuepoint, gdy się do tego kwalifikują.
  • 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 odzwierciedla te zmiany w interfejsie API, które obsługują tę funkcję:

  • Zasób liveBroadcast zawiera teraz obiekt monetizationDetails. Pola obiektu wskazują, czy automatyczne wstawianie reklam jest włączone w przypadku transmisji, i zawierają dodatkowe informacje dotyczące planowania punktów cuepoint.
  • Parametr part metody liveBroadcast.list obsługuje wartość monetizationDetails.
  • Metoda update może służyć do wstrzymywania wstawiania reklam w trakcie transmisji na żywo przez określony czas. Dokumentacja zawiera teraz również informacje o kilku błędach, które mogą wystąpić podczas aktualizowania szczegółów zarabiania 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ą niezmienione.

1 listopada 2022 r.

  • Nowa metoda liveBroadcasts.cuepoint umożliwia każdemu właścicielowi kanału prowadzącemu transmisję na żywo w YouTube wstawianie do niej punktów boksowych, które mogą wywoływać przerwy na reklamę. Ta metoda zastępuje metodę liveCuepoints.insert, która umożliwiała wstawianie punktów cuepoint do transmisji na żywo tylko partnerom treści YouTube.

    Zaktualizowaliśmy kilka przewodników, aby odzwierciedlić dostępność tej nowej metody.

  • Uwaga: to jest ogłoszenie o wycofaniu funkcji.

    Metoda liveCuepoints.insert została wycofana. Obsługa metody liveCuepoints.insert zostanie wycofana 1 maja 2023 r. lub później. Użytkownicy interfejsu API powinni zaktualizować swoje aplikacje, aby wywoływały metodę liveBroadcasts.cuepoint.

  • Dokumentacja metody liveBroadcasts.control została usunięta. We wrześniu 2020 r. opublikowaliśmy powiadomienie o wycofaniu tej metody.

1 października 2022 r.

Ta aktualizacja zawiera następujące zmiany:

  • Metoda liveBroadcasts.update nie wymaga już podawania wartości w tych polach:

    • contentDetails.enableContentEncryption
    • contentDetails.enableDvr
    • contentDetails.enableEmbed
    • contentDetails.recordFromStart
    • contentDetails.startWithSlate

    Pominięcie tych pól w żądaniu spowoduje, że pozostaną niezmienione.

  • 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 zasobu liveChatMessage i jej elementy 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 „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 zasobu liveChatMessage i jej elementy podrzędne zawierają informacje o zdarzeniu związanym z 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 New 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 danym przedziale czasu. Przyczyna błędu: userRequestsExceedRateLimit.

21 września 2020 r.

  • Definicja właściwości status.madeForKids zasobu liveBroadcast została zaktualizowana, aby wyjaśnić, że jest ona tylko do odczytu. Nie odzwierciedla to zmiany w funkcjonalności interfejsu API.

    Aby oznaczyć transmisję na żywo jako skierowaną do dzieci, ustaw właściwość status.selfDeclaredMadeForKids na true podczas wywoływania metody liveBroadcasts.insert w celu utworzenia transmisji.

  • Uwaga: ta zmiana obejmuje ogłoszenie o wycofaniu i aktualizację wcześniejszego ogłoszenia o wycofaniu.

    Metoda liveBroadcasts.control zostanie wycofana 1 października 2020 r. lub później. Po tym terminie wszystkie wywołania tej metody będą zwracać błąd 403 (Forbidden), a później metoda zostanie całkowicie usunięta. Klienci mogą nadal wdrażać własne plansze, dodając nakładkę do filmu wysyłanego na serwery przetwarzania YouTube.

    Data wycofania podana w ogłoszeniu z 16 kwietnia 2020 r., która pierwotnie była zaplanowana na 1 września 2020 r., została przesunięta i nastąpi 1 października 2020 r. lub później. Dlatego funkcje wymienione w ogłoszeniu o wycofaniu oraz metoda liveBroadcasts.control zostaną wycofane w tym samym czasie.

17 lipca 2020 r.

Uwaga: to jest aktualizacja wcześniejszego ogłoszenia o wycofaniu.

Pole cdn.format zasobu liveStream, które zostało wycofane w kwietniu 2016 r., nie będzie już obsługiwane od 17 sierpnia 2020 r. Od tego dnia żądania, które nadal będą używać tego pola, będą kończyć się niepowodzeniem.

Jeśli Twój kod nadal używa pola cdn.format, musisz go zaktualizować, aby osobno określać liczbę klatek i rozdzielczość za pomocą właściwości cdn.frameRate i cdn.resolution.

6 lipca 2020 r.

Przewodnik Przesyłanie treści na żywo w YouTube za pomocą HLS został zaktualizowany i zawiera kilka zmian:

Dodatkowo nowe porównanie protokołów przetwarzania zawiera listę protokołów przetwarzania obsługiwanych przez YouTube, kodeki obsługiwane przez każdy protokół oraz dodatkowe informacje o odpowiednich przypadkach użycia każdego protokołu.

16 kwietnia 2020 r.

Ta aktualizacja obejmuje nową właściwość i ogłoszenie o wycofaniu:

  • Zasób liveBroadcast obsługuje teraz właściwość contentDetails.enableAutoStop. Właściwość wskazuje, czy transmisja powinna zostać automatycznie zatrzymana około minuty po tym, jak właściciel kanału przestanie przesyłać strumieniowo obraz w powiązanym strumieniu wideo.

    Zaktualizowaliśmy dokument Cykl życia transmisji, aby wyjaśnić, jak zmienia się proces tworzenia wydarzenia na żywo w YouTube i zarządzania nim, jeśli ustawisz właściwości contentDetails.enableAutoStart lub contentDetails.enableAutoStop na true.

  • Uwaga: to jest ogłoszenie o wycofaniu funkcji. Zmiany zaczną obowiązywać 1 września 2020 r. lub później. Rzeczywista data wejścia zmian w życie jest poniżej określana jako data wycofania.

    Ta aktualizacja wyjaśnia potencjalnie zmianę powodującą niezgodność. Wpływa to na aplikacje klienckie interfejsu API, które używają domyślnych zasobów liveStream i liveBroadcast kanałów do transmitowania treści na żywo w YouTube. W szczególności identyfikator transmisji i identyfikator strumienia powiązane z trwałą transmisją i strumieniem nie będą już działać przy rozpoczynaniu nowych transmisji.

    Zmiana będzie miała wpływ na Twoją aplikację, jeśli:

    • Sprawdza wartość właściwości isDefaultBroadcast zasobu liveBroadcast. Po dacie wycofania ta właściwość nie będzie zwracana.
    • Sprawdza wartość właściwości isDefaultStream zasobu liveStream. Po dacie wycofania ta właściwość nie będzie zwracana.
    • Wywołuje metodę liveBroadcasts.list i ustawia wartość parametru broadcastType na persistent lub all. W ramach tych zmian ten parametr zostanie wycofany. Od daty wycofania:
      • Jeśli wartość parametru broadcastType to persistent, metoda liveBroadcasts.list nie zwróci żadnych wyników.
      • Jeśli wartość parametru broadcastType to all, metoda liveBroadcasts.list nie zwróci trwałych transmisji, które istniały przed tym czasem.

    Dla przypomnienia: przez ostatnie kilka lat YouTube automatycznie tworzył domyślną transmisję i domyślną transmisję na żywo dla kanału, gdy ten kanał miał włączoną funkcję transmitowania na żywo. Domyślna transmisja istniała bezterminowo, nie miała powiązanego czasu rozpoczęcia ani zakończenia i nie można było jej usunąć. Podobnie domyślna transmisja była uznawana za trwałą. Istniał zawsze i nie był powiązany z konkretnym zdarzeniem.

    Od daty wycofania:

    • YouTube nie będzie już tworzyć domyślnych strumieni i transmisji. Zamiast polegać na domyślnych zasobach, klienci interfejsu API muszą mieć możliwość tworzenia zasobów liveBroadcast i liveStream oraz zarządzania nimi, a także wiązania tych zasobów ze sobą.
    • Jeśli domyślna transmisja i domyślny strumień kanału są aktywne, co oznacza, że kanał używa ich do transmisji na żywo w momencie wejścia w życie wycofania, nie będzie to miało wpływu na trwającą transmisję. Jednak po zakończeniu tej transmisji kanał nie będzie mógł ponownie użyć domyślnej transmisji i domyślnego strumienia.
    • Jeśli domyślna transmisja i domyślny strumień kanału nie są aktywne, po wycofaniu tych zasobów YouTube będzie ignorować próby ich użycia do transmitowania filmów.

    Jeśli ta zmiana dotyczy Twojej aplikacji, zapoznaj się z tymi dokumentami, które pomogą Ci ją zaktualizować, aby nadal działała zgodnie z oczekiwaniami:

    • Nowy przewodnik po migracji wyjaśnia, jakie kroki deweloperzy mogą musieć wykonać w przypadku klientów interfejsu API, którzy obecnie używają domyślnych transmisji i strumieni.
    • Przewodnik Życie transmisji zawiera szczegółowe instrukcje tworzenia wydarzenia na żywo w YouTube i zarządzania nim. Każdy krok wyjaśnia wywołania interfejsu API lub inne czynności, które musisz wykonać, aby wykonać określone działanie. Twoja aplikacja będzie musiała postępować zgodnie z tym procesem, gdy YouTube przestanie obsługiwać domyślne transmisje i transmisje na żywo.

31 marca 2020 r.

Uwaga: to jest ogłoszenie o wycofaniu funkcji.

Zasób sponsor i metoda sponsors.list zostały wycofane i zastąpione zasobem member i metodą members.list.

Od 30 września 2020 r. metoda sponsors.list nie będzie już obsługiwana. Klienci interfejsu API powinni zaktualizować wywołania metody sponsors.list, aby zamiast niej używać metody members.list. Więcej informacji o nowym zasobie znajdziesz w historii zmian interfejsu YouTube Data API.

11 marca 2020 r.

Zaktualizowaliśmy sekcję Punkt końcowy przetwarzania w przewodniku Przesyłanie treści na żywo w YouTube za pomocą HLS, aby wyjaśnić proces, którego koder powinien używać do uzupełniania wartości parametru file= podczas tworzenia podstawowego i zapasowego adresu URL przetwarzania.

4 lutego 2020 r.

Zaktualizowaliśmy przewodnik Przesyłanie treści na żywo w YouTube za pomocą HLS, aby poinformować, że żądania DELETE są opcjonalne i że punkt końcowy HLS YouTube je ignoruje. Ze względu na wydajność YouTube zaleca, aby klienci nie wysyłali żądań DELETE.

10 stycznia 2020 r.

Interfejs API obsługuje teraz możliwość identyfikowania treści skierowanych do dzieci, które YouTube nazywa „przeznaczonymi dla dzieci”. Więcej informacji o treściach przeznaczonych dla dzieci znajdziesz w Centrum pomocy YouTube.

  • Zasób liveBroadcast obsługuje 2 nowe właściwości, które umożliwiają twórcom treści 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 przeznaczona dla dzieci. Tę właściwość można ustawić podczas tworzenia transmisji za pomocą metody liveBroadcasts.insert. Pamiętaj, że ta właściwość jest uwzględniana tylko w odpowiedziach interfejsu API, które zawierają zasoby liveBroadcast, jeśli właściciel kanału autoryzował żądanie do interfejsu API.
    • Właściwość madeForKids umożliwia każdemu użytkownikowi interfejsu API pobranie stanu „przeznaczone dla dzieci” transmisji. Na przykład stan może być określany na podstawie wartości właściwości selfDeclaredMadeForKids. Więcej informacji o określaniu odbiorców kanału, filmów lub transmisji znajdziesz w Centrum pomocy YouTube.
  • W YouTube Data API zasób channel obsługuje też nowe właściwości selfDeclaredMadeForKids i madeForKids.

Zaktualizowaliśmy też Warunki korzystania z usług YouTube API i zasady dla deweloperów. Więcej informacji znajdziesz w historii zmian Warunków korzystania z usług YouTube API. Zmiany w Warunkach korzystania z usług YouTube API i zasadach dla deweloperów wejdą w życie 10 stycznia 2020 r. czasu pacyficznego.

20 sierpnia 2019 r.

W sekcji Wymagania przewodnika Przesyłanie treści na żywo w YouTube za pomocą HLS wprowadziliśmy 2 zmiany:

  • Wyjaśnia, że zgodnie ze sprawdzonymi metodami każda playlista multimediów powinna zawierać zarówno potwierdzone, jak i niepotwierdzone segmenty. Dzięki temu zmniejsza się prawdopodobieństwo pominięcia segmentu, jeśli playlista multimediów zostanie utracona po stronie serwera. Możesz na przykład uwzględnić maksymalnie 2 potwierdzone segmenty i maksymalnie 5 niepotwierdzonych segmentów w każdej playliście multimediów.
  • Obecnie wymagane jest wysyłanie playlisty multimediów dla każdego segmentu multimediów. Dzięki temu serwer może szybko odzyskać dane, jeśli playlista multimediów zostanie 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, która identyfikuje transmisje przesyłane do YouTube za pomocą HLS.

Nowy przewodnik Przesyłanie treści na żywo do YouTube za pomocą HLS zawiera wskazówki dotyczące korzystania z HLS do przesyłania strumieniowego treści na żywo do YouTube z kodera. Przewodnik ma pomóc dostawcom koderów w dodaniu do ich produktów obsługi przesyłania HLS.

4 kwietnia 2019 r.

Ta aktualizacja zawiera następujące zmiany:

  • Dokumentacja API została zaktualizowana, aby lepiej wyjaśnić typowe przypadki użycia każdej metody i zapewnić dynamiczne, wysokiej jakości przykładowe kody za pomocą widżetu APIs Explorer. Przykład znajdziesz w dokumentacji metody liveBroadcasts.list. Na stronach opisujących metody interfejsu API znajdują się teraz 2 nowe elementy:

    • Widżet APIs Explorer umożliwia wybieranie zakresów autoryzacji, wpisywanie przykładowych wartości parametrów i właściwości, a następnie wysyłanie rzeczywistych żądań do interfejsu API i wyświetlanie rzeczywistych odpowiedzi interfejsu API. Widżet oferuje też widok pełnoekranowy, który pokazuje pełne przykłady kodu, które są dynamicznie aktualizowane, aby używać wprowadzonych przez Ciebie zakresów i wartości.

    • Sekcja Typowe przypadki użycia opisuje 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 o transmisjach bieżącego użytkownika.

      Możesz użyć linków w tej sekcji, aby wypełnić APIs Explorer przykładowymi wartościami dla Twojego przypadku użycia lub otworzyć APIs Explorer na pełnym ekranie z już wypełnionymi wartościami. Te zmiany mają ułatwić Ci wyświetlanie przykładowych kodów, które bezpośrednio dotyczą przypadku użycia, który próbujesz wdrożyć we własnej aplikacji.

    Przykładowe kody są obecnie obsługiwane w przypadku języków Java, JavaScript, PHP, Python i curl.

  • Strona z przykładowym kodem ma też nowy interfejs, który oferuje wszystkie opisane powyżej funkcje. Za pomocą tego narzędzia możesz poznać przypadki użycia różnych metod, wczytać wartości do narzędzia APIs Explorer i otworzyć je na pełnym ekranie, aby uzyskać przykładowy kod 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 językach Java, PHP i Python.

25 lutego 2019 r.

Zaktualizowaliśmy dokumentację zasobów liveChatMessage i superChatEvent, aby odzwierciedlić fakt, że oba zasoby mogą teraz zawierać informacje o supernaklejkach. Supernaklejki to rodzaj wiadomości na superczacie, która wyświetla obraz. Podobnie jak inne superczaty, supernaklejka jest kupowana przez fana podczas transmisji na żywo na YouTube.

  • W zasobie liveChatMessage właściwość snippet.type jest teraz ustawiona na superStickerEvent, co oznacza, że zasób zawiera informacje o supernaklejce. W takim przypadku zasób zawiera też obiekt snippet.superStickerDetails, który zawiera dodatkowe informacje o supernaklejce.
  • W zasobie superChatEvent wartość logiczna snippet.isSuperStickerEvent wskazuje, czy wiadomość w superczacie jest też supernaklejką. Jeśli tak, obiekt snippet.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ż fanFundingEvents, które zostały wycofane na początku 2017 r.

3 kwietnia 2017 r.

Dodaliśmy nowe przykłady kodu w języku Java, które pokazują, jak wyświetlać, wstawiać i usuwać wiadomości na czacie na żywo. Przykłady wywołują te metody:

13 lutego 2017 r.

Ta aktualizacja zawiera następujące zmiany:

  • Aktualizacje istniejących zasobów i metod

    • Metoda liveCuepoints.insert została zaktualizowana, aby odzwierciedlić fakt, że parametr onBehalfOfContentOwner jest obecnie wymagany. Dodatkowo zaktualizowaliśmy opis metody, aby zaznaczyć, ż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 metody superChatEvents.list umożliwia określenie, że wartość właściwości snippet.displayString powinna być sformatowana zgodnie z konwencjami danego języka. Definicja tej właściwości również została odpowiednio zaktualizowana.

      Wartość parametru musi być kodem języka zawartym na liście zwracanej przez metodę i18nLanguages.list. Wartość domyślna to en, co oznacza, że działanie domyślne polega na formatowaniu ciągów znaków wyświetlanych tak, jakby były używane w języku angielskim. Na przykład domyślnie ciąg znaków jest formatowany jako $1.00, a nie $1,00.

1 lutego 2017 r.

Ta aktualizacja zawiera następujące zmiany:

  • Nowe zasoby i metody

    • Nowy zasób superChatEvent reprezentuje wiadomość na superczacie kupioną przez fana podczas transmisji na żywo w YouTube. W strumieniu czatu 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 przez określony czas.

      Kolor superczatu, czas, przez jaki pozostaje on przypięty na pasku aktywności, oraz maksymalna długość wiadomości zależą od kwoty płatności. Więcej informacji o superczatach znajdziesz w Centrum pomocy YouTube.

      Interfejs API obsługuje metodę list, która umożliwia wyświetlanie listy zdarzeń superczatu z transmisji na żywo na kanale z ostatnich 30 dni. Ta metoda zwraca też dane o zdarzeniach związanych z finansowaniem przez fanów (fanFundingEvents) z ostatniej transmisji na żywo na kanale.

  • Aktualizacje istniejących zasobów i metod

    • Właściwość snippet.type obsługuje teraz wartość superChatEvent, która wskazuje, że zasób opisuje superczat.

      Dodatkowo nowa właściwość snippet.superChatDetails zasobu liveChatMessage i jej elementy podrzędne zawierają informacje o wydarzeniu superczatu.

    • Właściwość cdn.resolution zasobu liveStream 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 i liveBroadcasts.update zwracają błędy 400 (Bad Request), aby wskazać, że wstawiany lub aktualizowany zasób liveBroadcast zawiera nieprawidłową wartość właściwości contentDetails.enableEmbed lub contentDetails.projection. Przyczyny tych 2 nowych błędów to odpowiednio invalidEmbedSetting i invalidProjection.

12 stycznia 2017 r.

Uwaga: to jest ogłoszenie o wycofaniu funkcji.

Wraz z udostępnieniem nowej funkcji superczatu YouTube wycofuje funkcję finansowania przez fanów. Interfejs API finansowania przez fanów zostanie wyłączony 28 lutego 2017 r. Od tego dnia:

11 sierpnia 2016 r.

Ta aktualizacja zawiera następujące zmiany:

  • Nowo opublikowane Warunki korzystania z usług YouTube API („Zaktualizowane warunki”), które zostały szczegółowo omówione na blogu YouTube Engineering and Developers, zawierają wiele zmian w obecnych Warunkach korzystania z usługi. Oprócz Zaktualizowanych warunków, które wejdą w życie 10 lutego 2017 roku, ta aktualizacja obejmuje kilka dokumentów pomocniczych, które wyjaśniają zasady obowiązujące deweloperów.

    Pełny zestaw nowych dokumentów znajdziesz w historii zmian Zaktualizowanych warunków. W historii zmian będą też wyjaśniane przyszłe zmiany w Zaktualizowanych warunkach lub dokumentach pomocniczych.

20 maja 2016 r.

YouTube obsługuje teraz przetwarzanie DASH. W związku z tym właściwość ingestionType zasobu liveStream obsługuje nową wartość dash, która identyfikuje strumienie przesyłane do YouTube za pomocą DASH.

Nowy przewodnik Przesyłanie treści na żywo w YouTube za pomocą DASH zawiera wytyczne dotyczące korzystania z formatu przesyłania DASH do strumieniowego przesyłania danych na żywo na YouTube z kodera. Ma on pomóc dostawcom koderów w dodaniu do ich produktów obsługi przesyłania DASH.

18 kwietnia 2016 r.

Ta aktualizacja zawiera następujące zmiany:

  • Aktualizacje istniejących zasobów i metod

    • Aktualizacje zasobów (liveStream)
      • YouTube obsługuje teraz transmisje w rozdzielczości 1440p przy 30 lub 60 klatkach na sekundę.

        Dodatkowo zasób liveStream zawiera nowe właściwości, które pozwalają określić liczbę klatek i rozdzielczość przychodzących danych wideo:

        Właściwości
        cdn.frameRate Liczba klatek przychodzących danych wideo. Prawidłowe wartości to 30fps i 60fps.
        cdn.resolution Rozdzielczość przychodzących danych wideo. Prawidłowe wartości właściwości to: 1440p, 1080p, 720p, 480p, 360p i 240p.
      • W związku z wprowadzeniem właściwości cdn.frameRate i cdn.resolution zasobu liveStream właściwość cdn.format zasobu została wycofana. Właściwość cdn.format określa rozdzielczość i liczbę klatek w jednej wartości.

        Zachęcamy do przejścia na nowo obsługiwane pola. W międzyczasie cdn.format nadal działa. Dodatkowo żądania wstawienia transmisji na żywo są obecnie realizowane, o ile określisz wartości właściwości cdn.format lub właściwości cdn.frameRate i cdn.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 i 1440p_hfr, które odzwierciedlają obsługę przez interfejs API transmisji 1440p przy 30 lub 60 klatkach na sekundę.

    • Aktualizacje zasobów (liveBroadcast)
      • 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. Wartość domyślna właściwości to rectangular. Prawidłowe wartości tej właściwości to 360 i rectangular.
      • Definicja właściwości statistics.totalChatCount zasobu liveBroadcast została zaktualizowana, aby zaznaczyć, że wartość właściwości jest widoczna tylko wtedy, gdy transmisja zawiera co najmniej 1 wiadomość na czacie.

    • Aktualizacje zasobów (liveChatMessage)
      • Właściwość snippet.type obsługuje 2 nowe wartości – messageDeletedEvent i userBannedEvent – które odpowiadają nowym właściwościom opisanym w następnym punkcie. Zaktualizowaliśmy też definicję właściwości snippet.authorChannelId, aby wyjaśnić, co wartość właściwości identyfikuje w przypadku tych nowych typów wiadomości.

      • Zasób liveChatMessage zawiera te nowe właściwości:

        Właściwości
        snippet.messageDeletedDetails Ten obiekt zawiera informacje o wiadomości, która została usunięta przez moderatora czatu. Obiekt jest obecny tylko wtedy, gdy wartość właściwości snippet.type to messageDeletedEvent.
        snippet.userBannedDetails Ten obiekt zawiera informacje o użytkowniku, który został zablokowany i nie może uczestniczyć w czacie. Obiekt zawiera też informacje o samym zakazie, czyli o tym, czy jest on stały czy tymczasowy. Jeśli blokada jest tymczasowa, jedna z właściwości obiektu określa czas jej trwania.

        Ten obiekt jest obecny tylko wtedy, gdy wartość właściwości snippet.type to userBannedEvent.
  • Nowe i zaktualizowane błędy

    • Interfejs API obsługuje te nowe błędy:

      Szczegóły błędu
      liveBroadcasts.bind Metoda liveBroadcasts.bind zwraca błąd 403 (Forbidden), aby wskazać, że użytkownik wysłał zbyt wiele żądań w danym przedziale czasu. Przyczyna błędu: userRequestsExceedRateLimit.

      Metody liveBroadcasts.insert i liveBroadcasts.update obsługują już ten sam błąd.
      liveStreams.insert Metoda liveStreams.insert obsługuje 4 nowe błędy 400 (Bad Request), które wskazują nieprawidłową wartość właściwości w zasobie liveStream, który próbowano wstawić. Poniższa lista zawiera przyczyny błędów i powiązane z nimi właściwości:
      liveStreams.insert Metoda liveStreams.insert obsługuje 2 nowe błędy 400 (Bad Request), z których każdy wskazuje, że w zasobie liveStream, który próbowano wstawić, brakuje wymaganej wartości. Poniższa lista zawiera przyczyny błędów i powiązane z nimi właściwości:
      Dokładniej mówiąc, gdy wstawiasz zasób liveStream, musisz określić wartość właściwości cdn.format lub właściwości cdn.frameRate oraz cdn.resolution.
      • Jeśli nie podasz wartości żadnej z tych 3 właściwości, interfejs API zwróci błąd formatRequired.
      • Jeśli podasz wartość cdn.resolution, ale nie podasz cdn.frameRate, interfejs API zwróci błąd frameRateRequired.
      • Jeśli podasz wartość cdn.frameRate, ale nie podasz cdn.resolution, interfejs API zwróci błąd resolutionRequired.
      liveStreams.update Metoda liveStreams.update zwraca błąd 403 (Forbidden), jeśli żądanie próbuje zmodyfikować wartość dowolnej z tych niezmiennych właściwości: Wartość reason w odpowiedzi o błędzie to liveStreamModificationNotAllowed.

18 grudnia 2015 r.

Przepisy Unii Europejskiej (UE) wymagają, aby użytkownicy w UE otrzymywali określone informacje i wyrażali zgodę na wykorzystanie danych. Dlatego w przypadku użytkowników z Unii Europejskiej musisz przestrzegać polityki w zakresie zgody użytkownika z UE. Dodaliśmy informację o tym wymaganiu w Warunkach korzystania z interfejsu API YouTube.

17 grudnia 2015 r.

Ta aktualizacja zawiera następujące zmiany:

  • Nowe zasoby i metody

    • Interfejs API obsługuje kilka nowych zasobów, które umożliwiają korzystanie z funkcji czatu podczas transmisji na żywo. YouTube obsługuje funkcję czatu na żywo podczas aktywnych transmisji na żywo. Te zasoby i ich metody umożliwiają pobieranie wiadomości na czacie oraz korzystanie z funkcji administracyjnych czatu.

      Zasoby
      liveChatMessage Ten zasób reprezentuje wiadomość na czacie na żywo w YouTube. YouTube obsługuje kilka typów wiadomości, w tym wiadomości tekstowe i wydarzenia związane z finansowaniem przez fanów. Niektóre typy wiadomości identyfikują konkretną fazę czatu, np. początek okresu tylko dla sponsorów lub koniec czatu. Interfejs API obsługuje metody wyświetlania, wstawiania i usuwania wiadomości na czacie na żywo.
      liveChatModerators Ten zasób identyfikuje moderatora czatu. Moderatorzy mogą wykonywać niektóre funkcje administracyjne, takie jak blokowanie użytkowników na czacie 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 ma zakaz publikowania wiadomości na określonym czacie na żywo. Blokady mogą być tymczasowe lub stałe. Interfejs API obsługuje metody dodawania i usuwania blokad czatu na żywo.
      fanFundingEvents Ten zasób reprezentuje wydarzenie związane z finansowaniem przez fanów na kanale YouTube. Finansowanie przez fanów umożliwia widzom dobrowolne wspieranie twórców YouTube za pomocą jednorazowych wpłat.

      Metoda fanFundingEvents.list interfejsu API wyświetla listę wydarzeń związanych z finansowaniem przez fanów na kanale. Wydarzenia związane z finansowaniem przez fanów, które są inicjowane na czacie na żywo podczas transmisji na żywo należącej do kanału, powodują też wysłanie wiadomości fanFundingEvent na czat na żywo transmisji.

      Więcej informacji o finansowaniu przez fanów znajdziesz w Centrum pomocy YouTube.
      sponsors Zasób sponsor identyfikuje sponsora kanału w YouTube. Sponsor płaci miesięczną opłatę za kanał. Plakietka pojawia się obok wiadomości sponsora na czatach na żywo na kanale. Sponsorzy mogą też uczestniczyć w czatach na żywo przeznaczonych wyłącznie dla sponsorów kanału, jeśli takie się odbywają.

      Metoda sponsors.list interfejsu API wyświetla listę sponsorów kanału. Gdy użytkownicy zarejestrują się, aby sponsorować kanał podczas transmisji na żywo należącej do tego kanału, interfejs API dodaje też wiadomość newSponsorEvent do czatu na żywo transmisji.

      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 dla transmisji. Za pomocą tego identyfikatora możesz używać metod zasobu liveChatMessage, aby pobierać, wstawiać lub usuwać wiadomości na czacie. Możesz też dodawać i usuwać moderatorów czatu, blokować użytkownikom możliwość uczestniczenia 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 napisy są włączone w transmisji, a jeśli tak, to jakiego typu napisy udostępniasz:
      • closedCaptionsDisabled: napisy są wyłączone w transmisji na żywo.
      • closedCaptionsHttpPost: napisy będziesz wysyłać 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 formatach EIA-608 lub CEA-708.
      contentDetails.enableClosedCaptions Ta właściwość została wycofana 17 grudnia 2015 r. Zamiast tego użyj właściwości contentDetails.closedCaptionsType. W przypadku klientów interfejsu API, którzy korzystają już z tej właściwości:
      • Ustawienie wartości właściwości na true jest równoważne ustawieniu właściwości contentDetails.closedCaptionsType na closedCaptionsHttpPost.
      • Ustawienie wartości właściwości na false jest równoważne ustawieniu właściwości contentDetails.closedCaptionsType na closedCaptionsDisabled.
    • Nowy parametr broadcastType metody liveBroadcasts.list umożliwia filtrowanie odpowiedzi interfejsu API, aby uwzględnić transmisje wydarzeń, transmisje trwałe lub wszystkie transmisje.

      Trwała transmisja to taka, która zawsze istnieje i nie jest powiązana z konkretnym wydarzeniem. Domyślna transmisja kanału jest transmisją stałą i można uzyskać do niej dostęp w panelu transmisji na żywo w YouTube Studio. Pozostałe transmisje na kanale to transmisje wydarzeń.

  • Pole status.healthStatus.configurationIssues[].type zasobu liveStream zgłasza 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 Obecna liczba klatek na sekundę jest za duża. Ustaw liczbę klatek na sekundę na %(framerate)s lub mniej.
  • 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 HTTPforbidden (403)
      PrzyczynaclosedCaptionsTypeModificationNotAllowed
      OpisWartość contentDetails.closedCaptionsType można zmienić tylko wtedy, gdy transmisja ma stan created lub ready.
      liveBroadcasts.update
      Kod odpowiedzi HTTPinvalidValue (400)
      PrzyczynainvalidEnableClosedCaptions
      OpisW zasobie liveBroadcast wartość właściwości contentDetails.enableClosedCaptions jest niezgodna z wartością ustawienia contentDetails.closedCaptionType. Zmień zasób, aby zawierał tylko jedną z tych 2 właściwości, a następnie ponownie prześlij żądanie.

19 sierpnia 2015 r.

Ta aktualizacja zawiera następujące zmiany:

  • Nowe zasoby i metody

    • Uwaga: dokumentacja zasobu liveChat i jego metod jest poufna i widoczna tylko dla wybranych partnerów YouTube.

      Nowy zasób liveChat zawiera komentarz opublikowany podczas transmisji na żywo w YouTube. Interfejs API obsługuje 2 metody dotyczące tego zasobu:

      Metody
      liveChats.list Wyświetlanie listy wiadomości na czacie na żywo podczas transmisji.
      liveChats.insert Utwórz nową wiadomość na czacie.

      Wiadomości na czacie na żywo można pobierać i publikować tylko podczas transmisji na żywo.

  • Aktualizacje istniejących zasobów i metod

    • Zasób liveStream zawiera te nowe właściwości:

      Właściwości
      snippet.isDefaultStream Wskazuje, czy ta transmisja jest domyślną transmisją dla kanału. Domyślna transmisja kanału istnieje bezterminowo, nie ma powiązanego czasu rozpoczęcia ani zakończenia i nie można jej usunąć. Więcej informacji o działaniu strumieni domyślnych znajdziesz w definicji właściwości.
      status.healthStatus Ten obiekt zawiera informacje, które mogą pomóc w identyfikowaniu, diagnozowaniu i rozwiązywaniu problemów ze strumieniowaniem. Obiekt zawiera szereg właściwości podrzędnych, które pomagają ocenić stan transmisji na żywo.

      W szczególności obiekt status.healthStatus.configurationIssues[] zawiera listę problemów, które wpływają na transmisję. Nowy dokument Problemy z konfiguracją zasobów LiveStream zawiera listę wszystkich problemów zgłaszanych przez interfejs API.
      contentDetails.isReusable Wskazuje, czy transmisja może być używana wielokrotnie, co oznacza, że można ją powiązać z wieloma transmisjami. Nadawcy często używają tego samego strumienia do wielu różnych transmisji, jeśli odbywają się one w różnych godzinach.
    • Zasób liveBroadcast zawiera te nowe właściwości:

      Właściwości
      snippet.isDefaultBroadcast Wskazuje, czy ta transmisja jest domyślną transmisją na kanale. Gdy kanał YouTube ma włączoną transmisję na żywo, YouTube tworzy dla niego domyślny strumień i domyślną transmisję. Strumień określa, jak właściciel kanału wysyła transmisję na żywo do YouTube, a transmisja to sposób, w jaki widzowie mogą oglądać domyślny strumień. Więcej informacji o tym, jak działają domyślne transmisje, znajdziesz w definicji właściwości.
      contentDetails.enableLowLatency Wskazuje, czy ta transmisja powinna być kodowana pod kątem przesyłania strumieniowego z niewielkimi opóźnieniami. Strumień o niskim opóźnieniu może skrócić czas, po którym film staje się widoczny dla użytkowników oglądających transmisję, ale może też wpłynąć na rozdzielczość dla widzów strumienia.
      statistics.totalChatCount Łączna liczba wiadomości na czacie na żywo powiązanych z transmisją. 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 miała określonej wartości po zakończeniu transmisji. Ta właściwość nie określa więc liczby wiadomości na czacie w przypadku zarchiwizowanego filmu z zakończonej transmisji na żywo.
  • Nowe i zaktualizowane błędy

    • Oprócz błędów zdefiniowanych dla nowego zasobu liveChat interfejs API obsługuje ten nowy błąd:

      Szczegóły błędu
      liveStreams.update
      Kod odpowiedzi HTTPforbidden (403)
      PrzyczynaliveStreamModificationNotAllowed
      OpisInterfejs API nie pozwala na zmianę transmisji wielokrotnego użytku na transmisję jednorazową ani odwrotnie. Więcej informacji znajdziesz w artykule Informacje o transmisjach i strumieniach.

21 maja 2015 r.

Ta aktualizacja zawiera następujące zmiany:

  • YouTube obsługuje teraz transmisje na żywo w 60 klatkach na sekundę (fps), co oznacza płynniejsze odtwarzanie gier i innych filmów z szybką akcją. Gdy rozpoczniesz transmisję na żywo na YouTube w 60 kl./s, YouTube udostępni ją też w 30 kl./s na urządzeniach, na których nie można jeszcze oglądać treści z dużą liczbą klatek.

    Właściwość cdn.format zasobu liveStream obsługuje 2 nowe wartości tej funkcji: 720p_hfr i 1080p_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:

  • Zaktualizowaliśmy definicję parametru walltime metody liveBroadcasts.control, aby zaznaczyć, że wartość właściwości jest określona w formacie ISO 8601 (YYYY-MM-DDThh:mm:ss.sssZ).

  • Interfejs API obsługuje teraz te błędy:

    Typ błędu Szczegóły błędu Opis
    insufficientPermissions liveStreamingNotEnabled Wszystkie metody zasobów liveBroadcast i liveStream zwracają ten błąd, jeśli użytkownik, który autoryzował żądanie do interfejsu API, nie ma uprawnień do transmitowania na żywo w YouTube. Szczegółowe informacje o tym, dlaczego użytkownik nie może transmitować obrazu na żywo, mogą być dostępne w ustawieniach kanału użytkownika na stronie https://www.youtube.com/features.
    rateLimitExceeded userRequestsExceedRateLimit Metody liveBroadcasts.insert i liveStreams.insert zwracają ten błąd, aby wskazać, że użytkownik wysłał zbyt wiele żądań w danym przedziale czasu.

2 maja 2014 r.

Ta aktualizacja zawiera następujące zmiany:

  • Zaktualizowaliśmy opisy zasobu liveStream i metody liveBroadcasts.bind, aby zaznaczyć, że transmisję można powiązać tylko z jednym strumieniem wideo, ale strumień wideo można powiązać z więcej niż jedną transmisją. Ta zmiana dotyczy tylko dokumentacji. Funkcje interfejsu API nie uległy zmianie.

  • Zaktualizowaliśmy właściwość contentDetails.monitorStream.enableMonitorStream zasobu liveBroadcast, aby wyjaśnić, że jeśli wartość właściwości to true, musisz zmienić stan transmisji na testing, zanim będzie można zmienić go na live. (Jeśli wartość właściwości to false, transmisja nie może mieć etapu testing, więc możesz przejść bezpośrednio do stanu live.

  • Zaktualizowaliśmy właściwość settings.offsetTimeMs zasobu liveCuepoint, aby poinformować, że nie należy określać wartości tej właściwości, jeśli transmisja nie ma strumienia monitora.

  • Wszystkie metody zasobów liveBroadcast i liveStream obsługują teraz parametry onBehalfOfContentOwner i onBehalfOfContentOwnerChannel. Te parametry umożliwiają używanie tych samych danych logowania do autoryzacji żądań do interfejsu API dotyczących różnych kanałów powiązanych z tym samym właścicielem treści.

  • Zaktualizowaliśmy dokumentację metody liveCuepoints.insert, aby poinformować, że podczas wywoływania tej metody można ustawić wartość właściwości settings.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 i liveStreams.insert zwracają ten błąd, jeśli użytkownik, który autoryzował żądanie, nie może transmitować na żywo w YouTube. Szczegółowe informacje o tym, dlaczego użytkownik nie może transmitować obrazu na żywo, mogą być dostępne w ustawieniach kanału użytkownika na stronie https://www.youtube.com/features.
  • Zaktualizowaliśmy błąd invalidScheduledStartTime metody liveBroadcasts.insert, aby wyjaśnić, że zaplanowany czas rozpoczęcia musi być na tyle blisko bieżącej daty, aby można było niezawodnie zaplanować transmisję na ten czas.

13 grudnia 2013 r.

Ta aktualizacja zawiera następujące zmiany:

  • Nowa właściwość status.recordingStatus zasobu liveBroadcast określa bieżący stan transmisji.

  • Nowa właściwość contentDetails.enableClosedCaptions zasobu liveBroadcast wskazuje, czy do transmisji można przesłać napisy. Wartość właściwości można ustawić podczas wstawiania lub aktualizowania transmisji, ale nie można jej zmienić, gdy transmisja ma stan testing lub live. Jeśli ustawisz tę właściwość na true, zasób liveStream powiązany z transmisją określi adres URL przetwarzania, który ma być używany do napisów w transmisji.

  • Właściwość snippet.scheduledEndTime zasobu liveBroadcast obsługuje teraz transmisje, które mają trwać bezterminowo. Po tej zmianie właściwość nie jest już wymagana w żądaniach liveBroadcasts.insert i liveBroadcasts.update.

    Jeśli pobierzesz zasób liveBroadcast, który nie określa wartości tej właściwości, transmisja będzie zaplanowana na czas nieokreślony. Podobnie, jeśli wywołasz metodę liveBroadcasts.insert lub liveBroadcasts.update i nie określisz wartości tej właściwości, transmisja będzie zaplanowana na czas nieokreślony.

  • Właściwość contentDetails.recordFromStart zasobu liveBroadcast, która miała już wartość domyślną true, można teraz ustawić na false tylko wtedy, gdy kanał nadawczy może wyłączyć nagrywanie transmisji na żywo.

    Jeśli Twój kanał nie ma uprawnień do wyłączania nagrywania, a Ty spróbujesz wstawić transmisję z właściwością recordFromStart ustawioną na false, interfejs API zwróci błąd Forbidden. Jeśli Twój kanał nie ma tego uprawnienia i spróbujesz zaktualizować transmisję, aby ustawić właściwość recordFromStart na false, interfejs API zwróci błąd modificationNotAllowed.

  • Zasób liveBroadcast nie zawiera już właściwości enableArchive, która była wymieniona w opisach właściwości contentDetails.enableDvr i contentDetails.enableEmbed.

  • Lista prawidłowych wartości właściwości status.lifeCycleStatus zasobu liveBroadcast została zaktualizowana i zawiera teraz opis każdego stanu.

  • Nowa właściwość settings.walltime zasobu liveCuepoint określa datę i godzinę, kiedy należy wstawić punkt cuepoint. Interfejs API zwraca błąd, jeśli żądanie próbuje wstawić punkt cue, który określa wartość tej właściwości i właściwości settings.offsetTimeMs.

  • Nowy obiekt contentDetails w zasobie liveStream zawiera informacje o transmisji. Obecnie jedyną właściwością obiektu jest contentDetails.closedCaptionsIngestionUrl, która określa adres URL przetwarzania napisów powiązanych ze strumieniem wideo.

  • Lista prawidłowych wartości właściwości status.streamStatus zasobu liveStream została zaktualizowana i zawiera teraz opis każdego stanu.

  • Nowy parametr walltime metody liveBroadcasts.control pozwala określić datę i godzinę zmiany planszy. Interfejs API zwraca błąd, jeśli żądanie określa wartość tego parametru i parametru offsetTimeMs.

  • W odpowiedzi interfejsu API na żądanie liveBroadcasts.list wartość właściwości kind zmieniła się z youtube#liveBroadcastList na youtube#liveBroadcastListResponse.

  • W odpowiedzi interfejsu API na żądanie liveStreams.list wartość właściwości kind zmieniła się z youtube#liveStreamList na youtube#liveStreamListResponse.

  • Właściwość eventId została wycofana z liveBroadcastListResponse i liveStreamListResponse.

  • 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 zawiera wartości parametrów offsetTimeMs i walltime. Żądanie może pomijać oba parametry lub określać wartość jednego z nich.
    invalidValue invalidWalltime Metoda liveBroadcasts.control zwraca ten błąd, jeśli wartość parametru walltime jest nieprawidłowa.
    forbidden enableClosedCaptionsModificationNotAllowed Metoda liveBroadcasts.update zwraca ten błąd, jeśli spróbujesz zaktualizować wartość contentDetails.enableClosedCaptions, a stan transmisji nie jest created ani ready.
    invalidValue conflictingTimeFields Metoda liveCuepoints.insert zwraca ten błąd, jeśli żądanie określa wartości właściwości settings.offsetTimeMs i settings.walltime. Żądanie może pomijać obie właściwości lub określać wartość jednej z nich.

    Dodatkowo metoda liveStreams.update nie obsługuje już błędu cdnRequired podobnego do tego, który obsługuje metoda liveStreams.insert.

10 maja 2013 r.

Ta aktualizacja zawiera następujące zmiany:

2 maja 2013 r.

Ta aktualizacja zawiera następujące zmiany:

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 na startWithSlate.
    • Nazwa właściwości enableArchive została zmieniona na recordFromStart.
    • Obiekt slateSettings został wycofany i usunięty z dokumentacji. Usunęliśmy też komunikaty o błędach związane z obiektem slateSettings lub jego właściwościami. Na koniec usunęliśmy sekcję „Wyświetlanie plansz” z przewodnika dla początkujących.

  • Interfejs API nie obsługuje już możliwości wstawiania plansz In-Stream za pomocą metody liveCuepoints.insert. Poniższe dokumenty zostały zaktualizowane w celu odzwierciedlenia omawianej zmiany:

    • Strona indeksu, przewodnik Pierwsze kroki i samouczek Cykl życia transmisji nie wspominają już o tej funkcji.

    • Właściwość settings.cueType zasobu liveCuepoint nie obsługuje już wartości slate. (Jedyną obsługiwaną wartością jest ad.

    • Właściwość settings.eventState zasobu liveCuepoint 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 lepiej wyjaśniać możliwe błędy i w miarę możliwości podawać wskazówki dotyczące rozwiązania problemu.

  • Interfejs API może teraz zwracać kilka nowych błędów. Poniższa lista zawiera błędy i metody interfejsu API, które mogą je zwracać:

    • liveBroadcasts.insert – zaplanowany czas zakończenia transmisji musi być późniejszy niż zaplanowany czas rozpoczęcia.
    • liveBroadcasts.insert – transmisja ma nieprawidłowy stan prywatności.
    • liveBroadcasts.update – zasób nie zawiera właściwości contentDetails.enableArchive lub nie ma ustawionej jej wartości.
    • liveBroadcasts.update – zasób nie zawiera właściwości contentDetails.enableContentEncryption lub nie ma ustawionej jej wartości.
    • liveBroadcasts.update – zasób nie zawiera właściwości contentDetails.enableDvr lub nie ustawia jej wartości.
    • liveStreams.insert – tytuł fragmentu musi mieć od 1 do 128 znaków.
    • liveStreams.update – zasób nie zawiera właściwości snippet.title lub nie ustawia jej wartości.

  • Dokumentacja zasobu liveStream została zaktualizowana, aby odzwierciedlić, że multicast i WebM nie są obsługiwanymi metodami przetwarzania, jak wcześniej wskazano. Lista formatów właściwości cdn.format została odpowiednio zaktualizowana, a obiekt cdn.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ści atrybutu cdn.ingestionType.