YouTube Live Streaming API – historia zmian

Na tej stronie znajdziesz informacje o zmianach w interfejsie YouTube Live Streaming API i aktualizacjach 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 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, 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 harmonogramu punktów wstawiania reklam. Punkty sygnałowe można wstawiać jednocześnie dla wszystkich widzów lub ich czas może się różnić w zależności od widza. Ta strategia umożliwia YouTube planowanie punktów wstawienia z większą częstotliwością, dzięki czemu widzowie mogą otrzymywać punkty wstawienia, gdy spełniają wymagania.
    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 liveBroadcast zasobu monetizationDetails zawiera pola umożliwiające włączenie reklam w trakcie filmu i konfiguracje 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 na żywo. 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.

Opis metody liveChatMessages.streamList został zaktualizowany, aby zawierał wskazówki dotyczące korzystania z interfejsu streamList API.

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 działania reklam:

  • długość odstępu między przerwami na reklamę w trakcie filmu.
  • strategię planowania punktów wstawiania reklam. 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 strategia umożliwia YouTube planowanie punktów wstawienia z większą częstotliwością, dzięki czemu widzowie mogą otrzymywać punkty wstawienia, gdy spełniają wymagania.
  • okres, w którym nie są wyświetlane reklamy w trakcie filmu. W przypadku tej funkcji właściciel transmisji określa, że wstawianie reklam w trakcie filmu jest wstrzymane do określonej godziny.

Dokumentacja odzwierciedla te zmiany w interfejsie API, które 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 sygnałowych.
  • 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 też informacje o kilku błędach, które mogą wystąpić podczas aktualizowania szczegółów zarabiania w przypadku transmisji na żywo.

1 sierpnia 2023 r.

Ta aktualizacja zawiera następujące zmiany:

  • Metoda liveBroadcasts.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 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.

    Niektóre przewodniki zostały zaktualizowane, aby odzwierciedlały dostępność tej nowej metody.

  • Uwaga: to jest ogłoszenie o wycofaniu.

    Metoda liveCuepoints.insert jest teraz 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ą one niezmienione.

  • Usunęliśmy 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 zasobu liveChatMessage i jej elementy podrzędne zawierają informacje o wydarzeniu związanym z podarowaniem subskrypcji wspieranego kanału. Podobnie nowa właściwość snippet.giftMembershipReceivedDetails i jej elementy podrzędne zawierają informacje o zdarzeniu Otrzymano wspieranie kanału w prezencie.

15 września 2021 r.

Ta aktualizacja zawiera następujące zmiany:

  • Właściwość snippet.type obsługuje teraz 2 nowe wartości:

    • newSponsorEvent
    • memberMilestoneChatEvent
  • Nowa właściwość snippet.memberMilestoneChatDetails zasobu liveChatMessage i jej elementy podrzędne 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 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 określonym 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 tej dacie wszystkie wywołania tej metody będą zwracać błąd zabroniony (403), a sama metoda zostanie później całkowicie usunięta. Klienci nadal mogą wdrażać własne tablice, dodając nakładkę do filmu wysyłanego na serwery YouTube.

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

17 lipca 2020 r.

Uwaga: jest to 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 używają 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.

Zaktualizowaliśmy przewodnik Przesyłanie treści na żywo w YouTube za pomocą HLS. Oto 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, gdy ustawisz właściwości contentDetails.enableAutoStart lub contentDetails.enableAutoStop na true.

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

    Ta aktualizacja wyjaśnia 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 ze stałą transmisją i strumieniem nie będą już działać w przypadku rozpoczynania 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.

    Od kilku lat YouTube automatycznie tworzy domyślny strumień i domyślną transmisję na kanale, gdy włączona jest na nim transmisja 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łą. Zawsze istniał i nie był powiązany z żadnym konkretnym wydarzeniem.

    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, trwająca transmisja nie zostanie naruszona. 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ą aktywnie transmitowane na żywo, po wejściu w życie wycofania YouTube będzie ignorować próby wykorzystania tych zasobów do transmitowania wideo.

    Jeśli Twoja aplikacja jest objęta tą zmianą, zapoznaj się z tymi dokumentami, które pomogą Ci zaktualizować aplikację, aby po wprowadzeniu tej zmiany nadal działała zgodnie z oczekiwaniami:

    • Nowy przewodnik po migracji wyjaśnia kroki, które deweloperzy mogą musieć wykonać w klientach interfejsu API, które obecnie korzystają z domyślnych transmisji i strumieni.
    • Przewodnik Życie transmisji zawiera szczegółowe instrukcje 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 strumienie i transmisje.

31 marca 2020 r.

Uwaga: to jest ogłoszenie o wycofaniu.

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

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

11 marca 2020 r.

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żyć do uzupełnienia wartości parametru file= podczas tworzenia podstawowego i zapasowego adresu URL przetwarzania.

4 lutego 2020 r.

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

10 stycznia 2020 r.

Interfejs API obsługuje teraz możliwość identyfikowania treści skierowanych do dzieci, które YouTube 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 interfejsie 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 w przewodniku 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 segment jest mniej narażony na pominięcie, jeśli po stronie serwera zostanie utracona lista odtwarzania multimediów. Na przykład w każdej playliście multimediów możesz uwzględnić maksymalnie 2 potwierdzone segmenty i maksymalnie 5 niepotwierdzonych segmentó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 przesyłanie w formacie HLS. W związku z tym właściwość ingestionType zasobu liveStream obsługuje nową wartość hls, która identyfikuje strumienie przesyłane do YouTube za pomocą HLS.

Nowy przewodnik Przesyłanie treści na żywo w YouTube za pomocą HLS zawiera wskazówki dotyczące używania 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 transmisji 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łady kodu za pomocą widżetu APIs Explorer. Przykład znajdziesz w dokumentacji metody liveBroadcasts.list. Na stronach opisujących metody interfejsu API są 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, w którym wyświetlane są kompletne przykłady kodu, które dynamicznie aktualizują się, aby używać wpisanych przez Ciebie zakresów i wartości.

    • Sekcja Typowe przypadki użycia zawiera opis co najmniej jednego typowego przypadku 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 chcesz wdrożyć we własnej aplikacji.

    Przykładowy kod jest obecnie obsługiwany 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 APIs Explorera i otworzyć go w trybie pełnoekranowym, aby uzyskać przykłady kodu w językach Java, JavaScript, PHP i Python.

    W związku z tą zmianą usunęliśmy strony, na których wcześniej były dostępne przykł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, supernaklejki są kupowane przez fanów podczas transmisji na żywo w 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ść na 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 roku.

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 usługi została odpowiednio zaktualizowana.

      Wartość parametru musi być kodem języka zawartym na liście zwracanej przez metodę i18nLanguages.list. Wartością domyślną jest en, co oznacza, że działaniem domyślnym jest formatowanie ciągów wyświetlanych tak, jak byłyby 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 nowy atrybut snippet.superChatDetails zasobu liveChatMessage i jego elementy podrzędne zawierają informacje o zdarzeniu 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 błędów w przypadku 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 wprowadzeniem nowej funkcji superczatu YouTube wycofuje funkcję finansowania przez fanów. Interfejs API finansowania przez fanów zostanie wyłączony 28 lutego 2017 r. Od tej daty:

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 jest opisany w historii zmian Zaktualizowanych warunków. Ponadto w historii zmian będą wyjaśniane przyszłe zmiany zaktualizowanych warunków lub dokumentów pomocniczych. Możesz zasubskrybować kanał RSS z listą zmian w historii zmian, korzystając z linku w tym dokumencie.

20 maja 2016 r.

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

Nowy przewodnik Przesyłanie treści na żywo w YouTube za pomocą DASH zawiera wskazówki 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 swoich produktów obsługi dostarczania DASH.

18 kwietnia 2016 r.

Ta aktualizacja zawiera następujące zmiany:

  • Aktualizacje istniejących zasobów i metod

    • 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 do określania liczby klatek na sekundę i rozdzielczości przychodzących danych wideo:

        Właściwości
        cdn.frameRate Liczba klatek przychodzących danych wideo. Prawidłowe wartości to 30fps 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 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 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 jest wycofana, obsługuje teraz 2 nowe wartości: 1440p i 1440p_hfr. Odzwierciedla to obsługę przez interfejs API strumieni w rozdzielczości 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ścią domyślną właściwości jest 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ść tej 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 określonym przedziale czasu. Przyczyna błędu to userRequestsExceedRateLimit.

      Metody liveBroadcasts.insert i liveBroadcasts.update już obsługują 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 żądanie próbowało 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ć, nie ma 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 cdn.frameRate, interfejs API zwróci błąd frameRateRequired.
      • Jeśli podasz wartość parametru cdn.frameRate, ale nie podasz wartości parametru 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ść którejkolwiek z tych właściwości, których nie można zmieniać: 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 do Warunków 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 wspierających 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 wstawiania i usuwania blokad czatu na żywo.
      fanFundingEvents Ten zasób reprezentuje wydarzenie związane z finansowaniem przez fanów na kanale w YouTube. Finansowanie przez fanów umożliwia widzom dobrowolne wspieranie twórców YouTube za pomocą jednorazowych wpłat.

      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 kanałowi miesięczną opłatę. Obok wiadomości sponsora na czacie na żywo na kanale wyświetla się plakietka. Sponsorzy mogą też brać udział w czatach na żywo przeznaczonych wyłącznie dla nich, jeśli takie czaty są organizowane.

      Metoda sponsors.list interfejsu API wyświetla listę sponsorów kanału. Gdy użytkownicy zarejestrują się, aby sponsorować kanał podczas transmisji na żywo na tym kanale, interfejs API dodaje też wiadomość newSponsorEvent do czatu na żywo podczas 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 podczas transmisji. Za pomocą tego identyfikatora możesz używać metod zasobu liveChatMessage do pobierania, wstawiania i usuwania wiadomości na czacie. Możesz też dodawać i usuwać moderatorów czatu, blokować użytkownikom możliwość uczestniczenia w czatach na żywo 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 przypadku Twojej transmisji, a jeśli tak, to jakiego typu napisy udostępniasz:
      • closedCaptionsDisabled: napisy są wyłączone w transmisji na żywo.
      • closedCaptionsHttpPost: napisy będą wysyłane 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ównoznaczne z ustawieniem 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. W szczególności domyślna transmisja kanału jest transmisją trwałą i można uzyskać do niej dostęp za pomocą 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 wysoka. Ustaw liczbę klatek na sekundę na %(framerate)s lub mniej.
  • Data publikacji poprzedniej aktualizacji dokumentacji została poprawiona.

  • 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 modyfikować tylko wtedy, gdy transmisja jest w stanie 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. Zmodyfikuj 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 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 w przypadku 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 ten strumień jest domyślnym strumieniem na kanale. 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 streamingiem. Obiekt zawiera szereg właściwości podrzędnych, które pomagają ocenić stan transmisji wideo na żywo.

      W szczególności obiekt status.healthStatus.configurationIssues[] zawiera listę problemów, które wpływają na transmisję wideo. W nowym dokumencie Problemy z konfiguracją zasobów LiveStream znajdziesz 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 terminach.
    • Zasób liveBroadcast zawiera te nowe właściwości:

      Właściwości
      snippet.isDefaultBroadcast Wskazuje, czy ta transmisja jest domyślną transmisją dla kanału. Gdy na kanale YouTube zostanie włączona funkcja transmitowania na żywo, YouTube utworzy domyślny strumień i domyślną transmisję dla tego kanału. 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 na potrzeby transmisji z niewielkimi opóźnieniami. Transmisja z małym opóźnieniem 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.
      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. Dlatego ta usługa nie określi 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 zmienić strumienia wielokrotnego użytku na strumień jednorazowego użytku 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 wideo na żywo z szybkością 60 klatek na sekundę, co oznacza płynniejsze odtwarzanie filmów o grach i innych filmów z szybką akcją. Gdy rozpoczniesz transmisję na żywo w 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:

  • Definicja parametru walltime metody liveBroadcasts.control została zaktualizowana, aby wskazać, że wartość właściwości jest określona w formacie ISO 8601 (YYYY-MM-DDThh:mm:ss.sssZ).

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

    Typ błędu Szczegóły błędu Opis
    insufficientPermissions liveStreamingNotEnabled Wszystkie metody zasobów liveBroadcast i liveStream zwracają ten błąd, jeśli użytkownik, który autoryzował żądanie do interfejsu API, nie ma włączonej możliwości przesyłania transmisji 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.

  • W dokumentacji błędów podajemy teraz kod odpowiedzi HTTP dla każdego typu błędu.

  • Interfejs API obsługuje teraz ten błąd:

    Typ błędu Szczegóły błędu Opis
    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.
  • Błąd invalidScheduledStartTime metody liveBroadcasts.insert został zaktualizowany, aby wyjaśnić, że zaplanowana godzina rozpoczęcia musi być wystarczająco bliska bieżącej dacie, aby można było niezawodnie zaplanować transmisję na tę godzinę.

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 można wczytać napisy do transmisji. Wartość właściwości można ustawić podczas wstawiania lub aktualizowania transmisji, ale nie można jej zmienić, gdy transmisja jest w stanie 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że być teraz ustawiona tylko na false, jeśli kanał nadawczy 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ą na false, interfejs API zwróci błąd Forbidden. Jeśli Twój kanał nie ma tego uprawnienia, a 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ę, o której ma zostać wstawiony punkt sygnałowy. 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 strumieniu. Obecnie jedyną właściwością obiektu jest contentDetails.closedCaptionsIngestionUrl, która określa adres URL przesyłania napisów do filmu.

  • 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 zarówno z funkcji liveBroadcastListResponse, jak 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 w żądaniu podasz 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 pró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. Usunęliśmy też sekcję „Wyświetlanie tablic” z przewodnika Wprowadzenie.

  • 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 Wprowadzenie i samouczek Życie transmisji nie zawierają już informacji 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 dokładniej wyjaśniać możliwe błędy i w miarę możliwości oferować 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 – zaplanowana godzina zakończenia transmisji musi być późniejsza niż zaplanowana godzina 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 ona ustawionej 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 ma ona ustawionej 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 ma ona ustawionej wartości.

  • Zaktualizowaliśmy dokumentację zasobu liveStream, aby odzwierciedlała fakt, że multicast i WebM nie są obsługiwanymi metodami przesyłania danych, jak wcześniej podano. 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 usunęliśmy http z listy obsługiwanych wartości cdn.ingestionType.