Historia zmian

Ta strona zawiera listę zmian interfejsu YouTube Data API (v3) oraz aktualizacji dokumentacji. Zasubskrybuj ten dziennik zmian. Subskrybuj

22 sierpnia 2022 r.

Poprawiono adnotacje dotyczące typów video.statistics w ciągach znaków bez podpisu.

5 sierpnia 2022 r.

W YouTube zmienił się sposób generowania identyfikatorów napisów. W ramach tej zmiany przypisujemy nowe identyfikatory napisów do wszystkich ścieżek napisów. Ta zmiana może być niezgodna wstecznie w przypadku aplikacji, które przechowują wartości caption_id, ale nie będzie miała wpływu na aplikacje, które nie przechowują wartości caption_id.

Od teraz do 1 grudnia 2022 roku metody captions.list, captions.update, captions.download i captions.delete będą obsługiwać zarówno stare, jak i nowe identyfikatory ścieżek napisów. Jednak od 1 grudnia 2022 r. YouTube przestanie obsługiwać stare identyfikatory ścieżek napisów. Wywołanie dowolnej z tych metod za pomocą starego identyfikatora ścieżki napisów spowoduje błąd captionNotFound.

Aby przygotować się na tę zmianę, od 1 grudnia 2022 r. musisz całkowicie zastąpić wszystkie zapisane dane ścieżek napisów. Oznacza to, że w przypadku każdego filmu, dla którego przechowujesz dane ścieżek napisów, usuń obecnie zapisane dane, a następnie wywołaj metodę captions.list, aby pobrać bieżący zestaw ścieżek napisów do filmu i zapisać dane w odpowiedzi interfejsu API w zwykły sposób.

12 lipca 2022 r.

Warunki korzystania z usług YouTube API zostały zaktualizowane. Aby uzyskać więcej informacji, zapoznaj się z Warunkami korzystania z usług interfejsu YouTube API – historia zmian.

27 kwietnia 2022 r.

Zaktualizowaliśmy opis metody videos.insert, aby zwrócić uwagę, że maksymalny rozmiar przesyłanych plików wzrósł z 128 GB do 256 GB.

8 kwietnia 2022 r.

Definicje parametrów myRecentSubscribers i mySubscribers metody metody subscriptions.list zostały zaktualizowane, aby zwrócić uwagę, że maksymalna liczba subskrybentów zwracanych przez interfejs API może być ograniczona. Ta zmiana dotyczy dokumentacji, a nie sposobu działania interfejsu API.

15 grudnia 2021 r.

W związku z ogłoszeniem z 18 listopada 2021 r. w połączeniu ze zmianami dotyczącymi zliczania kliknięć „Nie podoba mi się” na całej platformie YouTube właściwość statistics.dislikeCount zasobu video stanie się prywatna.

Więcej informacji o tej zmianie znajdziesz na oficjalnym blogu YouTube.

18 listopada 2021 r.

W związku ze zmianami dotyczącymi liczby negatywnych ocen filmów na całej platformie YouTube 13 grudnia 2021 r. właściwość video zasobu stanie się statistics.dislikeCount. Oznacza to, że właściwość pojawi się w odpowiedzi interfejsu API z punktu końcowego videos.list tylko wtedy, gdy właściciel filmu uwierzytelni się w interfejsie API.

Ta zmiana nie ma wpływu na punkt końcowy videos.rate.

Deweloperzy, którzy nie wyświetlają publicznie liczby negatywnych ocen, a potrzebują liczby ocen negatywnych dla swojego klienta API, mogą złożyć wniosek o dołączenie do listy dozwolonych. Aby poprosić o zwolnienie, musisz wypełnić ten formularz.

Więcej informacji o tej zmianie znajdziesz na oficjalnym blogu YouTube.

2 lipca 2021 r.

Uwaga: to jest powiadomienie o wycofaniu usługi.

Punkt końcowy commentThreads.update został wycofany i nie jest już obsługiwany. Zduplikowana funkcja tego punktu końcowego dostępna przez inne punkty końcowe interfejsu API. Zamiast tego możesz wywołać comments.update

i – jeśli Twój kod wymaga zasobu commentThreads – wykonaj wywołanie pomocnicze do metody commentThreads.list.

1 lipca 2021 r.

Wszyscy deweloperzy korzystający z usług API YouTube muszą przejść kontrolę zgodności interfejsu API,aby uzyskać więcej niż domyślny przydział 10 tys. jednostek. Do tej pory deweloperzy przeprowadzali zarówno proces kontroli zgodności, jak i prośby o dodatkowe przydziały jednostek, wypełniając i przesyłając formularz dotyczący interfejsu API kontroli i limitu YouTube API.

Aby wyjaśnić te procesy i lepiej spełniać wymagania deweloperów korzystających z naszych usług interfejsu API, dodajemy 3 nowe formularze oraz przewodnik po ich wypełnianiu:

  • Formularz próśb o sprawdzenie konta deweloperów: deweloperzy, którzy przeszli już kontrolę zgodności z interfejsami API, mogą wypełnić i skrócić ten krótki formularz, by poprosić o przyznanie przedłużenia limitu.
  • Formularz odwołania: deweloperzy, których projekty interfejsu API nie przeszły kontroli zgodności (lub odmówili zwiększenia jednostki reklamowej), mogą wypełnić i przesłać ten formularz.
  • Zmiana formularza kontrolnego: ten formularz muszą wypełnić i przesłać deweloperzy lub dowolny podmiot obsługujący klienta API w imieniu dewelopera, który doświadczył zmiany kontroli (np. w wyniku zakupu lub sprzedaży akcji, fuzji przedsiębiorstw bądź innego rodzaju transakcji firmowej) powiązanej z projektem interfejsu API. Dzięki temu zespół YouTube ds. API będzie mógł aktualizować nasze rekordy, sprawdzać zgodność z przepisami dotyczącymi wykorzystania nowych projektów przez interfejs API oraz sprawdzać aktualny przydział przydziału przez dewelopera.

Każdy nowy formularz zawiera informacje na temat zamierzonego wykorzystania interfejsu API YouTube, dzięki czemu jesteśmy w stanie lepiej Ci pomóc.

Więcej informacji znajdziesz w naszym nowym przewodniku po audytach zgodności z interfejsem API.

12 maja 2021 r.

Uwaga: to jest powiadomienie o wycofaniu usługi.

Ta aktualizacja obejmuje następujące zmiany w interfejsach API:

  • Właściwość contentDetails.relatedPlaylists.favorites zasobu channel została wycofana. Funkcje ulubionych filmów są już wycofane na kilka lat, zgodnie z informacją 28 kwietnia 2016 r. dotyczącą historii zmian.

    Przed tą aktualizacją interfejs API nadal tworzył nową playlistę, jeśli klient interfejsu API próbował dodać film do nieistniejącej playlisty. W takim przypadku playlista nie będzie już tworzona, a interfejs API zwróci błąd. Próby zmiany ulubionych playlist przez dodanie, zmodyfikowanie lub usunięcie elementów także zostaną wycofane w poprzednich ogłoszeniach i w każdej chwili mogą zwracać błędy.

  • Poniższe właściwości zasobu channel zostały wycofane. Te właściwości nie są już obsługiwane w interfejsie YouTube Studio ani w YouTube. Z tego powodu nie są już obsługiwane przez interfejs API.

    • brandingSettings.channel.defaultTab
    • brandingSettings.channel.featuredChannelsTitle
    • brandingSettings.channel.featuredChannelsUrls[]
    • brandingSettings.channel.profileColor
    • brandingSettings.channel.showBrowseView
    • brandingSettings.channel.showRelatedChannels

    Wszystkie usługi zostały usunięte z reprezentacji zasobu channel, a ich definicje zostały usunięte z listy usług. Dodatkowo błędy powiązane z tymi właściwościami zostały usunięte z dokumentacji danej metody.

  • Poniższe właściwości zasobu channelSection zostały wycofane. Te właściwości nie są już obsługiwane w interfejsie YouTube Studio ani w YouTube. Z tego powodu nie są już obsługiwane przez interfejs API.

    • snippet.style
    • snippet.defaultLanguage
    • snippet.localized.title
    • localizations
    • localizations.(key)
    • localizations.(key).title
    • targeting
    • targeting.languages[]
    • targeting.regions[]
    • targeting.countries[]

    W związku z tą zmianą parametr hl metody channelSection.list nie jest już obsługiwany, ponieważ obsługiwane przez nią funkcje nie są obsługiwane.

    Wszystkie usługi zostały usunięte z reprezentacji zasobu channelSection, a ich definicje zostały usunięte z listy usług. Dodatkowo błędy powiązane z tymi właściwościami zostały usunięte z dokumentacji danej metody.

  • W przypadku właściwości snippet.type zasobu channelSection wyłączyliśmy te wartości. Te wartości nie są już obsługiwane na stronach kanałów w YouTube, dlatego nie są już obsługiwane przez interfejs API.

    • likedPlaylists
    • likes
    • postedPlaylists
    • postedVideos
    • recentActivity
    • recentPosts
  • Właściwość snippet.tags[] zasobu playlist została wycofana. Ta usługa nie jest już obsługiwana w YouTube i dlatego nie jest już obsługiwana przez interfejs API.

9 lutego 2021 r.

Zasób playlistItem obsługuje 2 nowe właściwości:

28 stycznia 2021 r.

Ta aktualizacja zawiera następujące zmiany:

  • Metody playlistItems.delete, playlistItems.insert, playlistItems.list, playlistItems.update, playlists.delete, playlists.list i playlists.update obsługują nowy błąd playlistOperationUnsupported. Błąd występuje wtedy, gdy żądanie próbuje wykonać operację, która jest niedozwolona w przypadku konkretnej playlisty. Na przykład użytkownik nie może usunąć filmu z przesłanej playlisty ani usunąć samej playlisty.

    We wszystkich przypadkach ten błąd zwraca kod odpowiedzi HTTP 400 (nieprawidłowe żądanie).

  • Błędy watchHistoryNotAccessible i watchLaterNotAccessible metody playlistItems.list zostały usunięte z dokumentacji. Chociaż historia oglądania i listy Do obejrzenia nie są dostępne w interfejsie API, te błędy nie są zwracane przez interfejs API.

15 października 2020 r.

Do zasad dla deweloperów dodaliśmy 2 nowe sekcje:

  • Nowa Sekcja III.E.4.i zawiera dodatkowe informacje o danych zbieranych i wysyłanych za pomocą wbudowanego odtwarzacza YouTube. Ponosisz odpowiedzialność za wszelkie dane użytkownika, które przesyłasz do nas za pomocą dowolnego umieszczonego w YouTube odtwarzacza, zanim użytkownik wejdzie z nim w interakcję, aby wskazać zamiar odtwarzania. Możesz ograniczyć dane udostępniane YouTube, zanim użytkownik wejdzie w interakcję z odtwarzaczem, ustawiając opcję autoodtwarzania na wartość fałsz.
  • Nowa sekcja III.E.4.j dotyczy sprawdzania treści przeznaczonych dla dzieci przed umieszczeniem ich na stronach i w aplikacjach. Twoim obowiązkiem jest informowanie o tym, że filmy umieszczone w Twoim kliencie API są przeznaczone dla dzieci oraz że traktowane są odpowiednio dane zebrane z odtwarzacza umieszczonego na stronie. W związku z tym musisz sprawdzić stan treści za pomocą usługi YouTube Data API, zanim umieścisz je w kliencie interfejsu API za pomocą odtwarzaczy umieszczonych w YouTube.

Nowy przewodnik Jak znaleźć stan filmu MadeForKids został wyjaśniony za pomocą usługi YouTube Data API, jak sprawdzić stan treści przeznaczonych dla dzieci.

W związku z tymi zmianami do dokumentacji na temat parametrów umieszczonych na stronie dodaliśmy przypomnienie, że jeśli włączysz autoodtwarzanie, odtwarzanie będzie odbywać się bez interakcji użytkownika z odtwarzaczem, a zbieranie i udostępnianie danych dotyczących odtwarzania odbywa się podczas wczytywania strony.

8 października 2020 r.

Ta aktualizacja obejmuje 3 małe zmiany dotyczące zasobu channel:

  • Obiekt snippet.thumbnails, który identyfikuje miniatury miniatur kanału, może być pusty w przypadku nowo utworzonych kanałów. Może to potrwać do 1 dnia.
  • Właściwość statistics.videoCount odzwierciedla liczbę publicznych filmów na kanale, nawet właścicieli. Jest to zgodne z liczbą wyświetlaną na stronie YouTube.
  • Słowa kluczowe związane z kanałami, które zostały określone we właściwości brandingSettings.channel.keywords, mogą zostać skrócone, jeśli przekraczają maksymalną dozwoloną długość 500 znaków lub zawierają cudzysłowy bez zmiany znaczenia ("). Limit 500 znaków nie jest limitem dla poszczególnych słów kluczowych, ale limitem dla wszystkich słów kluczowych. Działa to tak samo jak w witrynie YouTube.

9 września 2020 r.

Uwaga: to jest powiadomienie o wycofaniu usługi.

Ta aktualizacja obejmuje następujące zmiany interfejsu API. Wszystkie zmiany zaczną obowiązywać 9 września 2020 r. lub po tej dacie. Dlatego deweloperzy nie powinni już korzystać z wymienionych poniżej funkcji API.

  • Te zasoby, metody, parametry i właściwości zasobów interfejsu API są wycofywane natychmiast i nie będą działać po dacie tego ogłoszenia:
    • Te właściwości zasobu channel:
      • Właściwość statistics.commentCount
      • Obiekt brandingSettings.image i wszystkie jego właściwości podrzędne
      • Lista brandingSettings.hints i wszystkie jej usługi podrzędne
    • Parametr filtra categoryId metody channels.list
    • Zasób guideCategories i metoda guideCategories.list
  • Odpowiedzi interfejsu API metody channels.list nie zawierają już właściwości prevPageToken, jeśli żądanie interfejsu API ustawia parametr managedByMe na true. Ta zmiana nie wpływa na właściwość prevPageToken w przypadku pozostałych żądań channels.list ani na właściwość nextPageToken w przypadku żadnych żądań.
  • Zarówno właściwości contentDetails.relatedPlaylists.watchLater, jak i contentDetails.relatedPlaylists.watchHistory zasobu channel zostały wycofane 11 sierpnia 2016 roku. Obsługa metod playlistItems.insert i playlistItems.delete w przypadku tych playlist została już całkowicie wycofana, a ich 2 właściwości zostały usunięte z dokumentacji.
  • Parametr mySubscribers metody channels.list, który został wycofany 30 lipca 2013 roku, został usunięty z dokumentacji. Aby pobrać listę subskrybentów kanału uwierzytelnionego użytkownika, użyj metody subscriptions.list i parametru mySubscribers.
  • Obiekt invideoPromotion zasobu channel i wszystkie jego właściwości podrzędne, które zostały ogłoszone jako wycofane 27 listopada 2017 roku, zostały usunięte z dokumentacji.

29 lipca 2020 r.

Uprościliśmy proces naliczania limitu żądań interfejsu API, usuwając dodatkowy koszt powiązany z parametrem part. Od razu będziemy naliczać opłatę podstawową za wywołaną metodę. Więcej informacji o uproszczonym limicie znajdziesz tutaj.

W wyniku tej zmiany większość wywołań interfejsu API ma nieco mniejszy koszt. W przypadku niektórych wywołań interfejsu API koszty nadal będą takie same. Ta zmiana nie powoduje zwiększenia kosztu wywołań interfejsu API. Najbardziej prawdopodobne jest, że przydzielony Ci limit, który widać w Google Cloud Console, pójdzie nieco dalej.

Zdecydowanie zalecamy, aby wszyscy deweloperzy ukończyli kontrolę zgodności swoich projektów, aby zapewnić nieprzerwany dostęp do usług interfejsu API YouTube.

Wpis dotyczący historii zmian został pierwotnie opublikowany 20 lipca 2020 roku.

28 lipca 2020 r.

Wszystkie filmy przesłane przez punkt końcowy videos.insert z niezweryfikowanych projektów API utworzonych po 28 lipca 2020 r. będą dostępne wyłącznie w trybie wyświetlania prywatnego. Aby usunąć to ograniczenie, każdy projekt musi przeprowadzić audyt w celu potwierdzenia zgodności z Warunkami korzystania z usługi.

Twórcy, którzy używają niezweryfikowanego interfejsu API do przesyłania filmów, otrzymają e-maila z informacją o zablokowaniu filmu jako prywatnego oraz tego, że mogą uniknąć ograniczenia, korzystając z oficjalnego lub klienta.

Ta zmiana nie dotyczy obecnie projektów interfejsu API utworzonych przed 28 lipca 2020 r. Zalecamy jednak, aby wszyscy deweloperzy przeprowadzili kontrolę zgodności swoich projektów, aby zapewnić nieprzerwany dostęp do usług interfejsu API YouTube.

21 lipca 2020 r.

[Aktualizacja 28 lipca 2020 r.] Aktualizacja dokumentacji, do której odwołuje się ten wpis w historii zmian, została ponownie opublikowana 28 lipca 2020 r.

Wczoraj opublikowaliśmy aktualizację dokumentacji związaną z procesem naliczania opłat. Jednak ze względu na nieprzewidziane okoliczności zmiana limitu jeszcze nie obowiązuje. W związku z tym dokumentacja została cofnięta ze względu na dokładność. Aby uniknąć pomyłek, wpis historii zmian wyjaśniający zmianę został usunięty i wkrótce zostanie ponownie opublikowany.

7 lipca 2020 r.

Uwaga: to jest powiadomienie o wycofaniu usługi.

Parametry autoLevels i stabilize metody videos.insert zostały wycofane, a ich parametry zostały usunięte z dokumentacji. Ich wartości są ignorowane i nie mają wpływu na sposób przetwarzania nowych filmów.

15 czerwca 2020 r.

Nowy przewodnik Zgodność z zasadami dla deweloperów w YouTube zawiera wskazówki i przykłady, które mają pomóc Ci zapewnić zgodność klientów interfejsu API z konkretnymi częściami Warunków i zasad korzystania z interfejsów API YouTube (Warunki korzystania z interfejsu API).

Ten przewodnik zawiera informacje o tym, jak YouTube egzekwuje niektóre aspekty Warunków korzystania z interfejsu API, ale nie zastępuje żadnych istniejących dokumentów. Ten przewodnik zawiera odpowiedzi na niektóre z najczęstszych pytań deweloperów dotyczących kontroli zgodności z interfejsami API. Mamy nadzieję, że ułatwi to proces rozwijania funkcji, pomagając zrozumieć, jak interpretujemy i egzekwujemy nasze zasady.

4 czerwca 2020 r.

Uwaga: jest to aktualizacja dotycząca wcześniejszego wycofania ogłoszenia.

Funkcja newslettera kanału została całkowicie wycofana. Ogłosiliśmy tę zmianę 17 kwietnia 2020 r. i od teraz będzie ona obowiązywać. Z tego powodu metoda activities.insert nie jest już obsługiwana i metoda activities.list nie zwraca już biuletynów kanału. Więcej informacji znajdziesz w Centrum pomocy YouTube.

17 kwietnia 2020 r.

Uwaga: to jest powiadomienie o wycofaniu usługi.

YouTube wycofuje funkcję newslettera kanału. W efekcie metoda activities.insert zostanie wycofana, a metoda activities.list przestanie wyświetlać biuletyny kanału. Zmiany zaczną obowiązywać w interfejsie API 18 maja 2020 r. lub później. Więcej informacji znajdziesz w Centrum pomocy YouTube.

31 marca 2020 r.

Ta aktualizacja zawiera następujące zmiany:

  • Nowe materiały i metody

    • Nowy zasób member reprezentuje osobę wspierającą kanał w YouTube. Członek zespołu oferuje twórcom cykliczne wsparcie finansowe i specjalne korzyści. wspierający mogą na przykład rozmawiać na czacie, gdy twórca włączy tryb tylko dla wspierających.

      Ten zasób zastępuje zasób sponsor, który jest udokumentowany w interfejsie YouTube Live Streaming API. Zasób sponsor został wycofany i klienty interfejsu API powinny zaktualizować wywołania metody sponsors.list, aby korzystały z metody members.list.

    • Nowy zasób membershipsLevel określa poziom cen zarządzany przez twórcę, który autoryzował żądanie do interfejsu API. Metoda membershipsLevels.list pobiera listę wszystkich poziomów wspierania twórcy.

10 stycznia 2020 r.

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

Zasoby channel i video obsługują 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 pozwala twórcom treści określić, czy kanał lub film są przeznaczone dla dzieci.

    W przypadku kanałów możesz ustawić tę właściwość podczas wywoływania metody channels.update. W przypadku filmów ta właściwość może być określona podczas wywoływania metod videos.insert lub videos.update.

    Uwaga: ta właściwość jest uwzględniana w odpowiedziach API zawierających zasoby channel lub video tylko wtedy, gdy właściciel kanału autoryzował żądanie do interfejsu API.
  • Właściwość madeForKids umożliwia każdemu użytkownikowi pobranie stanu „przeznaczone dla dzieci” kanału lub filmu. Stan może być określany na przykład na podstawie wartości właściwości selfDeclaredMadeForKids. Więcej informacji o określaniu odbiorców kanału, filmów i transmisji znajdziesz w Centrum pomocy YouTube.

Zaktualizowaliśmy również Warunki korzystania z usług YouTube API i zasady dla deweloperów. Aby uzyskać więcej informacji, zapoznaj się z Warunkami korzystania z usług interfejsu YouTube API – historia zmian. Zmiany Warunków korzystania z usług interfejsu API YouTube i zasad dla deweloperów zaczną obowiązywać 10 stycznia 2020 r. czasu pacyficznego.

10 września 2019 r.

Zaktualizowaliśmy dokumentację dotyczącą interfejsów API, aby odzwierciedlić zmianę sposobu raportowania liczby subskrybentów w YouTube, w związku z czym w odpowiedziach na interfejsy API. W wyniku tej zmiany liczba subskrybentów zwracana przez usługę YouTube Data API zostanie zaokrąglona w dół do 3 znaczących liczb dla subskrybentów przekraczających 1000 osób. Ta zmiana wpływa na właściwość statistics.subscriberCount zasobu channel.

Uwaga: ta zmiana ma wpływ na tę wartość nawet wtedy, gdy użytkownik wyśle autoryzowane żądanie dotyczące danych z własnego kanału. Właściciele kanałów mogą nadal sprawdzać dokładną liczbę subskrybentów w YouTube Studio.

Jeśli na przykład kanał ma 123 456 subskrybentów, właściwość statistics.subscriberCount będzie zawierać wartość 123000. Poniższa tabela przedstawia przykłady zaokrąglania liczby subskrybentów w odpowiedziach na interfejs API i w przypadku innych publicznie dostępnych interfejsów YouTube:

Przykładowa liczba subskrybentów YouTube Data API Publicznie widoczne UI YouTube
1234 1230 1,23 tys.
12 345 12300 12,3 tys.
123 456 123000 123 tys.
1 234 567 1230000 1,23 mln
12 345 678 12300000 12,3 mln
123 456 789 123000000 123 mln

4 kwietnia 2019 r.

Ta aktualizacja zawiera następujące zmiany:

  • Dokumentacja dokumentacji interfejsu API została zaktualizowana, aby lepiej wyjaśnić typowe przypadki użycia w przypadku każdej metody i dostarczać dynamiczne, wysokiej jakości przykłady kodu za pomocą widżetu Eksplorator interfejsów API. Przykład znajdziesz w dokumentacji metody channels.list. Na stronach, które opisują metody interfejsu API, znajdują się teraz 2 nowe elementy:

    • Widżet Eksplorator interfejsów API pozwala wybrać zakresy autoryzacji, wpisać przykładowe wartości parametrów i właściwości, a następnie wysyłać rzeczywiste żądania do interfejsu API i wyświetlać rzeczywiste odpowiedzi interfejsu API. Widżet oferuje również widok pełnoekranowy z pełnymi przykładami kodu, które dynamicznie aktualizują się zgodnie z podanymi zakresami i wartościami.

    • W sekcji Typowe przypadki użycia opisano jeden lub więcej typowych przypadków użycia metody opisanej na stronie. Na przykład możesz wywołać metodę channels.list, by pobrać dane dotyczące konkretnego kanału lub kanału obecnego użytkownika.

      W tej sekcji możesz użyć linków, aby w eksploratorze interfejsów API podać przykładowe wartości, które mogą być przydatne w Twoim przypadku, albo aby otworzyć ten interfejs z tymi wartościami. Te zmiany mają na celu ułatwienie wyświetlenia przykładów kodu, które mają zastosowanie bezpośrednio do przypadku użycia, który próbujesz zaimplementować we własnej aplikacji.

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

  • Narzędzie Przykładowe fragmenty kodu zostało zaktualizowane o nowy interfejs użytkownika, który oferuje wszystkie powyższe funkcje. Przy użyciu tego narzędzia możesz poznawać przypadki użycia różnych metod, wczytywać wartości do eksploratora interfejsów API oraz otwierać eksplorator interfejsów API na pełnym ekranie, aby pobierać przykłady kodu w języku Java, JavaScript, PHP i Python.

    W związku z nią usunęliśmy strony, na których wcześniej znajdowały się dostępne przykłady kodu w językach Java, JavaScript, PHP i Python.

  • Zaktualizowano krótkie przewodniki dla języka Java, JavaScript, PHP i Pythona. Zaktualizowane przewodniki wyjaśniają, jak uruchomić jedną próbkę z kluczem interfejsu API, a drugą z identyfikatorem klienta OAuth 2.0, korzystając z przykładów kodu z eksploratora interfejsów API.

Te zmiany zastępują interaktywne narzędzie dodane do dokumentacji interfejsu API w 2017 roku.

9 lipca 2018 r.

Ta aktualizacja zawiera następujące zmiany:

  • Zaktualizowaliśmy definicję właściwości snippet.thumbnails zasobu channel, aby zwrócić uwagę, że podczas wyświetlania miniatur w aplikacji kod powinien używać adresów URL obrazów dokładnie w takiej postaci, w jakiej są one zwracane w odpowiedziach interfejsu API. Na przykład aplikacja nie powinna używać domeny http zamiast domeny https w adresie URL zwracanym w odpowiedzi interfejsu API.

    Od lipca 2018 roku adresy URL miniatur kanałów będą dostępne tylko w domenie https – tak właśnie wyglądają adresy URL w odpowiedziach interfejsu API. Po tym czasie możesz zobaczyć uszkodzone obrazy w aplikacji, jeśli spróbujesz załadować obrazy z YouTube z domeny http.

  • Uwaga: to jest powiadomienie o wycofaniu usługi.

    Właściwość recordingDetails.location.altitude zasobu video została wycofana. Nie ma gwarancji, że filmy wyświetlą wartości dla tej właściwości. I podobnie, nawet jeśli żądania API usiłują ustawić wartość tej właściwości, możliwe, że dane przychodzące nie zostaną zapisane.

22 czerwca 2018 r.

Przewodnik po implementacji, znany wcześniej jako „Przewodnik po implementacji i migracji”, został zaktualizowany, aby usunąć instrukcje migracji z interfejsu API v2 do interfejsu API v3. Ponadto usunęliśmy instrukcje dotyczące funkcji, które zostały wycofane w interfejsie API v3, takich jak ulubione filmy.

27 listopada 2017 roku

Ta aktualizacja zawiera następujące zmiany:

  • Uwaga: to jest powiadomienie o wycofaniu usługi.

    YouTube wycofuje funkcje Polecane filmy i Polecane strony, które są obsługiwane w interfejsie API za pomocą obiektu invideoPromotion w zasobie channel. W związku z tym ten obiekt, w tym wszystkie jego usługi podrzędne, jest wycofywany.

    Dane usługi invideoPromotion możesz pobierać i konfigurować do 14 grudnia 2017 r. Po tym terminie:

    • Próba pobrania części invideoPromotion przy wywołaniu channels.list spowoduje zwrócenie pustego elementu invideoPromotion lub nie zwróci w ogóle żadnych danych invideoPromotion.
    • Próby zaktualizowania danych invideoPromotion przy wywołaniu metody channels.update zwrócą zrealizowaną odpowiedź co najmniej do 27 maja 2018 roku, ale będą one traktowane jako brak operacji, co oznacza, że nie wykonają aktualizacji.

    Po 27 maja 2018 roku żądania mogą zwracać komunikaty o błędach, np. że invalidPromotion jest nieprawidłowa.

16 listopada 2017 roku

Ta aktualizacja zawiera następujące zmiany:

  • Narzędzie do interaktywnego fragmentu kodu obsługuje teraz przykładowe fragmenty kodu Node.js. Próbki są też widoczne w dokumentacji prawie wszystkich metod interfejsu API, np. channels.list.

    Niestandardowe fragmenty kodu zostały zaprojektowane tak, by stworzyć punkt początkowy aplikacji Node.js do różnych zastosowań. Ta funkcja jest podobna do kodu z krótkiego przewodnika po Node.js. Przykłady zawierają jednak pewne funkcje, których nie ma w krótkim wprowadzeniu:

    • Funkcja removeEmptyParameters pobiera listę par klucz-wartość odpowiadających parametrom żądania w interfejsie API i usuwa te, które nie mają wartości.
    • Funkcja createResource pobiera listę par klucz-wartość odpowiadających właściwościom zasobu interfejsu API. Następnie przekształca właściwości w obiekt JSON, którego można używać w operacjach insert i update. Przykład poniżej pokazuje zestaw nazw i wartości właściwości oraz obiekt JSON, który zostanie dla nich wygenerowany:
      # Key-value pairs:
      {'id': 'ABC123',
       'snippet.title': 'Resource title',
       'snippet.description': 'Resource description',
       'status.privacyStatus': 'private'}
      
      # JSON object:
      {
       'id': 'ABC123',
       'snippet': {
         'title': 'Resource title',
         'description': 'Resource description',
       },
       'status': {
         'privacyStatus': 'private'
       }
      }

    Wszystkie takie przykłady zostały zaprojektowane do pobierania i uruchamiania lokalnie. Aby uzyskać więcej informacji, zapoznaj się z wymaganiami wstępnymi dotyczącymi uruchamiania lokalnych przykładów pełnego kodu w instrukcjach narzędzia fragmentu kodu.

25 października 2017 roku

Ta aktualizacja zawiera następujące zmiany:

  • Przykładowy kod w języku Python w interaktywnym narzędziu do dodawania fragmentów kodu został zaktualizowany i korzysta z bibliotek google-auth oraz google-auth-oauthlib zamiast biblioteki oauth2client, która została wycofana.

    Oprócz tej zmiany narzędzie zawiera teraz również pełne fragmenty kodu dla zainstalowanych aplikacji Pythona i aplikacji internetowych w Pythonie, które korzystają z nieco innych procesów autoryzacji. Aby zobaczyć pełne przykłady (i tę zmianę):

    1. Otwórz narzędzie do interaktywnego fragmentu kodu lub zapoznaj się z dokumentacją dowolnej metody interfejsu API, np. channels.list.
    2. Kliknij kartę Python nad przykładowym kodem.
    3. Kliknij przełącznik nad kartami, aby przełączyć się z całego fragmentu na pełną próbkę.
    4. Na karcie powinna być teraz widoczna kompletny przykładowy kod, który korzysta z procesu autoryzacji InstalledAppFlow. Opis powyżej zawiera wyjaśnienie oraz link do przykładu aplikacji na serwerze WWW.
    5. Kliknij link, aby przełączyć się na przykład serwera WWW. Ta próbka korzysta z platformy aplikacji internetowej Flask i innego procesu autoryzacji.

    Wszystkie takie przykłady zostały zaprojektowane do pobierania i uruchamiania lokalnie. Jeśli chcesz uruchomić przykładowy kod, zapoznaj się z instrukcjami dotyczącymi uruchamiania lokalnych przykładów pełnego kodu w instrukcjach narzędzia fragmentu kodu.

29 sierpnia 2017 r.

Ta aktualizacja zawiera następujące zmiany:

  • Definicja parametru forContentOwner metody search.list została zaktualizowana. Pamiętaj, że jeśli parametr jest ustawiony na true, parametr type musi być ustawiony na video.
  • Zaktualizowaliśmy definicję parametru regionCode metody search.list, by doprecyzować, że ogranicza on wyniki wyszukiwania do filmów, które można oglądać w określonym regionie.
  • W YouTube zaktualizowano logo i ikony marki. Nowe logo „opracowane we współpracy z YouTube” można pobrać ze strony wskazówek dotyczących promowania marki. Inne nowe logo i ikony YouTube są też wyświetlane na tej stronie i można je pobrać ze strony marki YouTube.

24 lipca 2017 roku

Ta aktualizacja zawiera następujące zmiany:

  • Dostępny jest nowy krótki przewodnik po interfejsie YouTube Data API na iOS. Przewodnik zawiera instrukcje korzystania z interfejsu YouTube Data API w prostej aplikacji na system iOS, która została opisana w celu – C lub Swift.
  • Narzędzie do interaktywnego fragmentu kodu interfejsu YouTube Data API zawiera teraz dokumentację wyjaśniającą niektóre funkcje tego narzędzia:
    • Wykonywanie żądań do interfejsu API
    • Przełączanie się między fragmentami kodu a pełnymi przykładami kodu
    • Korzystanie z tych samych funkcji
    • Wczytuję istniejące zasoby (metody aktualizacji)

    Uwaga: to narzędzie zostało też umieszczone w dokumentacji referencyjnej dotyczącej metod interfejsu API (przykład).

1 czerwca 2017 r.

Ta aktualizacja zawiera następujące zmiany:

17 maja 2017 roku

Ta aktualizacja zawiera następujące zmiany:

  • Zaktualizowaliśmy dokumentację referencyjną interfejsu API, aby zwiększyć wszechstronność i interaktywność fragmentów kodu. Strony, które wyjaśniają metody interfejsu API, takie jak channels.list czy videos.rate, mają teraz interaktywne narzędzie, które pozwala wyświetlać i dostosowywać fragmenty kodu w języku Java, JavaScript, PHP, Python, Ruby, Apps Script i Go.

    W każdej z nich narzędzie wyświetla fragmenty kodu w przypadku co najmniej 1 przypadku użycia. Przypadki użycia opisują każdy typ tej metody. Możesz na przykład wywołać metodę channels.list, by pobrać dane o konkretnym kanale lub kanale bieżącego użytkownika.

    Możesz też korzystać z przykładowych kodów:

    • Modyfikuj wartości parametrów i właściwości, a fragmenty kodu są dynamicznie aktualizowane zgodnie z podanymi przez Ciebie wartościami.

    • Przełącz między fragmentami kodu a pełnymi przykładami. Fragment kodu pokazuje część kodu, która wywołuje metodę interfejsu API. Pełny przykład zawiera ten fragment oraz stały kod do autoryzacji i wysyłania żądań. Pełne przykłady można skopiować i uruchomić z wiersza poleceń lub lokalnego serwera WWW.

    • Realizuj żądania, klikając przycisk. (Aby wykonać żądania, musisz upoważnić narzędzie do wywoływania interfejsu API w Twoim imieniu).

    Pamiętaj, że to narzędzie zastąpiło narzędzie APIs Explorer na stronach, na których jest dostępne. (Na każdej stronie wyświetlany jest link, dzięki któremu możesz wczytać żądanie, nad którym pracujesz w narzędziu APIs Explorer).

  • Do narzędzia Data API Fragments dodaliśmy też nowy interfejs, który udostępnia te same funkcje co opisane powyżej. Najważniejsze nowe funkcje dostępne na tej stronie to:

    • Obsługa żądań do interfejsu API zapisu danych.
    • Obsługa próbek Java.
    • Bardziej elastyczny i kompleksowy kod stały do autoryzacji użytkowników i tworzenia żądań do interfejsu API.

27 kwietnia 2017 r.

Ta aktualizacja zawiera następujące zmiany:

30 marca 2017 r.

Ta aktualizacja zawiera następujące zmiany:

  • Nowa właściwość topicDetails.topicCategories[] zasobu channel zawiera listę adresów URL Wikipedii opisujących zawartość kanału. Adresy URL odpowiadają identyfikatorom tematów zwracanym we właściwości topicDetails.topicIds[] zasobu.
  • Nowa właściwość contentDetails.videoPublishedAt zasobu playlistItem określa czas publikacji filmu w YouTube. Zasób zawiera już właściwość snippet.publishedAt, która wskazuje czas dodania elementu do playlisty.
  • Podobnie jak zasób channel zasób video zwraca teraz właściwość topicDetails.topicCategories[], która zawiera listę adresów URL Wikipedii opisujących zawartość filmu. W przypadku zasobów video adresy URL odpowiadają identyfikatorom tematów zwracanym we właściwości topicDetails.relevantTopicIds[] zasobu.
  • Nowa właściwość contentDetails.contentRating.mpaatRating zasobu video określa ocenę, którą Motion Picture Association of America otrzymała od zwiastuna filmu lub podglądu.

27 lutego 2017 r.

Zgodnie z zapowiedzią z 11 sierpnia 2016 r. YouTube zmienia listę obsługiwanych identyfikatorów tematów na listę wyselekcjonowaną. Pełna lista obsługiwanych identyfikatorów tematów znajduje się we właściwościach topicDetails zasobu channel i video, a także w parametrze topicId metody search.list.

Na liście wybranych zmian jest kilka zmian:

  • Te tematy zostały dodane jako podtemat Society:
    Nazwaidentyfikator tematu
    Biznes/m/09s1f
    Zdrowie/m/0kt51
    Obiekty wojskowe/m/01h6rj
    Polityka/m/05qt0
    Religia/m/06bvp
  • Temat Animated cartoon, wcześniejszy element podrzędny elementu Entertainment, został usunięty.
  • Temat Children's music, wcześniejszy element podrzędny elementu Music, został usunięty.

W wyniku tej zmiany tematy związane z filmami są teraz zawsze zwracane w wartości właściwości topicDetails.relevantTopicIds[] zasobu video.

29 listopada 2016 r.

Ta aktualizacja zawiera następujące zmiany:

  • Na liście identyfikatorów tematów wprowadziliśmy 3 małe zmiany, które będą obsługiwane od 10 lutego 2017 roku:

    • Kategoria Professional wrestling, która była wcześniej podrzędna wobec kategorii Sports, jest teraz podrzędna wobec kategorii Entertainment.
    • Kategoria TV shows, która jest elementem podrzędnym w kategorii Entertainment, jest nowa.
    • Kategoria Health, wcześniej należąca do wydawcy podrzędnego Lifestyle, została usunięta.

    Pamiętaj też, że istnieje kilka kategorii nadrzędnych (Entertainment, Gaming, Lifestyle, Music i Sports). Każdy film powiązany z kategorią podrzędną, na przykład Tennis, też zostanie powiązany z kategorią nadrzędną (Sports).

10 listopada 2016 r.

Ta aktualizacja zawiera następujące zmiany:

  • Zgodnie z ogłoszeniem z 11 sierpnia 2016 r., wycofanie Freebase i Freebase API wymaga wprowadzenia kilku zmian związanych z identyfikatorami tematów. Identyfikatory tematów identyfikują tematy powiązane z zasobami channel i video. Możesz też użyć parametru wyszukiwania topicId, aby znaleźć kanały lub filmy związane z określonym tematem.

    10 lutego 2017 r. YouTube zacznie zwracać niewielki zestaw identyfikatorów tematów zamiast znacznie bardziej szczegółowego zestawu dotychczasowych identyfikatorów. Nie ma też gwarancji, że kanały i filmy zostaną powiązane z jakimikolwiek tematami, co jest zgodne z obecnym zachowaniem interfejsu API.

    Aby umożliwić Ci przygotowanie klientów interfejsu API na te zmiany, zaktualizowaliśmy definicje tych parametrów i właściwości interfejsu API, tak aby zawierały listę identyfikatorów tematów, które będą obsługiwane po tym czasie. Pamiętaj, że lista kategorii jest taka sama we wszystkich usługach.

  • Uwaga: to jest powiadomienie o wycofaniu usługi.

    Te właściwości są wycofywane:

    • Właściwość topicDetails.topicIds[] zasobu channel. Ta usługa będzie obsługiwana do 10 listopada 2017 r.
    • Właściwość topicDetails.relevantTopicIds[] zasobu video. Ta usługa będzie obsługiwana do 10 listopada 2017 r.
    • Właściwość topicDetails.topicIds[] zasobu video. Po 10 lutego 2017 roku ta właściwość nie będzie zawierać wartości. (Po tym terminie wartość właściwości topicDetails.relevantTopicIds[] będzie wskazywać wszystkie tematy powiązane z filmem).

  • Ponieważ program Freebase został już wycofany, przewodnik Searching with Freebase Topics (Wyszukiwanie z użyciem tematów bezpłatnych) został usunięty z dokumentacji. Ten przewodnik zawiera przykładowy kod, który pokazuje, jak aplikacja współdziała z interfejsem API Freebase.

    Ponadto z dokumentacji metody search.list usunęliśmy kilka przykładów kodu związanych z identyfikatorami tematów.

2 listopada 2016 r.

Ta aktualizacja zawiera następujące zmiany:

  • Nowe właściwości i parametry

    • Zasób video zawiera kilka nowych właściwości:

      • Właściwość player.embedHtml zawiera tag <iframe>, którego możesz użyć do umieszczenia na stronie odtwarzacza odtwarzającego film. Nowe właściwości player.embedHeight i player.embedWidth określają wymiary umieszczonego odtwarzacza. Te właściwości są zwracane tylko wtedy, gdy żądanie API określa wartość co najmniej jednego parametru maxHeight lub maxWidth. Te 2 nowe parametry zostały omówione w dalszej części tego wpisu historii zmian.

      • Nowa właściwość hasCustomThumbnail wskazuje, czy przesyłający przesłał niestandardową miniaturę filmu. Pamiętaj, że ta właściwość jest widoczna tylko dla przesyłającego.

      • Nowy element fpbRatingReasons[] wskazuje, dlaczego film otrzymał ocenę FPB (RPA).

      • Nowy element mcstRating określa ocenę filmu, którą otrzymał on w Wietnamie.

    • Metoda videos.list obsługuje 2 nowe parametry: maxHeight i maxWidth. Podczas pobierania części player w zasobach video możesz użyć jednego z tych parametrów lub obu tych parametrów.

      Domyślnie wysokość obiektu <iframe> zwróconego we właściwości player.embedHtml wynosi 360 pikseli. Szerokość jest dostosowywana do współczynnika proporcji filmu, dzięki czemu umieszczony odtwarzacz nie ma czarnych ramek. Jeśli na przykład film ma współczynnik proporcji 16:9, szerokość odtwarzacza wynosi 640 pikseli.

      Dzięki nowym parametrom możesz określić, że zamiast wymiarów domyślnych kod powinien używać wysokości lub szerokości odpowiedniej do układu aplikacji. Serwer interfejsu API odpowiednio skaluje wymiary odtwarzacza, aby zapewnić, że osadzony odtwarzacz nie ma czarnych ramek. Oba parametry określają maksymalne wymiary umieszczonego odtwarzacza. Jeśli więc określisz oba parametry, jeden z nich może być mniejszy niż maksymalna dozwolona wartość dla tego wymiaru.

      Załóżmy na przykład, że film ma współczynnik proporcji 16:9. Jeśli tag maxHeight lub maxWidth nie jest ustawiony, tag player.embedHtml zawiera odtwarzacz o wymiarach 640 x 360.

      • Jeśli parametr maxHeight ma wartość 720, a parametr maxWidth nie jest skonfigurowany, interfejs API zwraca odtwarzacz 1280 x 720.
      • Jeśli parametr maxWidth ma wartość 960, a parametr maxHeight nie jest skonfigurowany, interfejs API zwraca odtwarzacz 960 x 540.
      • Jeśli parametr maxWidth jest ustawiony na 960, a parametr maxHeight to 450, interfejs API zwróci odtwarzacz 800 x 450.

      Opisane powyżej nowe właściwości player.embedHeight i player.embedWidth określają wymiary odtwarzacza.

  • Aktualizacje dotychczasowych metod, właściwości i parametrów

    • Zaktualizowaliśmy opis zasobu channelSection, aby poinformować, że kanał może utworzyć maksymalnie 10 półek bez ustawienia danych kierowania i maksymalnie 100 półek z danymi kierowania.

      Dodatkowo właściwość targeting zasobu channelSection została zaktualizowana, aby uwzględniała fakt, że opcje kierowania można ustawiać tylko za pomocą interfejsu API. Opcje kierowania są usuwane, jeśli sekcja kanału została zmodyfikowana za pomocą interfejsu w witrynie YouTube.

    • Poprawiono definicję właściwości snippet.name zasobu i18nLanguage, tak by odzwierciedlała nazwę języka w wersji zapisanej w parametrze hl metody i18nLanguage.list.

    • Zaktualizowano właściwość contentDetails.note zasobu playlistItem, aby odzwierciedlała, że maksymalna długość właściwości to 280 znaków.

    • Właściwości contentDetails.startAt i contentDetails.endAt zasobu playlistItem zostały wycofane. Te pola są ignorowane, jeśli zostały ustawione w żądaniach playlistItems.insert lub playlistItems.update.

    • Metody playlistItems.delete i playlistItems.update obsługują teraz parametr onBehalfOfContentOwner, który jest już obsługiwany w przypadku kilku innych metod. Żądania korzystające z tej metody muszą też być autoryzowane za pomocą tokena zapewniającego dostęp do zakresu https://www.googleapis.com/auth/youtubepartner.

    • Parametry publishedBefore i publishedAfter metody metody search.list zostały zaktualizowane, by wskazać, że wartości tych parametrów są włączone. Jeśli więc jest ustawiony parametr publishedBefore, interfejs API zwróci zasoby utworzone przed lub o określonej godzinie.

    • Właściwość contentDetails.contentRating.grfilmRating zasobu video obsługuje 3 dodatkowe wartości: grfilmK12, grfilmK15 i grfilmK18.

    • Zaktualizowaliśmy opis metody videos.insert, aby zwrócić uwagę, że maksymalny rozmiar przesyłanych plików wzrósł z 64 GB do 128 GB.

  • Nowe i zaktualizowane błędy

    • Interfejs API obsługuje następujące nowe błędy:

      Typ błędu Szczegóły błędu Opis
      forbidden (403) homeParameterDeprecated Metoda activities.list zwraca ten błąd, aby wskazać, że dane o aktywności na stronie głównej użytkownika nie są dostępne za pomocą tego interfejsu API. Ten błąd może wystąpić, jeśli w nieautoryzowanym żądaniu ustawisz parametr home na wartość true.
      invalidValue (400) invalidContentDetails Metoda playlistItems.insert zwraca ten błąd, aby wskazać, że obiekt contentDetails w żądaniu jest nieprawidłowy. Przyczyną tego błędu jest to, że pole contentDetails.note jest dłuższe niż 280 znaków.
      forbidden (403) watchHistoryNotAccessible Metoda playlistItems.list zwraca ten błąd, by wskazać, że żądanie próbowało pobrać elementy playlisty „Historia oglądania”, ale nie udało się ich pobrać za pomocą interfejsu API.
      forbidden (403) watchLaterNotAccessible Metoda playlistItems.list zwraca ten błąd, aby wskazać, że żądanie próbowało pobrać elementy playlisty „Do obejrzenia”, ale nie można ich pobrać za pomocą interfejsu API.
      badRequest (400) uploadLimitExceeded Metoda videos.insert zwraca ten błąd, wskazując, że na kanale przekroczono liczbę filmów, które można przesłać.
      forbidden (403) forbiddenEmbedSetting Metoda videos.update zwraca ten błąd, aby wskazać, że żądanie do interfejsu API próbuje ustawić nieprawidłowe ustawienie umieszczenia filmu. Pamiętaj, że niektóre kanały mogą nie mieć uprawnień do oferowania osadzonych odtwarzaczy podczas transmisji na żywo. Więcej informacji znajdziesz w Centrum pomocy YouTube.
    • Metoda playlistItems.insert nie zwraca już błędu, jeśli wstawisz zduplikowany film do playlisty. Ten błąd wcześniej występował w przypadku niektórych playlist, np. ulubionych filmów, które nie zezwalały na duplikaty, ale nie są już obsługiwane. Ogólnie playlisty umożliwiają tworzenie duplikatów filmów.

  • Inne aktualizacje

    • Zaktualizowaliśmy wpis w historii zmian z 15 września 2016 r., aby wyjaśnić, że za każdym razem, gdy odpowiedź zawiera właściwości contentDetails.relatedPlaylists.watchHistory i contentDetails.relatedPlaylists.watchLater zasobu channel, zawsze zawierają one odpowiednio wartości HL i WL. Ponadto są one uwzględniane tylko wtedy, gdy autoryzowany użytkownik pobiera dane o jego kanale.

15 września 2016 r.

Ta aktualizacja zawiera następujące zmiany:

  • 11 sierpnia 2016 roku w aktualizacji historii zmian pojawiły się zmiany związane z identyfikatorami tematów, w tym zmiana zestawu obsługiwanych identyfikatorów tematów od 10 lutego 2017 roku. Lista tematów, które będą obsługiwane, zostanie opublikowana 10 listopada 2016 r.

  • Zmiany te zostały wprowadzone. W aktualizacji historii zmian z 11 sierpnia 2016 roku pojawiły się te informacje:

    • Jeśli metoda activities.list jest wywoływana z parametrem home ustawionym na true, odpowiedź interfejsu API zawiera teraz elementy podobne do tych, które widzą niezalogowani użytkownicy YouTube na stronie głównej.

      To drobna zmiana, która ma zapewnić lepsze wrażenia użytkownikom niż w aktualizacji historii zmian 11 sierpnia 2016 r. Z tej aktualizacji wynika, że żądania używające parametru home zwracają pustą listę.

    • Usługi contentDetails.relatedPlaylists.watchHistory i contentDetails.relatedPlaylists.watchLater zasobu channel zawierają teraz wartości HL i WL dla wszystkich kanałów.

      Dla jasności: właściwości te są widoczne tylko dla autoryzowanego użytkownika, który pobiera dane o jego kanale. Te właściwości zawsze zawierają wartości HL i WL, nawet gdy autoryzowany użytkownik pobiera dane o swoim kanale. Dlatego nie można pobierać za pomocą interfejsu API historii oglądania ani identyfikatorów playlist do obejrzenia.

      Dodatkowo w odpowiedzi na prośby o pobranie szczegółów playlisty (playlists.list) lub elementów playlisty (playlistItems.list) z historii oglądania kanału lub playlisty typu „Do obejrzenia” wyświetlają się teraz puste listy. Dzieje się tak w przypadku nowych wartości HL i WL, a także tych z historii oglądania lub identyfikatorów późniejszych playlist, które zostały zapisane przez klienta API.

  • Obiekt fileDetails.recordingLocation zasobu video i jego właściwości podrzędne nie są już zwracane. Wcześniej dane te (takie jak nadrzędny obiekt fileDetails) mógł pobierać tylko właściciel filmu.

11 sierpnia 2016 r.

Ta aktualizacja zawiera następujące zmiany:

  • Nowo opublikowane Warunki korzystania z usług interfejsu API YouTube („Zaktualizowane Warunki”) przedstawione szczegółowo na blogu YouTube Developers and Blog zawierają wiele aktualizacji bieżących Warunków korzystania z usługi. Oprócz zaktualizowanych warunków, które wejdą w życie 10 lutego 2017 r., ta aktualizacja zawiera kilka dokumentów dodatkowych, które wyjaśniają zasady, których muszą przestrzegać deweloperzy.

    Pełny zestaw nowych dokumentów został opisany w historii zmian w zaktualizowanych warunkach. Ponadto przyszłe zmiany w zaktualizowanych Warunkach lub dodatkowych dokumentach będą również omówione w historii zmian. Za pomocą linku w tym dokumencie możesz zasubskrybować zmiany w kanale RSS dotyczące informacji o historii zmian.

  • Wycofanie Freebase i Freebase API spowoduje kilka zmian związanych z identyfikatorami tematów. Identyfikatory tematów są używane w następujących zasobach i metodach interfejsu API:

    • Część topicDetails zasobu channel określa tematy powiązane z kanałem.
    • Część topicDetails zasobu video określa tematy powiązane z filmem.
    • Parametr topicId metody search.list umożliwia wyszukiwanie filmów lub kanałów związanych z określonym tematem.

    Zmiany w tych funkcjach:

    • Od 10 lutego 2017 r. YouTube zacznie zwracać niewielki zestaw identyfikatorów tematów zamiast znacznie bardziej szczegółowego zestawu zwracanych do tej pory identyfikatorów. Ten zestaw obsługiwanych kategorii będzie służyć do kategoryzacji wysokiego poziomu, np. Sport czy Koszykówka, ale nie wskaże konkretnych drużyn ani zawodników. Ogłosimy zbiór obsługiwanych tematów, aby umożliwić Ci przygotowanie się na tę zmianę.

    • Wszystkie pobrane identyfikatory tematów Freebase będą mogły być używane do wyszukiwania treści do 10 lutego 2017 roku. Po upływie tego czasu możliwe będzie jednak pobieranie wyników tylko na podstawie mniejszej liczby tematów zidentyfikowanych w poprzednim elemencie.

    • Jeśli po 10 lutego 2017 r. spróbujesz wyszukać wyniki za pomocą identyfikatora tematu, który nie należy do mniejszego zestawu obsługiwanych identyfikatorów tematów, interfejs API zwróci pusty zestaw wyników.

  • 12 września 2016 r. wycofamy kilka pól i parametrów interfejsu API:

    • Parametr home metody activities.list umożliwił autoryzowanym użytkownikom pobranie kanału aktywności, który byłby widoczny na stronie głównej YouTube tego użytkownika. Żądania, które używają tego parametru po 12 września 2016 r., zwróci pustą listę.

    • Właściwości contentDetails.relatedPlaylists.watchHistory i contentDetails.relatedPlaylists.watchLater zasobu channel są widoczne tylko dla autoryzowanego użytkownika, który pobiera dane o swoim kanale. Po 12 września 2016 r. parametr contentDetails.relatedPlaylists.watchHistory zwróci wartość HL, a właściwość contentDetails.relatedPlaylists.watchLater zwróci wartość WL dla wszystkich kanałów.

      Prośby o pobranie szczegółów playlisty (playlists.list) z historii oglądania kanału lub playlisty Do obejrzenia zostaną puste po 12 września 2016 r. Po tym czasie prośby o pobranie playlisty (playlistItems.list) z tej playlisty również zwrócą pustą listę. Dotyczy to nowych wartości, HL i WL, a także wszystkich historii oglądania i identyfikatorów playlist do obejrzenia, które zostały wcześniej zapisane przez klienta API.

    • Po 12 września 2016 r. obiekt video zasobu fileDetails.recordingLocation ani jego właściwości podrzędne nie będą zwracane. Tylko właściciel filmu może pobrać te dane, ponieważ obiekt nadrzędny fileDetails może pobrać tylko właściciel filmu.

13 czerwca 2016 r.

Ta aktualizacja zawiera następujące zmiany:

  • Właściwość contentDetails.googlePlusUserId zasobu channel została wycofana. Wcześniej usługa była dostępna tylko wtedy, gdy kanał był powiązany z profilem Google+. Po wycofaniu usługa nie będzie już uwzględniana w żadnych zasobach channel.

  • Właściwość snippet.authorGoogleplusProfileUrl zasobu comment została wycofana. Wcześniej usługa była dostępna tylko wtedy, gdy kanał był powiązany z profilem Google+. Po wycofaniu usługa nie będzie już uwzględniana w żadnych zasobach comment.

Żadna z tych właściwości nie zostanie zwrócona po wycofaniu, dlatego obie zostały usunięte z odpowiedniej dokumentacji zasobu.

31 maja 2016 r.

Ta aktualizacja zawiera następujące zmiany:

  • Nowy parametr myRecentSubscribers metody subscriptions.list pobiera listę subskrybentów kanału uwierzytelnionego użytkownika w odwrotnej kolejności chronologicznej według czasu zasubskrybowania kanału.

    Pamiętaj, że nowy parametr umożliwia pobieranie tylko 1000 ostatnich subskrybentów do kanału uwierzytelnionego użytkownika. Aby pobrać pełną listę subskrybentów, użyj parametru mySubscribers. Ten parametr, który nie zwraca określonej liczby subskrybentów, nie ogranicza liczby subskrybentów, których można pobrać.

  • Zaktualizowaliśmy definicję właściwości snippet.thumbnails.(key) dotyczącą zasobów activity, playlistItem, playlist, wyników wyszukiwania, miniatur i video. Pamiętaj, że w przypadku niektórych filmów dostępne są dodatkowe rozmiary miniatur.

    • Obraz standard ma 640 pikseli szerokości i 480 pikseli wysokości.
    • Obraz maxres ma 1280 pikseli szerokości i 720 pikseli wysokości.
  • Zaktualizowaliśmy definicję parametru part metody channelSection.list, by zwrócić uwagę, że część targeting można pobrać w kosztach jednostek 2.

  • Metoda videos.list zwraca teraz błąd niedozwolony (403), gdy nieprawidłowo autoryzowane żądanie próbuje pobrać części fileDetails, processingDetails lub suggestions zasobu video. Te części są dostępne tylko dla właściciela filmu.

17 maja 2016 r.

Nowe narzędzie Fragmenty kodu interfejsu Data API udostępnia krótkie fragmenty kodu typowe przypadki użycia interfejsu YouTube Data API. Fragmenty kodu są obecnie dostępne dla wszystkich metod API tylko do odczytu w Apps Script, Go, JavaScript, PHP, Python i Ruby.

W przypadku każdej metody narzędzie wyświetla przykłady kodu z co najmniej 1 przypadku użycia. Na przykład zawiera 5 fragmentów kodu dla metody search.list:

  • Wyświetl filmy według słowa kluczowego
  • Wyświetl filmy według lokalizacji
  • Wyświetlenie listy wydarzeń na żywo
  • Wyszukaj filmy uwierzytelnionego użytkownika
  • Wyświetl listę podobnych filmów

W każdym przypadku użycia narzędzie wyświetla parametry użyte w żądaniu do interfejsu API. Wartości parametrów możesz zmieniać. W takim przypadku narzędzie aktualizuje fragmenty kodu, aby były zgodne z podanymi przez Ciebie wartościami parametrów.

Na koniec narzędzie wyświetla odpowiedź interfejsu API dla każdego żądania. Jeśli parametry żądania zostały zmodyfikowane, odpowiedź interfejsu API jest oparta na podanych przez Ciebie wartościach parametrów. Pamiętaj, że musisz upoważnić narzędzie do przesyłania żądań w Twoim imieniu w celu wyświetlenia odpowiedzi interfejsu API.

28 kwietnia 2016 r.

Ta aktualizacja zawiera następujące zmiany:

  • Nowa właściwość contentDetails.projection zasobu video określa format projekcji filmu. Prawidłowe wartości właściwości to 360 i rectangular.

  • Właściwości recordingDetails.location i fileDetails.recordingLocation zasobu video zostały zaktualizowane, by wyjaśnić różnicę między nimi:

    • Właściwość recordingDetails.location wskazuje lokalizację, którą właściciel filmu chce powiązać z filmem. Ta lokalizacja jest możliwa do edytowania, można ją wyszukać w filmach publicznych i może być wyświetlana użytkownikom w przypadku filmów publicznych.
    • Wartość właściwości fileDetails.recordingLocation jest stała i reprezentuje lokalizację powiązaną z oryginalnym, przesłanym plikiem wideo. Wartość jest widoczna tylko dla właściciela filmu.

  • Zaktualizowano definicję właściwości contentDetails.relatedPlaylists.favorites zasobu channel, aby zwrócić uwagę, że wartość właściwości może zawierać identyfikator playlisty odnoszący się do pustej playlisty i nie można jej pobrać. Wynika to z tego, że funkcja ulubionych filmów została już wycofana. Pamiętaj, że ta usługa nie podlega zasadom wycofywania interfejsu API.

  • Definicja błędu ineligibleAccount, która może zostać zwrócona przez metodę comments.insert, comments.update, commentThreads.insert lub commentThreads.update, została zaktualizowana, aby uwzględnić fakt, że ten błąd występuje, gdy konto YouTube użyte do autoryzacji żądania do interfejsu API nie zostało scalone z kontem Google użytkownika.

20 kwietnia 2016 r.

Ta aktualizacja zawiera następujące zmiany:

  • Zaktualizowaliśmy definicję parametru part metody channels.update, tak aby uwzględniała również wartość localizations tego parametru.

  • Sekcja Wykorzystanie limitu w przewodniku dla początkujących została zaktualizowana i zawiera link do Konsoli Google Developers, gdzie możesz sprawdzić swój aktualny limit.

16 marca 2016 r.

Ta aktualizacja zawiera następujące zmiany:

  • Aktualizacje dotychczasowych zasobów i metod

    • Zaktualizowaliśmy dokumentację dotyczącą zasobu channelBanner, aby zwrócić uwagę, że zalecany rozmiar obrazu przesłanego banera kanału to 2560 x 1440 pikseli. Minimalny rozmiar (2048 x 1152 pikseli) się nie zmienił.

    • Nowa właściwość snippet.customUrl zasobu channel określa niestandardowy URL powiązany z kanałem. (Nie wszystkie kanały mają niestandardowe adresy URL). Centrum pomocy YouTube wyjaśnia wymagania dotyczące uzyskiwania niestandardowego adresu URL oraz sposobu konfiguracji adresu URL.

    • Obiekt brandingSettings.watch zasobu channel i wszystkie jego właściwości podrzędne zostały wycofane.

    • Odpowiedź interfejsu API dotycząca żądania search.list zawiera teraz właściwość regionCode. Właściwość określa kod regionu, który został użyty w zapytaniu. Kod regionu nakazuje interfejsowi API zwracanie wyników wyszukiwania dla określonego kraju.

      Wartość właściwości to dwuliterowy kod ISO kraju, który określa region. Metoda i18nRegions.list zwraca listę obsługiwanych regionów. Wartością domyślną jest US. Jeśli wskażesz region, którego nie obsługujemy, YouTube może nadal wybrać do zapytania inny region niż wartość domyślna.

    • Zaktualizowaliśmy definicje właściwości snippet.label i snippet.secondaryReasons[].label zasobu videoAbuseReportReason, aby zaznaczyć, że zawierają one zlokalizowany tekst etykiety z powodu nadużycia.

      Dodatkowo metoda videoAbuseReportReasons.list obsługuje teraz parametr hl, który określa język, w którym należy używać tekstu etykiety w odpowiedzi interfejsu API. Domyślna wartość parametru to en_US.

    • Nowa właściwość contentDetails.contentRating.ecbmctRating zasobu video określa ocenę filmu przez indyjską radę Oceny i klasyfikacji Ministerstwa Kultury i Turystyki.

      Poza tym właściwości interfejsu API innych systemów ocen obsługują te nowe wartości:

      • contentDetails.contentRating.fpbRating (RPA)
        Ocena: 10; wartość właściwości: fpb10
      • contentDetails.contentRating.moctwRating (Tajwan)
        Ocena: R-12; wartość właściwości: moctwR12
      • contentDetails.contentRating.moctwRating (Tajwan)
        Ocena: R-15; wartość właściwości: moctwR15
    • Właściwość liveStreamingDetails.activeLiveChatId zasobu video zawiera identyfikator aktywnego czatu na żywo powiązanego z filmem. Wartość właściwości jest widoczna tylko wtedy, gdy film jest transmitowany na żywo i ma włączony czat na żywo. Po zakończeniu transmisji i zakończeniu czatu na żywo usługa nie jest już zwracana.

    • Właściwość status.rejectionReason zasobu video obsługuje nową wartość właściwości legal.

  • Interfejs API obsługuje następujące nowe błędy:

    Typ błędu Szczegóły błędu Opis
    badRequest (400) notEditable Metody channelSections.insert, channelSections.update i channelSections.delete zwracają ten błąd, aby wskazać, że nie można utworzyć, zaktualizować lub usunąć określonej sekcji kanału.
    badRequest (400) styleRequired Metody channelSections.insert i channelSections.update zwracają ten błąd, aby wskazać, że zasób channelSection przesłany w żądaniu do interfejsu API musi mieć określoną wartość właściwości snippet.style.
    badRequest (400) typeRequired Metody channelSections.insert i channelSections.update zwracają ten błąd, aby wskazać, że zasób channelSection przesłany w żądaniu do interfejsu API musi mieć określoną wartość właściwości snippet.type.
    badRequest (400) processingFailure Metoda commentThreads.list zwraca ten błąd, aby wskazać, że serwer interfejsu API nie mógł przetworzyć żądania. Może to być błąd przejściowy, ale zwykle wskazuje, że dane wejściowe żądania są nieprawidłowe. Sprawdź strukturę zasobu commentThread w treści żądania, aby upewnić się, że jest on prawidłowy.
    forbidden (403) commentsDisabled Metoda commentThreads.list zwraca ten błąd, wskazując, że film zidentyfikowany przez parametr videoId wyłączył komentarze.
    badRequest (400) commentTextTooLong Metoda commentThreads.insert zwraca ten błąd, aby wskazać, że wstawiony zasób comment zawiera zbyt wiele znaków we właściwości snippet.topLevelComment.snippet.textOriginal.
    invalidValue (400) videoAlreadyInAnotherSeriesPlaylist Metoda playlistItems.insert zwraca ten błąd, wskazując, że film, który próbujesz dodać do playlisty, znajduje się już na innej playliście serialu. Aby dowiedzieć się więcej o playlistach seriali, zajrzyj do Centrum pomocy YouTube.
    badRequest (400) subscriptionForbidden Metoda subscriptions.insert zwraca ten błąd, jeśli oznacza to, że masz już maksymalną liczbę subskrypcji lub utworzono zbyt wiele nowych subskrypcji. W drugim przypadku po kilku godzinach możesz spróbować ponownie.
    badRequest (400) invalidCategoryId Metoda videos.update zwraca ten błąd, aby wskazać, że właściwość snippet.categoryId w przesłanym zasobie video zawiera nieprawidłowy identyfikator kategorii. Aby pobrać obsługiwane kategorie, użyj metody videoCategories.list.
    badRequest (400) invalidDescription Metoda videos.update zwraca ten błąd, aby wskazać, że właściwość snippet.description w przesłanym zasobie video zawiera nieprawidłową wartość.
    badRequest (400) invalidPublishAt Metoda videos.update zwraca ten błąd, aby wskazać, że właściwość status.publishAt w przesłanym zasobie video określa nieprawidłowy czas publikacji.
    badRequest (400) invalidRecordingDetails Metoda videos.update zwraca ten błąd, aby wskazać, że obiekt recordingDetails w przesłanym zasobie video określa nieprawidłowe szczegóły nagrania.
    badRequest (400) invalidTags Metoda videos.update zwraca ten błąd, aby wskazać, że właściwość snippet.tags w przesłanym zasobie video zawiera nieprawidłową wartość.
    badRequest (400) invalidTitle Metoda videos.update zwraca ten błąd, aby wskazać, że właściwość snippet.title w przesłanym zasobie video wskazuje nieprawidłowy lub pusty tytuł filmu.
    badRequest (400) invalidVideoMetadata Metoda videos.update zwraca ten błąd, aby wskazać, że metadane żądania są nieprawidłowe. Ten błąd występuje, gdy żądanie aktualizuje część snippet zasobu video, ale nie ustawia wartości obu właściwości snippet.title i snippet.categoryId.

18 grudnia 2015 r.

Przepisy Unii Europejskiej (UE) wymagają udzielenia określonych zgód od użytkowników z UE i uzyskania ich zgody na wykorzystanie danych. Dlatego w przypadku użytkowników z Unii Europejskiej musisz przestrzegać Polityki w zakresie zgody użytkownika z UE. Dodaliśmy to powiadomienie w Warunkach korzystania z interfejsu YouTube API.

19 listopada 2015 r.

Interfejs API obsługuje teraz możliwość ustawiania i pobierania zlokalizowanego tekstu we właściwościach snippet.title i snippet.description zasobów playlist i video, we właściwości snippet.title zasobu channelSection oraz we właściwości snippet.description zasobu channel.

  • Ustawianie przetłumaczonych tytułów i opisów

    Zlokalizowane wartości zasobu możesz ustawić, wywołując metodę insert lub update dla tego zasobu. Aby ustawić zlokalizowane wartości dla zasobu, wykonaj obie te czynności:

    • Sprawdź, czy wartość jest ustawiona we właściwości snippet.defaultLanguage zasobu. Ta właściwość określa język właściwości snippet.title i snippet.description zasobu. Jego wartością może być dowolny obsługiwany język aplikacji lub większość innych kodów języka w formacie ISO 639-1:2002. Jeśli np. prześlesz film, który ma tytuł i opis w języku angielskim, ustaw właściwość snippet.defaultLanguage na en.

      Uwaga dotycząca aktualizowania zasobów channel: aby ustawić właściwość snippet.defaultLanguage dla zasobu channel, musisz w rzeczywistości zaktualizować właściwość brandingSettings.channel.defaultLanguage.

    • Dodaj obiekt localizations do aktualizowanego zasobu. Każdy klucz obiektu to ciąg znaków, który identyfikuje język aplikacji lub kod języka w standardzie ISO 639-1:2002, a każdy klucz jest mapowany na obiekt zawierający zlokalizowany tytuł (i opis) zasobu.

      Przykładowy fragment kodu poniżej zawiera domyślny język zasobu. Dodaje też do filmów przetłumaczone tytuły i opisy w języku niemieckim i hiszpańskim:

      {
        "kind": "youtube#video",
        ...
        "snippet": {
          "title": "Playing soccer",
          "description": "We play soccer in the park on Sundays.",
          "defaultLanguage": "en",
          ...
        },
        "localizations":
          "de": {
            "title": "Fußball spielen",
            "description": "Wir spielen Fußball im Park am Sonntag"
          },
          "es": {
            "title": "Jugar al fútbol",
            "description": "Nosotros jugamos fútbol en el parque los domingos",
          }
        }
      }
    • Ważne: pamiętaj, że gdy zaktualizujesz zlokalizowane dane zasobu, żądanie do interfejsu API musi zawierać wszystkie zlokalizowane wersje danych. Jeśli na przykład w kolejnym przykładzie wyślesz żądanie dodania danych w języku portugalskim do filmu, żądanie musi zawierać dane zlokalizowane na język niemiecki, hiszpański i portugalski.

  • Pobieranie zlokalizowanych wartości

    Interfejs API obsługuje 2 sposoby pobierania zlokalizowanych wartości dla zasobu:

    • Dodaj parametr hl do żądania channels.list, channelSections.list, playlists.list lub videos.list, aby pobrać zlokalizowane dane dla konkretnego języka aplikacji obsługiwanego przez stronę YouTube. Jeśli szczegółowe informacje o zasobach są dostępne w tym języku, obiekt snippet.localized będzie zawierać zlokalizowane wartości. Jeśli jednak szczegóły dotyczące lokalizacji nie będą dostępne, obiekt snippet.localized będzie zawierał szczegóły zasobów w języku domyślnym zasobu.

      Załóżmy na przykład, że żądanie videos.list zostało pobrane dla filmu opisanego powyżej ze zlokalizowanymi danymi z Niemiec i Hiszpanii. Jeśli parametr hl miałby wartość de, zasób zawierałby te dane:

      {
        "kind": "youtube#video",
        ...
        "snippet": {
          "title": "Playing soccer",
          "description": "We play soccer in the park on Sundays.",
          "defaultLanguage": "en",
          "localized": {
            "title": "Fußball spielen",
            "description": "Wir spielen Fußball im Park am Sonntag"
          }
          ...
        }
      }

      Jeśli jednak parametr hl jest ustawiony na fr, obiekt snippet.localized będzie zawierać angielski tytuł i opis, ponieważ domyślny język zasobu jest ustawiony na angielski, a zlokalizowane wersje francuskie są niedostępne.

      Ważne: parametr hl obsługuje tylko wartości identyfikujące języki aplikacji, które obsługuje witryna YouTube. Aby określić, czy zlokalizowany tekst jest dostępny w innych językach, musisz pobrać część localizations zasobu i filtra, aby określić, czy taki tekst istnieje.

      Na przykład musisz pobrać pełną listę lokalizacji, aby określić, czy zlokalizowany tekst jest dostępny w języku Appalachów.

    • Podczas pobierania zasobu w parametrze part podaj localizations, aby pobrać wszystkie zlokalizowane informacje o tym zasobie. Jeśli pobierasz zlokalizowane dane w języku, który nie jest bieżącym językiem aplikacji YouTube, musisz użyć tego sposobu, aby pobrać wszystkie lokalizacje, a następnie odfiltrować dane, aby określić, czy istnieją odpowiednie zlokalizowane dane.

  • Błędy związane ze zlokalizowanymi wartościami tekstowymi

    Interfejs API obsługuje też następujące nowe błędy dotyczące zlokalizowanych wartości tekstowych:

    Typ błędu Szczegóły błędu Opis
    badRequest (400) defaultLanguageNotSetError Ten błąd oznacza, że żądanie, które próbuje wstawić lub zaktualizować obiekt localizations zasobu, kończy się niepowodzeniem, ponieważ nie ustawiono właściwości snippet.defaultLanguage dla tego zasobu. Metody channels.update, channelSections.insert, channelSections.update, playlists.insert, playlists.update, videos.insert i videos.update obsługują ten błąd.
    badRequest (400) localizationValidationError Ten błąd oznacza, że jedna z wartości obiektu localizations zasobu nie przeszła weryfikacji. Ten błąd może wystąpić na przykład w przypadku, gdy obiekt zawiera nieprawidłowy kod języka. Metody channels.update, channelSections.insert, channelSections.update, playlists.insert i playlists.update obsługują ten błąd.

4 listopada 2015 r.

Ta aktualizacja zawiera następujące zmiany:

  • Aktualizacje dotychczasowych zasobów i metod

    • Parametr order metody search.list został zaktualizowany w taki sposób, aby pamiętać, że jeśli posortujesz transmisje na żywo według wartości viewCount, wyniki w interfejsie API zostaną posortowane według liczby jednoczesnych transmisji i będą nadal aktywne.

    • Parametr relatedToVideoId metody search.list został zaktualizowany, aby pamiętać, że jeśli jest ustawiony, jedyne obsługiwane parametry to part, maxResults, pageToken, regionCode, relevanceLanguage, safeSearch, type (musi być ustawione na video) i fields. Ta aktualizacja nie odzwierciedla zmiany w działaniu interfejsu API.

    • Definicja właściwości snippet.publishedAt zasobu video została zmieniona tak, że wartość właściwości, która określa datę i godzinę publikacji filmu, może być inna niż data przesłania filmu. Jeśli np. prześlesz film jako prywatny, a później ustawisz go jako publiczny, wartość właściwości określa czas, przez jaki film został oznaczony jako publiczny. Zaktualizowana definicja wyjaśnia też, w jaki sposób wartość jest uzupełniana w przypadku filmów prywatnych i niepublicznych.

      Ta zmiana nie odzwierciedla zmiany w działaniu interfejsu API.

    • Definicja właściwości status.publishAt zasobu video została zaktualizowana:

      • Jeśli podczas wywoływania metody videos.update ustawisz wartość tej właściwości, musisz też ustawić wartość właściwości status.privacyStatus na private, nawet jeśli film jest już prywatny.
      • Jeśli prośba o zaplanowanie publikacji filmu ma jakiś termin w przeszłości, zostanie on opublikowany natychmiast. W efekcie ustawienie właściwości status.publishAt na datę i godzinę jest takie samo jak zmiana ustawienia privacyStatus filmu z private na public.
    • Właściwość contentDetails.contentRating.cncRating zasobu video określa ocenę filmu według francuskiej Komisji Delegacji. Ta usługa zastępuje usługę contentDetails.contentRating.fmocRating, która została już wycofana.

    • Definicja atrybutu brandingSettings.channel.keywords zasobu channel została poprawnie zaktualizowana, aby prawidłowo odzwierciedlić, że wartość właściwości zawiera listę ciągów znaków rozdzielanych spacjami, a nie listę rozdzieloną przecinkami, jak wcześniej udokumentowano. Ta aktualizacja nie odzwierciedla zmiany w działaniu interfejsu API.

    • Zaktualizowano dokumentację metody thumbnails.set, aby dokładnie odzwierciedlała ona, że treść żądania zawiera miniaturę, którą przesyłasz i powiążesz z filmem. Treść żądania nie zawiera zasobu thumbnail. Wcześniej w dokumentacji wskazano, że przy wywołaniu tej metody nie należy podawać treści żądania. Ta aktualizacja nie odzwierciedla zmiany w działaniu interfejsu API.

    • Zaktualizowaliśmy opis zasobu activity, aby odzwierciedlał fakt, że metoda activities.list nie obejmuje obecnie zasobów związanych z nowymi komentarzami do filmów. Zaktualizowano też zasoby snippet.type i contentDetails.comment zasobu.

  • Nowe i zaktualizowane błędy

    • Interfejs API obsługuje teraz następujące błędy:

      Szczegóły błędu
      activities.insert
      Kod odpowiedzi HTTPbadRequest (400)
      PrzyczynainvalidMetadata
      OpisWłaściwość kind nie pasuje do typu podanego identyfikatora.
      commentThreads.update
      comments.insert
      comments.update
      Kod odpowiedzi HTTPbadRequest (400)
      PrzyczynacommentTextTooLong
      OpisWstawiony lub zaktualizowany zasób comment zawiera zbyt wiele znaków we właściwości snippet.topLevelComment.snippet.textOriginal.
      playlistItems.insert
      playlistItems.update
      Kod odpowiedzi HTTPforbidden (403)
      PrzyczynaplaylistItemsNotAccessible
      OpisŻądanie nie ma uprawnień do wstawiania, aktualizowania lub usuwania podanego elementu playlisty.
      playlists.delete
      playlists.insert
      playlists.update
      Kod odpowiedzi HTTPbadRequest (400)
      PrzyczynaplaylistForbidden
      OpisTa operacja jest zabroniona lub żądanie nie jest prawidłowo autoryzowane.
      search.list
      Kod odpowiedzi HTTPbadRequest (400)
      PrzyczynainvalidLocation
      OpisWartość parametru location lub locationRadius została nieprawidłowo sformatowana.
      search.list
      Kod odpowiedzi HTTPbadRequest (400)
      PrzyczynainvalidRelevanceLanguage
      OpisWartość parametru relevanceLanguage jest nieprawidłowo sformatowana.
      subscriptions.insert
      Kod odpowiedzi HTTPbadRequest (400)
      PrzyczynasubscriptionForbidden
      OpisTen błąd występuje, gdy spełniony jest dowolny z tych warunków:
      • Subskrypcja, którą próbujesz utworzyć, już istnieje
      • Masz już maksymalną liczbę subskrypcji
      • Próbujesz zasubskrybować własny kanał, co nie jest obsługiwane.
      • Ostatnio utworzono za dużo subskrypcji i musisz poczekać kilka godzin, zanim spróbujesz ponownie.
      videos.update
      Kod odpowiedzi HTTPbadRequest (400)
      PrzyczynainvalidDefaultBroadcastPrivacySetting
      OpisŻądanie próbuje skonfigurować nieprawidłowe ustawienie prywatności dla transmisji domyślnej.

28 sierpnia 2015 r.

Ta aktualizacja zawiera następujące zmiany:

  • Aktualizacje dotychczasowych zasobów i metod

    • Właściwość statistics.favoriteCount zasobu video została wycofana.

      Zgodnie z naszymi zasadami wycofywania ta usługa będzie nadal uwzględniana w zasobach usługi video przez co najmniej rok od ogłoszenia. Wartość właściwości jest teraz zawsze ustawiona na 0.

7 sierpnia 2015 r.

Ta aktualizacja zawiera następujące zmiany:

  • Aktualizacje dotychczasowych zasobów i metod

    • Zaktualizowaliśmy definicję właściwości snippet.tags[] zasobu video, by podać więcej informacji o tym, jak serwer interfejsu API oblicza długość wartości usługi. Ta aktualizacja nie odzwierciedla zmiany w działaniu interfejsu API.

      W szczególności oznacza to, że jeśli tag zawiera spację, serwer API obsługuje wartość tagu tak, jakby była ujęta w cudzysłów, a cudzysłowy wliczają się do limitu znaków. Dlatego w celu ograniczenia liczby znaków tag Foo-Baz zawiera 7 znaków, a tag Foo Baz – 9 znaków.

    • Metoda commentThreads.insert nie obsługuje już parametru shareOnGooglePlus, który wcześniej określał, czy komentarz i odpowiedzi na niego powinny być również opublikowane w profilu Google+ autora. Jeśli żądanie przesyła parametr, serwer API ignoruje ten parametr, ale obsługuje żądanie.

18 czerwca 2015 r.

Ta aktualizacja zawiera następujące zmiany:

  • Aktualizacje dotychczasowych zasobów i metod

    • Nowy parametr order metody commentThreads.list określa kolejność, w jakiej odpowiedź interfejsu API powinna wyświetlać listę komentarzy. Wątki można sortować według czasu lub trafności. Domyślnie są one uporządkowane według czasu.

    • Nowa właściwość snippet.defaultAudioLanguage zasobu video określa język używany w domyślnej ścieżce dźwiękowej filmu.

    • Zaktualizowaliśmy definicję właściwości contentDetails.licensedContent zasobu zasobu video, aby doprecyzować, że treści muszą być pierwotnie przesłane na kanał powiązany z partnerem YouTube, a potem zgłoszono do niego roszczenie. Nie oznacza to zmiany rzeczywistego działania interfejsu API.

    • Metody captions.delete, captions.download, captions.insert, captions.list i captions.update obsługują teraz parametr onBehalfOfContentOwner, który jest już obsługiwany w przypadku kilku innych metod. Żądania korzystające z tej metody muszą też być autoryzowane za pomocą tokena zapewniającego dostęp do zakresu https://www.googleapis.com/auth/youtubepartner.

  • Nowe i zaktualizowane błędy

    • Interfejs API obsługuje teraz następujące błędy:

      Szczegóły błędu
      videos.rate
      Kod odpowiedzi HTTPbadRequest (400)
      PrzyczynaemailNotVerified
      OpisPrzed wystawieniem oceny użytkownik musi potwierdzić swój adres e-mail.
      videos.rate
      Kod odpowiedzi HTTPbadRequest (400)
      PrzyczynavideoPurchaseRequired
      OpisWypożyczone filmy mogą być oceniane tylko przez użytkowników, którzy je wypożyczyli.
    • Metody subscriptions.delete i subscriptions.insert nie obsługują już błędów accountClosed i accountSuspended.

27 kwietnia 2015 r.

Ta aktualizacja zawiera następujące zmiany:

  • Nowe materiały i metody

    • Nowy zasób videoAbuseReportReason zawiera informacje o przyczynie zgłoszenia filmu jako naruszającego zasady. Metoda videoAbuseReportReasons.list pozwala pobrać listę wszystkich przyczyn, dla których filmy mogły zostać zgłoszone.

    • Nowa metoda videos.reportAbuse umożliwia zgłaszanie filmów zawierających nieodpowiednie treści. Treść żądania zawiera obiekt JSON, który określa zgłoszony film, a także powód, dla którego film jest uznawany za naruszający zasady. Prawidłowe przyczyny można uzyskać przy użyciu opisanej powyżej metody videoAbuseReportReason.list.

      W przewodniku po migracji zaktualizowaliśmy też sekcję dotyczącą zgłaszania filmu naruszającego zasady. Po tej zmianie interfejs API w wersji 3 będzie teraz obsługiwać wszystkie funkcje interfejsu API w wersji 2, które mają być zaplanowane. Omówienie tych funkcji znajdziesz w przewodniku po migracji.

  • Aktualizacje dotychczasowych zasobów i metod

    • Nowy parametr filtra forDeveloper w metodzie search.list ogranicza wyszukiwanie tylko do filmów przesłanych za pomocą aplikacji lub witryny dewelopera. Parametr forDeveloper może być używany w połączeniu z opcjonalnymi parametrami wyszukiwania, takimi jak q.

      Do tej funkcji do każdego przesłanego filmu jest automatycznie przypisywany numer projektu powiązany z aplikacją dewelopera w Google Developers Console.

      Gdy żądanie wyszukiwania następnie określa parametr forDeveloper na true, serwer API używa identyfikatora autoryzacji żądania do identyfikacji dewelopera. W związku z tym deweloper może ograniczać wyniki do filmów przesłanych za pomocą własnej aplikacji lub witryny, ale nie do filmów przesłanych przy użyciu innych aplikacji lub stron.

      Ta nowa funkcja oferuje funkcje podobne do tagów programisty, ale nie takie same jak obsługiwane w wersji 2 interfejsu API.

    • Nowa właściwość snippet.country zasobu channel umożliwia właścicielom kanałów powiązanie ich z określonym krajem.

      Uwaga: aby ustawić właściwość snippet.country dla zasobu channel, musisz w rzeczywistości zaktualizować właściwość brandingSettings.channel.country.

    • Interfejs API obsługuje teraz kierowanie na zasoby channelSection. Kierowanie na sekcje kanału pozwala ograniczyć widoczność sekcji treści do użytkowników, którzy spełniają określone kryteria.

      Interfejs API udostępnia 3 opcje kierowania reklam. Aby sekcja kanału była widoczna, użytkownik musi spełniać wszystkie ustawienia kierowania.

    • Poprawiono definicję właściwości contentDetails.duration zasobu video, aby odzwierciedlić fakt, że wartość może odzwierciedlać godziny, dni itd.

    • Skorygowaliśmy dokumentację metod channelSections.delete, playlistItems.delete, playlists.delete, subscriptions.delete i videos.delete, aby potwierdzić, że po wykonaniu tych czynności wszystkie te metody zwracają kod odpowiedzi HTTP 204 (No Content).

  • Nowe i zaktualizowane błędy

    • Interfejs API obsługuje teraz następujące błędy:

      Typ błędu Szczegóły błędu Opis
      badRequest (400) targetInvalidCountry Metody channelSections.insert i channelSections.update zwracają ten błąd, jeśli wstawiony zasób channelSection zawiera nieprawidłową wartość właściwości targeting.countries[].
      badRequest (400) targetInvalidLanguage Metody channelSections.insert i channelSections.update zwracają ten błąd, jeśli wstawiony zasób channelSection zawiera nieprawidłową wartość właściwości targeting.languages[].
      badRequest (400) targetInvalidRegion Metody channelSections.insert i channelSections.update zwracają ten błąd, jeśli wstawiony zasób channelSection zawiera nieprawidłową wartość właściwości targeting.regions[].
      badRequest (400) operationNotSupported Metoda comments.insert zwraca ten błąd, jeśli użytkownik interfejsu API nie może wstawić komentarza w odpowiedzi na komentarz najwyższego poziomu zdefiniowany przez właściwość snippet.parentId. W zasobie commentThread właściwość snippet.canReply wskazuje, czy bieżący przeglądający może odpowiedzieć w wątku.
      badRequest (400) invalidChannelId Metoda search.list zwraca ten błąd, jeśli parametr channelId w żądaniu określa nieprawidłowy identyfikator kanału.
      badRequest (400) subscriptionForbidden Metoda subscriptions.insert zwraca ten błąd, jeśli użytkownik interfejsu API próbuje zasubskrybować własny kanał.
    • Metoda captions.update nie obsługuje już błędów invalidMetadata i videoNotFound.

16 kwietnia 2015 r.

Ta aktualizacja zawiera następujące zmiany:

  • Zaktualizowaliśmy przewodnik po migracji, aby wyjaśnić, jak przenieść aplikacje przy użyciu funkcji komentarzy w interfejsie API w wersji 2.

    Ten przewodnik zawiera też kilka funkcji komentowania, których interfejs API w wersji 2 nie obsługuje, ale które są obsługiwane w tym interfejsie. Są to między innymi:

    • Pobieranie komentarzy do kanału
    • Pobieranie wszystkich wątków komentarzy dotyczących kanału oznacza, że odpowiedź interfejsu API może zawierać komentarze na temat kanału lub dowolnych filmów.
    • Aktualizowanie tekstu komentarza
    • Oznaczanie komentarza jako spamu
    • Ustawianie stanu moderowania komentarza

  • Przewodnik Subskrybowanie powiadomień push został zaktualizowany, aby odzwierciedlić fakt, że powiadomienia są przekazywane tylko do centrum Google PubSubHubBub, a nie do centrum Superfeedr.

9 kwietnia 2015 r.

Ta aktualizacja zawiera następujące zmiany:

  • Nowe zasoby interfejsu API commentThread i comment pozwalają pobierać, wstawiać, aktualizować, usuwać i moderować komentarze.

    • Zasób commentThread zawiera informacje na temat wątku komentarza w YouTube, który składa się z komentarza najwyższego poziomu i ewentualnych odpowiedzi do tego komentarza. Zasób commentThread może reprezentować komentarze do filmu lub kanału.

      Komentarze najwyższego poziomu i odpowiedzi to w rzeczywistości zasoby comment zagnieżdżone w zasobie commentThread. Pamiętaj, że zasób commentThread nie musi zawierać wszystkich odpowiedzi na komentarz i musisz użyć metody comments.list, jeśli chcesz pobrać wszystkie odpowiedzi na dany komentarz. Oprócz tego niektóre komentarze nie zawierają odpowiedzi.

      Interfejs API obsługuje następujące metody w przypadku zasobów commentThread:

      • commentThreads.list – pobierz listę wątków komentarzy. Dzięki tej metodzie możesz pobrać komentarze dotyczące konkretnego filmu lub kanału.
      • commentThreads.insert – utwórz nowy komentarz najwyższego poziomu. (Użyj metody comments.insert, aby odpowiedzieć na istniejący komentarz).
      • commentThreads.update – modyfikuj komentarz najwyższego poziomu.

    • Zasób comment zawiera informacje na temat pojedynczego komentarza w YouTube. Zasób comment może reprezentować komentarz dotyczący filmu lub kanału. Może to też być komentarz najwyższego poziomu lub odpowiedź na komentarz najwyższego poziomu.

      Interfejs API obsługuje następujące metody w przypadku zasobów comment:

      • comments.list – pobieranie listy komentarzy. Przy użyciu tej metody możesz pobrać wszystkie odpowiedzi na dany komentarz.
      • comments.insert – utwórz odpowiedź na istniejący komentarz.
      • comments.update – modyfikuj komentarz.
      • comments.markAsSpam – oznacz co najmniej 1 komentarz jako spam.
      • comments.setModerationStatus – określ stan moderowania co najmniej jednego komentarza. Możesz na przykład usunąć komentarz z grupy publicznej lub odrzucić go jako nieodpowiednią do wyświetlania. Żądanie do interfejsu API musi zostać autoryzowane przez właściciela kanału lub filmu powiązanego z komentarzami.
      • comments.delete – usuń komentarz.

    Pamiętaj, że nowy zakres interfejsu API https://www.googleapis.com/auth/youtube.force-ssl, który jest opisany w historii zmian z 2 kwietnia 2015 r., jest wymagany do wywoływania metod comments.insert, comments.update, comments.markAsSpam, comments.setModerationStatus, comments.delete, commentThreads.insert i commentThreads.update.

  • W nowym przewodniku Subskrybowanie powiadomień push znajdziesz opis nowej obsługi interfejsów API w przypadku powiadomień push poprzez PubSubHubBub – protokół serwer-serwer do publikowania i subskrypcji zasobów dostępnych w internecie. Serwer wywołania zwrotnego PubSubHubBub może otrzymywać powiadomienia z kanału Atom, gdy kanał wykonuje dowolną z tych czynności:

    • przesyła film.
    • aktualizuje tytuł filmu
    • aktualizuje opis filmu

  • Zaktualizowaliśmy też przewodnik po migracji, w którym dodaliśmy nową obsługę powiadomień push. Ponieważ jednak interfejs API w wersji 2 obsługuje wiele innych typów powiadomień push, które nie są obsługiwane w interfejsie API v3, wzmianka o obsłudze PubSubHubBub nadal znajduje się w sekcji Wycofane tego przewodnika.

  • Nowy zakres interfejsu https://www.googleapis.com/auth/youtube.force-ssl API jest teraz prawidłowym zakresem dla każdej metody interfejsu API, która wcześniej obsługiwała zakres https://www.googleapis.com/auth/youtube.

  • Interfejs API obsługuje teraz następujące błędy:

    Typ błędu Szczegóły błędu Opis
    badRequest (400) invalidRating Metoda videos.rate zwraca ten błąd, jeśli żądanie zawiera nieoczekiwaną wartość parametru rating.
  • Metoda subscriptions.insert nie obsługuje już błędu subscriptionLimitExceeded, który wcześniej informował, że subskrybent określony w żądaniu przekroczył limit liczby subskrypcji.

2 kwietnia 2015 r.

Ta aktualizacja zawiera następujące zmiany:

  • Nowy zasób captions reprezentuje ścieżkę napisów w YouTube. Ścieżka napisów jest powiązana dokładnie z jednym filmem w YouTube.

    Interfejs API obsługuje metody wyświetlania, wstawiania, aktualizowania, pobierania i usuwania napisów.

  • Zaktualizowaliśmy też przewodnik po migracji, aby wyjaśnić, jak przenieść aplikacje, które nadal korzystają z funkcji napisów w interfejsie API w wersji 2.

  • Nowy zakres interfejsu https://www.googleapis.com/auth/youtube.force-ssl API wymaga komunikacji z serwerem API przez połączenie SSL.

    Ten nowy zakres zapewnia taki sam dostęp jak zakres https://www.googleapis.com/auth/youtube. Te 2 zakresy działają tak samo, ponieważ serwer interfejsu YouTube API jest dostępny tylko przez punkt końcowy HTTPS. W związku z tym chociaż zakres https://www.googleapis.com/auth/youtube nie wymaga połączenia SSL, nie ma żadnego innego sposobu umożliwiającego wysłanie żądania do interfejsu API.

    Nowy zakres jest wymagany do wywołań wszystkich metod zasobu caption.

11 marca 2015 r.

Ta aktualizacja zawiera następujące zmiany:

  • Przewodnik po interfejsie YouTube Data API (v3) zawiera nową kartę o nazwie New in v3 API (Nowa w interfejsie API v3), która zawiera listę funkcji obsługiwanych przez ten interfejs API oraz tych, które nie są obsługiwane w wersji 2. Te same funkcje były wcześniej dostępne na innych kartach przewodnika. Na przykład nowa funkcja wyjaśniająca, jak zaktualizować dane kampanii reklamowej wideo, jest dostępna również na karcie Kanały (profile).

  • Zaktualizowaliśmy przewodnik po migracji interfejsu YouTube Data API (v3), aby poinformować, że interfejs API w wersji 3 obsługuje tę funkcję interfejsu API w wersji 2:

  • Zaktualizowaliśmy przewodnik po migracji interfejsu YouTube Data API (v3), aby poinformować, że następujące funkcje interfejsu API w wersji 2 nie będą obsługiwane:

    • Pobierz rekomendacje filmów – interfejs API w wersji 3 nie pobiera listy zawierającej tylko filmy zalecane dla bieżącego użytkownika interfejsu API. Możesz jednak wyszukiwać filmy za pomocą interfejsu API v3, wywołując metodę activities.list i ustawiając wartość parametru home na true.

      Jeśli odpowiedź właściwości snippet.type to recommendation, zasób odpowiada zalecanym filmom. W takim przypadku właściwości contentDetails.recommendation.reason i contentDetails.recommendation.seedResourceId zawierają informację o tym, dlaczego dany film został polecony. Pamiętaj, że nie możemy zagwarantować, że odpowiedź będzie zawierać konkretną liczbę polecanych filmów.

    • Pobierz propozycje kanałów

    • Pobieranie nowych filmów z subskrypcji – interfejs API w wersji 3 nie pobiera listy złożonej wyłącznie z filmów, które zostały ostatnio przesłane na kanały subskrybowane przez użytkownika. Aby znaleźć nowe filmy za pomocą subskrypcji, możesz jednak użyć interfejsu API w wersji 3, wywołując metodę activities.list i ustawiając wartość parametru home na true.

      Jeśli wartość właściwości snippet.type to upload, w odpowiedzi interfejsu API zasób odpowiada nowemu filmowi z subskrypcją. Pamiętaj, że nie możemy zagwarantować, że odpowiedź będzie zawierać konkretną liczbę nowych filmów z subskrypcji.

    • Obsługa kanałów RSS

    • Powiadomienia push o aktualizacjach kanałów – interfejs v2 API do obsługi powiadomień push wykorzystuje protokół Simple Update (SUP) lub PubSubHubbub do monitorowania kanałów aktywności użytkowników w YouTube. Powiadomiliśmy o nowych subskrypcjach kanałów oraz o tym, kiedy filmy zostały ocenione, udostępnione, dodane do ulubionych, skomentowane lub przesłane.

      Interfejs API v3 będzie obsługiwać powiadomienia push za pomocą protokołu PubSubHubbub, ale dotyczy tylko przesyłania filmów i aktualizacji tytułów i opisów filmów.

    • Lokalizacja kanału – interfejs API w wersji 2 używał tagu <yt:location> do identyfikacji lokalizacji użytkownika wskazanej w profilu publicznym YouTube. Choć niektórzy deweloperzy używali tego pola do powiązania kanału z konkretnym krajem, dane tego pola nie mogły być wykorzystywane do tego celu.

    • Ustawianie lub pobieranie tagów programisty – interfejs API w wersji 2 umożliwiał powiązanie słów kluczowych lub tagów programisty z filmem w momencie przesyłania filmu. Tagi programisty nie będą wyświetlane użytkownikom YouTube, ale właściciele filmów mogą pobierać filmy, które pasują do określonego tagu programisty.

      Interfejs API w wersji 3 będzie zawierał podobną, ale nieidencyjną funkcję. Programista będzie mógł wyszukać filmy przesłane przez jego aplikację. Do tej funkcji do każdego przesłanego filmu jest automatycznie przypisywany numer projektu powiązany z aplikacją dewelopera w Google Developers Console. Następnie wyszukuje filmy, używając tego samego numeru projektu.

    • Wyświetlanie listy filmów według daty publikacji, liczby wyświetleń lub oceny – w interfejsie API w wersji 2 parametr orderby pozwala sortować filmy na playliście według pozycji, czasu trwania, daty publikacji, tytułu i kilku innych wartości. W interfejsie API w wersji 3 elementy playlisty są zwykle sortowane w kolejności rosnącej. Inne opcje sortowania są niedostępne.

      Istnieje kilka wyjątków. W przypadku poniższych typów playlist nowy film, ulubiony film, polubiony lub ostatnio oglądany film jest automatycznie dodawany jako pierwszy element (snippet.position=0). Każda z tych list jest sortowana w kolejności od najnowszego do najstarszego elementu na podstawie czasu dodania elementów do listy.

      • przesłane przez użytkownika
      • ulubione filmy
      • polubione filmy
      • historia oglądania

      Pamiętaj jednak, że nowy element dodany do playlisty „Do obejrzenia” jest dodawany jako ostatni element na tej liście, więc lista jest posortowana od najstarszego do najnowszego.

    • Przetwarzanie wsadowe – interfejs API w wersji 3 obsługuje jeden z przypadków użycia wsadowego. Metody channels.list, channelSections.list, guideCategories.list, playlistItems.list, playlists.list, subscriptions.list, videoCategories.list i videos.list interfejsu API w wersji 3 obsługują parametr id, którego można używać do określania listy identyfikatorów rozdzielonych przecinkami (identyfikatorów filmów, identyfikatorów kanałów itp.). Korzystając z tych metod, możesz pobrać listę wielu zasobów za pomocą jednego żądania.

    Po tych zmianach przewodnik zawiera informacje o wszystkich funkcjach obsługiwanych w starej wersji (2), która zostanie wycofana w obecnej wersji tego interfejsu (v3).

4 marca 2015 r.

Ta aktualizacja zawiera następujące zmiany:

  • Metody channelSections.delete i channelSections.update obsługują teraz parametr onBehalfOfContentOwner, który jest już obsługiwany w przypadku kilku innych metod.

  • Te usługi i ich usługi podrzędne zostały wycofane:

    • brandingSettings.image.backgroundImageUrl
    • brandingSettings.image.largeBrandedBannerImageImapScript
    • brandingSettings.image.largeBrandedBannerImageUrl
    • brandingSettings.image.smallBrandedBannerImageImapScript
    • brandingSettings.image.smallBrandedBannerImageUrl

    Uwaga: żadna z tych usług nie podlegała zasadom wycofywania interfejsu API.

  • Nowa właściwość contentDetails.contentRating.contentDetails.contentRating.djctqRatingReasons zasobu video określa przyczyny, dla których film otrzymał ocenę DJCQT (Brazylia).

  • Interfejs API obsługuje teraz następujące błędy:

    Typ błędu Szczegóły błędu Opis
    notFound (404) channelNotFound Metoda channels.update zwraca ten błąd, jeśli parametr id żądania określa kanał, którego nie można znaleźć.
    badRequest (400) manualSortRequiredinvalidValue Metody playlistItems.insert i playlistItems.update zwracają ten błąd, jeśli żądanie próbuje ustawić pozycję elementu playlisty, ale playlista nie jest sortowana ręcznie. Na przykład elementy na playliście mogą być sortowane według daty lub popularności. Możesz naprawić ten błąd, usuwając element snippet.position z zasobu wysyłanego w treści żądania. Jeśli chcesz, aby element playlisty miał określoną pozycję, najpierw musisz zmienić jej kolejność na Ręcznie. To ustawienie można dostosować w Menedżerze filmów w YouTube.
    forbidden (403) channelClosed Metoda playlists.list zwraca ten błąd, jeśli parametr channelId żądania określa kanał, który został zamknięty.
    forbidden (403) channelSuspended Metoda playlists.list zwraca ten błąd, jeśli parametr channelId żądania określa kanał, który został zawieszony.
    forbidden (403) playlistForbidden Metoda playlists.list zwraca ten błąd, jeśli parametr id żądania nie obsługuje żądania lub nie jest ono prawidłowo autoryzowane.
    notFound (404) channelNotFound Metoda playlists.list zwraca ten błąd, jeśli parametr channelId żądania określa kanał, którego nie można znaleźć.
    notFound (404) playlistNotFound Metoda playlists.list zwraca ten błąd, jeśli parametr id żądania określa playlistę, której nie można znaleźć.
    notFound (404) videoNotFound Metoda videos.list zwraca ten błąd, jeśli parametr id żądania określa film, którego nie można znaleźć.
    badRequest (400) invalidRating Metoda videos.rate zwraca ten błąd, jeśli żądanie zawiera nieoczekiwaną wartość parametru rating.

2 marca 2015 r.

Ta aktualizacja zawiera następujące zmiany:

14 stycznia 2015 r.

Ta aktualizacja zawiera następujące zmiany:

  • Zaktualizowaliśmy przewodnik po migracji interfejsu YouTube Data API (v3), by wyjaśnić, jak korzystać z interfejsu API w wersji 3 do przesyłania filmów przy użyciu kodu JavaScript. (więcej informacji znajdziesz w sekcji Przesyłanie filmów). Ta funkcja jest porównywalna z funkcją przesyłania na podstawie przeglądarki obsługiwaną przez interfejs API w wersji 2. Ta zmiana w przewodniku po migracji nie odzwierciedla faktycznej zmiany w interfejsie API, ale wskazuje na dostępność nowego przykładowego kodu do przesyłania filmów przy użyciu kodu JavaScript po stronie klienta.

    Biorąc pod uwagę obsługę przesyłania filmów przy użyciu biblioteki klienta JavaScript i narzędzia CORS, w przewodniku po migracji nie ma już funkcji przesyłania opartej na przeglądarce jako funkcji, która może zostać wycofana w interfejsie API w wersji 3.

  • Dokumentacja metody videos.insert została zaktualizowana o nową wersję kodu JavaScript opisaną powyżej. Zaktualizowaliśmy też listę przykładowych kodów JavaScript interfejsu YouTube Data API (v3).

11 listopada 2014 r.

Ta aktualizacja zawiera następujące zmiany:

  • Limit kosztu wywołania metody search.list został zmieniony na 100 jednostek.

    Ważne: w wielu przypadkach możesz użyć innych metod interfejsu API do pobrania informacji przy niższych kosztach. Na przykład te 2 sposoby na znalezienie filmów przesłanych na kanał GoogleDevelopers

    • Koszt limitu: 100 jednostek

      Wywołaj metodę search.list i wyszukaj GoogleDevelopers.

    • Koszt limitu: 6 jednostek

      Wywołaj metodę channels.list, by znaleźć odpowiedni identyfikator kanału. Ustaw parametr forUsername na GoogleDevelopers, a parametr part na contentDetails. W odpowiedzi interfejsu API właściwość contentDetails.relatedPlaylists.uploads określa identyfikator playlisty przesłanych filmów.

      Następnie wywołaj metodę playlistItems.list i ustaw parametr playlistId na przechwycony identyfikator, a parametr part na snippet.

8 października 2014 r.

Ta aktualizacja zawiera następujące zmiany:

  • Zasób channel zawiera 2 nowe właściwości:

    • Właściwość status.longUploadsStatus wskazuje, czy na kanale można przesyłać filmy dłuższe niż 15 minut. Ta właściwość jest zwracana tylko wtedy, gdy właściciel kanału autoryzował żądanie do interfejsu API. Prawidłowe wartości właściwości:

      • allowed – kanał może przesyłać filmy dłuższe niż 15 minut.
      • eligible – kanał może przesyłać filmy dłuższe niż 15 minut, ale najpierw musi włączyć tę funkcję.
      • disallowed – kanał nie może przesyłać filmów dłuższych niż 15 minut.

      Więcej informacji o tych wartościach znajdziesz w definicji właściwości. Szczegółowe informacje o tej funkcji znajdziesz też w Centrum pomocy YouTube.

    • Właściwość invideoPromotion.useSmartTiming wskazuje, czy kampania promocyjna kanału wykorzystuje „inteligentny czas”. Ta funkcja stara się pokazywać promocje w miejscu filmu, w którym jest większe prawdopodobieństwo, że użytkownik zostanie kliknięty, i ma to mniejsze szanse na zakłócenia oglądania. Ta funkcja daje również możliwość skorzystania z 1 promocji na każdy film.

  • Definicje właściwości snippet.title i snippet.categoryId zasobu video zostały zaktualizowane, by wyjaśnić sposób, w jaki interfejs API obsługuje wywołania metody videos.update. Jeśli wywołujesz tę metodę aktualizowania części snippet zasobu video, musisz ustawić wartość dla obu tych właściwości.

    Jeśli spróbujesz zaktualizować część snippet zasobu video i nie ustawisz wartości dla obu tych właściwości, interfejs API zwróci błąd invalidRequest. Opis tego błędu również został zaktualizowany.

  • Właściwość contentDetails.contentRating.oflcRating zasobu video, która określa ocenę filmu w Nowej Zelandii przy Urzędzie Filmowym i Literii, obsługuje teraz 2 nowe oceny: oflcRp13 i oflcRp16. Odpowiadają one odpowiednio ocenom RP13 i RP16.

  • Metoda channelBanners.insert obsługuje teraz ten błąd:

    Typ błędu Szczegóły błędu Opis
    badRequest bannerAlbumFull Album właściciela kanału w YouTube zawiera za dużo obrazów. Właściciel kanału powinien otworzyć stronę http://photos.google.com, przejść na stronę albumów i usunąć niektóre zdjęcia z tego albumu.

12 września 2014 r.

Ta aktualizacja zawiera następujące zmiany:

13 sierpnia 2014 r.

Ta aktualizacja zawiera następujące zmiany:

  • Metoda subscriptions.insert obsługuje teraz ten błąd:

    Typ błędu Szczegóły błędu Opis
    badRequest subscriptionLimitExceeded Subskrybent określony w prośbie przekroczył limit liczby subskrypcji. Za kilka godzin można wypróbować kolejne subskrypcje.

12 sierpnia 2014 r.

Ta aktualizacja zawiera następujące zmiany:

  • Nowy przewodnik zatytułowany Migracja aplikacji do YouTube Data API (v3) wyjaśnia, jak korzystać z interfejsu YouTube Data API (v3) w celu korzystania z funkcji dostępnych w YouTube Data API (v2). Starsza wersja interfejsu API została oficjalnie wycofana 4 marca 2014 r. Ten przewodnik ma na celu pomóc użytkownikom w migracji aplikacji nadal korzystających z interfejsu API w wersji 2 do najnowszej wersji.

8 lipca 2014 r.

Ta aktualizacja zawiera następujące zmiany:

  • Metoda playlists.insert obsługuje teraz ten błąd:

    Typ błędu Szczegóły błędu Opis
    badRequest maxPlaylistExceeded Ten błąd występuje, jeśli nie można utworzyć playlisty, ponieważ na kanale jest już maksymalna dozwolona liczba playlist.

18 czerwca 2014 r.

Ta aktualizacja zawiera następujące zmiany:

  • Opis każdej metody interfejsu API został zaktualizowany, tak aby uwzględniał limit kosztów wywołany przez wywołanie tej metody. Analogicznie zaktualizowaliśmy definicje parametrów part, by określić koszt przydziału każdej części, którą można pobrać w wywołaniu interfejsu API. Na przykład wywołanie metody subscriptions.insert ma limit wynoszący ok. 50 jednostek. Zasób subscription składa się również z 3 części (snippet, contentDetails i subscriberSnippet). Każda z nich kosztuje 2 jednostki.

    Pamiętaj, że koszty limitu mogą ulec zmianie bez ostrzeżenia.

  • Zasób video obsługuje teraz 43 nowe systemy oceny treści, które identyfikują oceny filmów dodawane przez różne krajowe agencje oceniające.

28 maja 2014 r.

Ta aktualizacja zawiera następujące zmiany:

  • Metoda search.list obsługuje teraz parametry location i locationRadius, które pozwalają wyszukiwać filmy powiązane z lokalizacją geograficzną. W żądaniu musi być określona wartość obydwu parametrów, by pobierać wyniki na podstawie lokalizacji. Interfejs API zwróci błąd, jeśli żądanie zawiera tylko jeden z tych 2 parametrów.

    • Parametr location określa szerokość i długość geograficzną pośrodku okrągłego obszaru geograficznego.

    • Parametr locationRadius określa maksymalną odległość, jaka od lokalizacji filmu może być ustawiona, by odsunąć go od środka w wynikach wyszukiwania.

13 maja 2014 r.

Ta aktualizacja zawiera następujące zmiany:

  • Zaktualizowano właściwość invideoPromotion.items[] zasobu channel, aby zwrócić uwagę, że zazwyczaj można ustawić tylko jeden promowany produkt na kanale. Jeśli spróbujesz wstawić zbyt wiele promowanych produktów, interfejs API zwróci błąd tooManyPromotedItems zawierający kod stanu HTTP 400.

  • Zasób channelSection może teraz zawierać informacje o kilku nowych typach polecanych treści. Właściwość snippet.type zasobu channelSection obsługuje teraz te wartości:

    • postedPlaylists – playlisty opublikowane przez właściciela kanału w strumieniu aktywności.
    • postedVideos – filmy opublikowane przez właściciela kanału w strumieniu aktywności.
    • subscriptions – kanały, które subskrybuje właściciel kanału

  • Nowa właściwość contentDetails.contentRating.ifcoRating zasobu video określa ocenę, jaką otrzymał film w Irlandzkim Urzędzie Klasyfikacji Filmów.

  • Zaktualizowaliśmy definicję właściwości position.cornerPosition zasobu watermark, aby zaznaczyć, że znak wodny jest zawsze widoczny w prawym górnym rogu odtwarzacza.

  • Zaktualizowaliśmy definicję parametru q metody search.list, aby zwrócić uwagę, że wyszukiwane hasło może używać operatora NIE (-) do wykluczania filmów powiązanych z konkretnym hasłem. Możesz też użyć operatora logicznego LUB (|), aby znaleźć filmy powiązane z jednym z kilku wyszukiwanych haseł.

  • Zaktualizowaliśmy definicję właściwości pageInfo.totalResults, która jest zwracana w odpowiedzi interfejsu API na wywołanie search.list, aby pokazać, że wartość jest przybliżona i może nie odzwierciedlać dokładnej wartości. Dodatkowo maksymalna wartość to 1 000 000. Tej wartości nie należy używać do tworzenia linków do stron. Zamiast tego użyj wartości właściwości nextPageToken i prevPageToken, aby określić, czy pokazywać linki do podziału na strony.

  • Metody watermarks.set i watermarks.unset zostały zaktualizowane, tak aby odzwierciedlały fakt, że interfejs API zwraca kod odpowiedzi HTTP 204 w przypadku udanych żądań wysłanych do tych metod.

2 maja 2014 r.

Ta aktualizacja zawiera następujące zmiany:

  • Nowy zasób i18nLanguage określa język aplikacji, który obsługuje witryna YouTube. Język aplikacji można też określić jako język interfejsu. W przypadku witryny YouTube język aplikacji może być wybierany automatycznie na podstawie ustawień konta Google, języka przeglądarki lub lokalizacji adresu IP. Użytkownik może też ręcznie wybrać żądany język interfejsu użytkownika ze stopki witryny.

    Interfejs API obsługuje metodę wyświetlania listy obsługiwanych języków aplikacji. Obsługiwane języki mogą być używane jako wartość parametru hl przy wywoływaniu metod interfejsu API, takich jak videoCategories.list i guideCategories.list.

  • Nowy zasób i18nRegion określa obszar geograficzny, który użytkownik YouTube może wybrać jako preferowany region treści. Region treści można też określić jako język treści. W przypadku witryny YouTube region treści może być wybierany automatycznie na podstawie heurystyki, takiej jak domena YouTube lub lokalizacja adresu IP użytkownika, oraz użytkownik może ręcznie wybrać żądany region treści ze stopki witryny YouTube.

    Interfejs API obsługuje metodę wyświetlania listy obsługiwanych regionów treści. Obsługiwane kody regionów mogą być używane jako wartość parametru regionCode podczas wywoływania metod interfejsu API, np. search.list, videos.list, activities.list i videoCategories.list.

7 kwietnia 2014 r.

Ta aktualizacja zawiera następujące zmiany:

  • Nowy zasób channelSection zawiera informacje o zestawie filmów, które poleca kanał. Sekcja może na przykład zawierać najnowsze filmy na kanale, najpopularniejsze filmy lub filmy z co najmniej jednej playlisty.

    Interfejs API obsługuje metody wyświetlania, wstawiania, aktualizowania i usuwania kanałów. Możesz pobrać listę sekcji kanału uwierzytelnionego użytkownika, podając jego identyfikator lub listę unikalnych identyfikatorów.

    Zaktualizowaliśmy też dokumentację błędów, by opisała komunikaty o błędach obsługiwane przez interfejs API w przypadku tych nowych metod.

  • Zaktualizowano definicję obiektu fileDetails zasobu video, aby wyjaśnić, że obiekt ten jest zwracany tylko wtedy, gdy właściwość processingDetails.fileDetailsAvailability filmu ma wartość available.

    Analogicznie zaktualizowaliśmy definicję obiektu suggestions zasobu video, aby wyjaśnić, że ten obiekt jest zwracany tylko wtedy, gdy właściwość processingDetails.tagSuggestionsAvailability filmu lub jego właściwość processingDetails.editorSuggestionsAvailability mają wartość available.

  • Zaktualizowaliśmy dokumentację dotyczącą metod videos.insert i videos.update, aby poinformować, że można wywoływać właściwość status.publishAt podczas wywoływania tych metod.

  • Definicja obiektu invideoPromotion zasobu channel została zaktualizowana, aby wyjaśnić, że obiekt może pobrać tylko właściciel kanału.

  • Lista parametrów metody videos.rate została zaktualizowana w taki sposób, aby nie obsługiwała parametru onBehalfOfContentOwner. To był błąd dokumentacji, ponieważ żądania videos.rate, które ustawiały ten parametr, zwracają błąd 500.

31 marca 2014 r.

Ta aktualizacja zawiera następujące zmiany:

13 marca 2014 r.

Ta aktualizacja zawiera następujące zmiany:

  • Interfejs API obsługuje teraz część contentOwnerDetails zasobu channel. Nowa część zawiera dane kanału ważne dla partnerów YouTube połączonych z kanałem, w tym identyfikator właściciela treści połączonego z kanałem oraz datę i godzinę połączenia właściciela treści i kanału. Pamiętaj, że ta nowa część nie podlega zasadom wycofywania.

  • Dokumentacja przedstawia teraz maksymalną długość znaków w przypadku tych właściwości:

    Zasób Właściwość Maksymalna długość
    channel invideoPromotion.items[].customMessage 40 znaków
    video snippet.title 100 znaków
    video snippet.description 5000 bajtów
    video snippet.tags 500 znaków. Pamiętaj, że wartość właściwości jest listą, a przecinki między nimi są wliczane do limitu.
  • Właściwość brandingSettings.watch.featuredPlaylistId zasobu channel została wycofana. Jeśli spróbujesz ustawić jego wartość, interfejs API zwróci błąd.

  • Do listy wartości, które można ustawić podczas wstawiania lub aktualizowania filmu, dodano video właściwości:

  • Dokumentacja błędów określa teraz kod odpowiedzi HTTP dla każdego typu błędu.

  • Interfejs API obsługuje teraz następujące błędy:

    Typ błędu Szczegóły błędu Opis
    badRequest (400) invalidCriteria Metoda channels.list zwraca ten błąd, jeśli żądanie określa parametry filtra, których nie można używać razem ze sobą.
    badRequest (400) channelTitleUpdateForbidden Metoda channels.update zwraca ten błąd, gdy próbujesz zaktualizować część brandingSettings kanału i zmienić wartość właściwości brandingSettings.channel.title. (Pamiętaj, że interfejs API nie zwróci błędu, jeśli pominiesz właściwość).
    badRequest (400) invalidRecentlyUploadedBy Metoda channels.update zwraca ten błąd, jeśli właściwość invideoPromotion.items[].id.recentlyUploadedBy określa nieprawidłowy identyfikator kanału.
    badRequest (400) invalidTimingOffset Metoda channels.update zwraca ten błąd, jeśli część invideoPromotion określa nieprawidłowe przesunięcie czasowe.
    badRequest (400) tooManyPromotedItems Metoda channels.update zwraca ten błąd, jeśli część invideoPromotion zawiera więcej niż dozwolona liczba promowanych produktów.
    forbidden (403) promotedVideoNotAllowed Metoda channels.update zwraca ten błąd, jeśli właściwość invideoPromotion.items[].id.videoId określa identyfikator filmu, którego nie można znaleźć lub nie można użyć jako promowanego elementu.
    forbidden (403) websiteLinkNotAllowed Metoda channels.update zwraca ten błąd, jeśli właściwość invideoPromotion.items[].id.websiteUrl określa nieprawidłowy adres URL.
    required (400) requiredTimingType Metoda channels.update zwraca ten błąd, jeśli żądanie nie określa domyślnych ustawień czasu, gdy YouTube ma wyświetlić promowany produkt.
    required (400) requiredTiming Metoda channels.update musi określać obiekt invideoPromotion.items[].timing dla każdego promowanego elementu.
    required (400) requiredWebsiteUrl Metoda channels.update musi określać właściwość invideoPromotion.items[].id.websiteUrl dla każdego promowanego produktu.
    badRequest (400) invalidPublishAt Metoda videos.insert zwraca ten błąd, jeśli metadane żądania wskazują nieprawidłowy czas publikacji.

4 marca 2014 r.

Ta aktualizacja zawiera następujące zmiany:

5 grudnia 2013 r.

Ta aktualizacja zawiera następujące zmiany:

  • Dokumentacja metody search.list została zaktualizowana tak, aby prawidłowo podawać, że podczas przesyłania żądania wyszukiwania nie musisz określać wartości dokładnie jednego parametru filtra. Zamiast tego możesz ustawić wartość 0 parametrów filtra lub 1 parametr filtra.

  • Definicje parametrów metody search.list zostały zmienione tak, aby trzeba było ustawić wartość parametru type na video, jeśli podasz też wartość dowolnego z tych parametrów:

    • eventType
    • videoCaption
    • videoCategoryId
    • videoDefinition
    • videoDimension
    • videoDuration
    • videoEmbeddable
    • videoLicense
    • videoSyndicated
    • videoType

  • Minimalny rozmiar przesyłanych obrazów banera kanału został zmniejszony do 2048 x 1152 pikseli. Wcześniej minimalny rozmiar wynosił 2120 na 1192 piksele.) Pamiętaj też, że w dokumentacji zasobów channel podane są maksymalne rozmiary wszystkich obrazów banera wyświetlanych przez interfejs API. Na przykład maksymalny rozmiar obrazu w aplikacjach brandingSettings.image.bannerTvImageUrl to 2120 × 1192 piksele, ale rzeczywisty obraz może mieć rozmiar 2048 na 1152 piksele. Centrum pomocy YouTube zawiera dodatkowe wskazówki, które pomogą Ci zoptymalizować grafikę kanału pod kątem wyświetlania na różnych rodzajach urządzeń.

  • Zaktualizowaliśmy kilka definicji właściwości zasobu channel, aby uwzględnić te informacje:

    • Wartość właściwości brandingSettings.channel.description może mieć maksymalnie 1000 znaków.
    • Właściwość brandingSettings.channel.featuredChannelsTitle może mieć maksymalnie 30 znaków.
    • Właściwość brandingSettings.channel.featuredChannelsUrls[] może teraz zawierać maksymalnie 100 kanałów.
    • Wartość właściwości brandingSettings.channel.unsubscribedTrailer musi mieć identyfikator filmu publicznego lub niepublicznego, którego właścicielem jest właściciel kanału.

  • Metoda channels.update obsługuje teraz aktualizacje właściwości invideoPromotion.items[].promotedByContentOwner. Ta właściwość wskazuje, czy podczas wyświetlania promocji będzie wyświetlana nazwa właściciela treści. Można go ustawić tylko wtedy, gdy żądanie API, które ustawia wartość usługi, jest wysyłane w imieniu właściciela treści za pomocą parametru onBehalfOfContentOwner.

  • Metody playlistItems.list i playlistItems.insert obsługują teraz parametr onBehalfOfContentOwner, który jest już obsługiwany w przypadku kilku innych metod.

  • Właściwość contentDetails.contentRating.acbRating może teraz określać ocenę zarówno filmów orzeczonych przez Australian Classification Board (ACB) (Australian Classification Board, ACMA) dla programów telewizyjnych dla dzieci (Australian Communications and Media Authority, ACMA).

  • Nowe właściwości contentDetails.contentRating.catvRating i contentDetails.contentRating.catvfrRating identyfikują oceny filmów wyświetlane w ramach kanadyjskiego systemu klasyfikacji telewizyjnej i francuskiego systemu ocen Régie du cinéma (stosowane odpowiednio w Quebecu).

  • Nowa właściwość snippet.assignable zasobu videoCategory wskazuje, czy z tą kategorią mogą być powiązane zaktualizowane lub nowo przesłane filmy.

  • Dodano przykłady kodu w następujących metodach:

24 października 2013 r.

Ta aktualizacja zawiera następujące zmiany:

  • Oferuje on 2 dodatkowe funkcje ułatwiające znajdowanie i promowanie treści transmisji na żywo:

    Nowa właściwość snippet.liveBroadcastContent w wynikach wyszukiwania wskazuje, czy w filmie lub zasobie kanału są przesyłane treści na żywo. Prawidłowe wartości właściwości to upcoming, active i none.

    • Nowa właściwość snippet.liveBroadcastContent zasobu video wskazuje, czy transmisja ma być nadchodząca czy aktywna. Możliwe wartości właściwości z listy poniżej:

      • upcoming – film jest transmitowany na żywo, który jeszcze się nie rozpoczął.
      • active – film jest transmitowany na żywo.
      • none – film nie jest zbliżającą się lub aktywną transmisją na żywo. To będzie wartość właściwości zakończonych transmisji, które nadal będą widoczne w YouTube.

    • Nowa właściwość liveStreamingDetails zasobu video to obiekt zawierający metadane dotyczące transmisji wideo na żywo. Aby pobrać te metadane, uwzględnij liveStreamingDetails na liście wartości zasobów w parametrze part. Metadane obejmują te nowe właściwości:

      Aby pobrać te metadane, umieść liveStreamingDetails w wartości parametru part podczas wywoływania metody videos.list, videos.insert lub videos.update.

    1 października 2013 roku wprowadziliśmy 2 inne funkcje identyfikowania treści transmisji na żywo – parametr eventType metody search.list i właściwość snippet.liveBroadcastContent wyniku wyszukiwania.

  • Metoda videos.insert obsługuje teraz parametr notifySubscribers, który wskazuje, czy YouTube ma wysyłać powiadomienia o nowym filmie do użytkowników, którzy subskrybują jego kanał. Domyślna wartość tego parametru to True. Oznacza ona, że subskrybenci będą powiadamiani o nowo przesłanych filmach. Właściciel kanału, który przesyła wiele filmów, może jednak ustawić tę wartość na False, aby uniknąć wysyłania powiadomień o nowych filmach do subskrybentów kanału.

  • Lista właściwości, które można zmieniać podczas wywoływania metody channels.update, została zaktualizowana tak, aby zawierała właściwości invideoPromotion.items[].customMessage i invideoPromotion.items[].websiteUrl. Dodatkowo zmodyfikowaliśmy listę, aby zidentyfikować właściwości brandingSettings, które można modyfikować. Te właściwości brandingSettings można było już modyfikować, więc zmiana w dokumentacji nie odzwierciedla zmiany wprowadzonej w interfejsie API.

  • Metody playlists.insert, playlists.update i playlists.delete obsługują teraz parametr onBehalfOfContentOwner, który jest już obsługiwany w przypadku kilku innych metod.

  • Metoda playlists.insert obsługuje teraz parametr onBehalfOfContentOwnerChannel, który jest już obsługiwany w przypadku kilku innych metod.

  • Właściwość contentDetails.contentRating.tvpgRating zasobu video obsługuje teraz wartość pg14, która odpowiada ocenie TV-14.

  • Poprawiliśmy definicję właściwości snippet.liveBroadcastContent, która jest częścią wyników wyszukiwania, aby potwierdzić, że live jest prawidłową wartością właściwości, ale active nie jest prawidłową wartością właściwości.

  • Właściwość contentDetails.contentRating.mibacRating zasobu video obsługuje teraz 2 dodatkowe oceny:

    • mibacVap (VAP) – dziecku towarzyszy osoba dorosła.
    • mibacVm6 (V.M.6) – tylko dla osób od 6 lat.
    • mibacVm12 (V.M.12) – ograniczenie do 12 lat.

  • Nowa właściwość invideoPromotion.items[].promotedByContentOwner zasobu channel wskazuje, czy podczas wyświetlania promocji będzie widoczna nazwa właściciela treści. To pole można ustawić tylko wtedy, gdy żądanie API, które określa wartość, jest wysyłane w imieniu właściciela treści. Więcej informacji znajdziesz w parametrze onBehalfOfContentOwner.

1 października 2013

Ta aktualizacja zawiera następujące zmiany:

  • Nowy obiekt auditDetails w zasobie channel zawiera dane kanału, które sieć wielokanałowa (MCN) oceni, gdy zdecyduje się zaakceptować lub odrzucić konkretny kanał. Pamiętaj, że każde żądanie interfejsu API, które pobiera tę część zasobu, musi udostępnić token autoryzacji zawierający zakres https://www.googleapis.com/auth/youtubepartner-channel-audit. Dodatkowo tokeny korzystające z tego zakresu muszą zostać unieważnione, gdy sieć wielokanałowa zdecyduje się zaakceptować lub odrzucić kanał albo w ciągu 2 tygodni od jego przyznania.

  • Właściwość invideoPromotion.items[].id.type zasobu channel obsługuje teraz wartość recentUpload, co oznacza, że promowany produkt to najnowszy film z określonego kanału.

    Domyślnie kanał jest taki sam jak ten, dla którego ustawiono dane promocji In-Video. Możesz jednak promować ostatnio przesłany film z innego kanału, ustawiając wartość nowej właściwości invideoPromotion.items[].id.recentlyUploadedBy na identyfikator tego kanału.

  • Zasób channel zawiera 3 nowe właściwości – brandingSettings.image.bannerTvLowImageUrl, brandingSettings.image.bannerTvMediumImageUrl, brandingSettings.image.bannerTvHighImageUrl – które określają adresy URL obrazów banera wyświetlanych na stronach kanałów w aplikacjach telewizyjnych.

  • Nowa właściwość snippet.liveBroadcastContent w wynikach wyszukiwania wskazuje, czy w filmie lub zasobie kanału są przesyłane treści na żywo. Prawidłowe wartości właściwości to upcoming, active i none.

    • W przypadku zasobu video wartość upcoming oznacza, że film jest transmitowany na żywo, a wartość active oznacza, że trwa transmisja.
    • W przypadku zasobu channel wartość upcoming oznacza, że na kanale zaplanowano transmisję, która nie została jeszcze rozpoczęta, a wartość acive oznacza, że kanał ma trwającą transmisję.

  • W zasobie watermark właściwość targetChannelId została zmieniona z obiektu w ciąg znaków. Zamiast zawierać właściwość podrzędną, która określa identyfikator kanału YouTube, do którego prowadzi obraz związany ze znakiem wodnym, właściwość targetChannelId określa teraz tę wartość. W związku z tym właściwość targetChannelId.value zasobu została usunięta.

  • Metoda thumbnails.set obsługuje teraz parametr onBehalfOfContentOwner, który jest już obsługiwany w przypadku kilku innych metod.

  • Metoda search.list obsługuje teraz parametr eventType, który ogranicza wyszukiwanie tylko do aktywnych, nadchodzących lub zakończonych transmisji.

  • Nowa właściwość contentDetails.contentRating.mibacRating określa ocenę, jaką otrzymał film od włoskiego Ministera dei Beni e delle Attivita Culturali e del Turismo.

  • Interfejs API obsługuje teraz następujące błędy:

    Typ błędu Szczegóły błędu Opis
    badRequest invalidImage Metoda thumbnails.set zwraca ten błąd, jeśli podana zawartość obrazu jest nieprawidłowa.
    forbidden videoRatingDisabled Metoda videos.rate zwraca ten błąd, jeśli właściciel filmu, który został oceniony, wyłączył oceny tego filmu.

27 sierpnia 2013 r.

Ta aktualizacja zawiera następujące zmiany:

  • Nowy zasób watermark identyfikuje obraz, który wyświetla się podczas odtwarzania filmów na danym kanale. Możesz też podać kanał docelowy, do którego będzie prowadził obraz, a także szczegóły czasowe, które określają, kiedy znak wodny będzie się wyświetlać podczas odtwarzania filmu i jak długo będzie on widoczny.

    Metoda watermarks.set przesyła i ustawia znak wodny kanału. Metoda watermarks.unset usuwa obraz znaku wodnego kanału.

    Dokumentacja błędów opisuje komunikaty o błędach, które interfejs API obsługuje w przypadku metod watermarks.set i watermarks.unset.

  • Nowa właściwość statistics.hiddenSubscriberCount zasobu channel zawiera wartość logiczną, która wskazuje, czy liczba subskrybentów kanału jest ukryta. Jeśli więc liczba subskrybentów kanału jest widoczna publicznie, wartość usługi wynosi false.

  • Metoda playlists.list obsługuje teraz parametry onBehalfOfContentOwner i onBehalfOfContentOwnerChannel. Oba parametry są już obsługiwane w przypadku kilku innych metod.

  • Metoda videos.list obsługuje teraz parametr regionCode, który identyfikuje region treści, dla którego należy pobrać wykres. Tego parametru można używać tylko w połączeniu z parametrem chart. Wartością tego parametru jest kod kraju w formacie ISO 3166-1 alfa-2.

  • error documentation opisuje ten nowy typowy błąd żądania, który może wystąpić w przypadku wielu metod API:

    Typ błędu Szczegóły błędu Opis
    forbidden insufficientPermissions Zakresy powiązane z tokenem OAuth 2.0 podanym dla żądania są niewystarczające do uzyskania dostępu do żądanych danych.

15 sierpnia 2013 r.

Ta aktualizacja zawiera następujące zmiany:

  • Obiekt invideoPromotion zasobu channel ma te nowe i zaktualizowane właściwości:

    • Interfejs API obsługuje teraz możliwość wskazania witryny jako promowanego produktu. Aby to zrobić, ustaw wartość właściwości invideoPromotion.items[].id.type na website i użyj nowej właściwości invideoPromotion.items[].id.websiteUrl do określenia adresu URL. Użyj też nowej właściwości invideoPromotion.items[].customMessage, aby zdefiniować niestandardowy komunikat wyświetlany w ramach danej promocji.

      Linki mogą prowadzić do powiązanych witryn, stron sprzedawców lub witryn społecznościowych. Więcej informacji o włączaniu linków do swoich treści znajdziesz w instrukcjach w Centrum pomocy YouTube dotyczących powiązanych witryn i witryn sprzedawców.

      Dodając linki promocyjne, zgadzasz się na to, że te linki nie będą służyć do przekierowywania ruchu do nieautoryzowanych witryn oraz że będą one zgodne z zasadami AdWords, zasadami dotyczącymi reklam w YouTube, wytycznymi dla społeczności i Warunkami korzystania z YouTube.

    • Właściwości dotyczące ustawień czasu wyświetlania elementów promowanych podczas odtwarzania filmu zostały zmienione:

      • Obiekt invideoPromotion.timing został przeniesiony do folderu invideoPromotion.items[].timing. Ten obiekt pozwala teraz dostosować dane czasowe dla każdego promowanego produktu na liście invideoPromotion.items[].

      • Nowy obiekt invideoPromotion.defaultTiming określa domyślne ustawienia czasowe Twojej promocji. Te ustawienia określają, kiedy promowany produkt będzie wyświetlany podczas odtwarzania jednego z filmów na Twoim kanale. Czas domyślny dla każdego promowanego elementu możesz zastąpić za pomocą obiektu invideoPromotion.items[].timing.

      • Nowa właściwość invideoPromotion.items[].timing.durationMs określa czas wyświetlania promocji w milisekundach. Obiekt invideoPromotion.defaultTiming zawiera też pole durationMs, które określa domyślny czas wyświetlania promowanego elementu.

    • Właściwości invideoPromotion.items[].type i invideoPromotion.items[].videoId zostały przeniesione do obiektu invideoPromotion.items[].id.

  • Metoda subscriptions.list obsługuje teraz parametry onBehalfOfContentOwner i onBehalfOfContentOwnerChannel. Oba parametry są już obsługiwane w przypadku kilku innych metod.

  • W odpowiedzi interfejsu API na żądanie thumbnails.set wartość właściwości kind zmieniła się z youtube#thumbnailListResponse na youtube#thumbnailSetResponse.

  • Dodano przykłady kodu w następujących metodach:

    Pamiętaj, że przykład Pythona dla metody playlistItems.insert również został usunięty, ponieważ funkcja, którą pokazuje, jest teraz obsługiwana za pomocą metody videos.rate.

  • error documentation opisuje ten nowy błąd kontekstu żądania, który może wystąpić w przypadku każdej metody API, która obsługuje parametr żądania mine:

    Typ błędu Szczegóły błędu Opis
    badRequest invalidMine Parametru mine nie można używać w żądaniach, w których uwierzytelniony użytkownik jest partnerem YouTube. Musisz usunąć parametr mine, uwierzytelnić się jako użytkownik YouTube, usuwając parametr onBehalfOfContentOwner, lub działać jako jeden z kanałów partnera, podając parametr onBehalfOfContentOwnerChannel, jeśli jest on dostępny dla wywołanej metody.

8 sierpnia 2013 r.

Ta aktualizacja zawiera następujące zmiany:

30 lipca 2013 r.

Ta aktualizacja zawiera następujące zmiany:

  • W zasobie channelBanner wartość właściwości kind została zmieniona z youtube#channelBannerInsertResponse na youtube#channelBannerResource. Ten zasób jest zwracany w odpowiedzi na żądanie channelBanners.insert.

  • Nowa właściwość brandingSettings.channel.profileColor zasobu channel określa rozpoznawalny kolor, który pasuje do zawartości kanału. Wartość właściwości to znak funta (#), po którym następuje 6-znakowy ciąg szesnastkowy, taki jak #2793e6.

  • Interfejs API umożliwia teraz określenie, czy subskrypcja dotyczy wszystkich działań na kanale, czy tylko nowych filmów. Nowa właściwość contentDetails.activityType zasobu subscription określa rodzaje działań, o których subskrybent zostanie powiadomiony. Prawidłowe wartości właściwości to all i uploads.

  • Metoda videos.list obsługuje nowe parametry służące do pobierania wykresu najpopularniejszych filmów w YouTube:

    • Parametr chart wskazuje wykres, który chcesz pobrać. Obecnie jedyną obsługiwaną wartością jest mostPopular. Pamiętaj, że parametr chart jest parametrem filtra, co oznacza, że nie można go używać w tym samym żądaniu co inne parametry filtra (id i myRating).
    • Parametr videoCategoryId wskazuje kategorię wideo, dla której chcesz pobrać wykres. Tego parametru można używać tylko w połączeniu z parametrem chart. Domyślnie wykresy nie są ograniczone do określonej kategorii.

  • Nowa właściwość topicDetails.relevantTopicIds[] zasobu video dostarcza listę identyfikatorów tematów Freebase pasujących do filmu lub jego treści. Tematy tych tematów mogą pojawić się w filmie lub je pojawić.

  • Nazwa właściwości recordingDetails.location.elevation zasobu video została zmieniona na recordingDetails.location.altitude, a właściwość fileDetails.recordingLocation.location.elevation – na fileDetails.recordingLocation.location.altitude.

  • Obiekt contentDetails.contentRating zasobu video określa oceny, które otrzymał film w ramach różnych systemów ocen, w tym oceny MPAA, TVPG itd. W przypadku każdego systemu ocen interfejs API obsługuje teraz wartość oceny wskazującą, że film nie został oceniony. Pamiętaj, że w przypadku ocen MPMP ocena „Bez oceny” jest często używana w przypadku nieobciętych wersji filmów, w przypadku których skrócona wersja filmu otrzymała oficjalną ocenę.

  • Nowa właściwość contentDetails.contentRating.ytRating zasobu video określa treści z ograniczeniem wiekowym. Wartość właściwości będzie wynosić ytAgeRestricted, jeśli YouTube uzna, że film zawiera treści nieodpowiednie dla użytkowników poniżej 18 roku życia. Jeśli brak jest właściwości lub jest ona pusta, oznacza to, że treść nie została objęta ograniczeniem wiekowym.

  • Parametr mySubscribers metody channels.list został wycofany. Aby pobrać listę subskrybentów kanału uwierzytelnionego użytkownika, użyj metody subscriptions.list i parametru mySubscribers.

  • Metody channelBanners.insert, channels.update, videos.getRating i videos.rate obsługują teraz parametr onBehalfOfContentOwner. Ten parametr wskazuje, że uwierzytelniony użytkownik działa w imieniu właściciela treści wskazanego w wartości parametru.

  • Dokumentacja metody channels.update została zaktualizowana, aby uwzględniała fakt, że ta metoda może być używana do aktualizowania obiektu brandingSettings zasobu channel i jego właściwości podrzędnych. Dokumentacja zawiera też zaktualizowaną listę właściwości, które można ustawić dla obiektu invideoPromotion zasobu channel.

  • error documentation opisuje te nowe błędy:

    Typ błędu Szczegóły błędu Opis
    forbidden accountDelegationForbidden Ten błąd nie dotyczy konkretnej metody interfejsu API. Oznacza on, że uwierzytelniony użytkownik nie jest upoważniony do działania w imieniu określonego konta Google.
    forbidden authenticatedUserAccountClosed Ten błąd nie dotyczy konkretnej metody interfejsu API. Oznacza to, że konto uwierzytelnionego użytkownika YouTube zostało zamknięte. Jeśli użytkownik działa w imieniu innego konta Google, błąd ten oznacza, że konto jest zamknięte.
    forbidden authenticatedUserAccountSuspended Ten błąd nie dotyczy konkretnej metody interfejsu API. Oznacza to, że konto YouTube uwierzytelnionego użytkownika jest zawieszone. Jeśli użytkownik działa w imieniu innego konta Google, błąd ten oznacza, że konto zostało zawieszone.
    forbidden authenticatedUserNotChannel Ten błąd nie dotyczy konkretnej metody interfejsu API. Wskazuje, że serwer interfejsu API nie może zidentyfikować kanału powiązanego z żądaniem API. Jeśli żądanie jest autoryzowane i używa parametru onBehalfOfContentOwner, ustaw też parametr onBehalfOfContentOwnerChannel.
    forbidden cmsUserAccountNotFound Ten błąd nie dotyczy konkretnej metody interfejsu API. Użytkownik systemu CMS nie może działać w imieniu określonego właściciela treści.
    notFound contentOwnerAccountNotFound Ten błąd nie dotyczy konkretnej metody interfejsu API. Nie znaleziono podanego konta właściciela treści.
    badRequest invalidPart Ten błąd nie dotyczy konkretnej metody interfejsu API. Parametr part żądania określa części, których nie można zapisać jednocześnie.
    badRequest videoChartNotFound Metoda videos.list zwraca ten błąd, gdy żądanie określa nieobsługiwany lub niedostępny wykres wideo.
    notFound videoNotFound Metoda videos.update zwraca ten błąd, wskazując, że nie można znaleźć filmu, który próbujesz zaktualizować. Sprawdź w treści żądania wartość właściwości id.

10 czerwca 2013 r.

Ta aktualizacja zawiera następujące zmiany:

  • Nowy parametr forUsername metody channels.list pozwala pobrać informacje o kanale, podając jego nazwę użytkownika YouTube.

  • Metoda activities.list obsługuje teraz parametr regionCode, który nakazuje interfejsowi API zwrócenie wyników odpowiednich dla wybranego kraju. YouTube używa tej wartości, gdy wcześniejsza aktywność autoryzowanego użytkownika w YouTube nie dostarcza wystarczających informacji do wygenerowania kanału aktywności.

  • Zasoby playlisty zawierają teraz właściwość snippet.tags. Usługa zostanie zwrócona tylko autoryzowanym użytkownikom, którzy pobierają dane o swoich playlistach. Autoryzowani użytkownicy mogą też ustawiać tagi playlisty podczas wywoływania metod playlists.insert lub playlists.update.

  • Parametr onBehalfOfContentOwner, który był wcześniej obsługiwany w metodach channels.list i search.list, jest teraz obsługiwany także w metodach videos.insert, videos.update i videos.delete. Pamiętaj, że gdy ten parametr jest używany w wywołaniu metody videos.insert, żądanie musi też określać wartość nowego parametru onBehalfOfContentOwnerChannel, który identyfikuje kanał, do którego film zostanie dodany. Kanał musi być połączony z właścicielem treści określonym przez parametr onBehalfOfContentOwner.

    Ten parametr wskazuje, że dane logowania żądania autoryzacji identyfikują użytkownika YouTube CMS, który działa w imieniu właściciela treści określonego w wartości parametru. Konto CMS, za pomocą którego użytkownik się uwierzytelni, musi być połączone z określonym właścicielem treści w YouTube.

    Ten parametr jest przeznaczony dla partnerów w sieci reklamowej, którzy mają wiele kanałów YouTube i zarządzają nimi. Ten parametr umożliwia partnerom uwierzytelnianie raz i dostęp do wszystkich danych filmów i kanału bez konieczności podawania danych uwierzytelniających dla każdego kanału oddzielnie.

    W szczególności w przypadku tej wersji parametr umożliwia teraz partnerowi wstawianie, aktualizowanie i usuwanie filmów w jego kanałach w YouTube.

  • error documentation opisuje te nowe błędy:

    Typ błędu Szczegóły błędu Opis
    forbidden insufficientCapabilities Ten błąd nie dotyczy konkretnej metody interfejsu API. Wskazuje ona, że użytkownik systemu CMS wywołujący interfejs API nie ma wystarczających uprawnień do wykonania żądanej operacji. Ten błąd jest związany z użyciem parametru onBehalfOfContentOwner, który jest obsługiwany przez kilka metod interfejsu API.
    unauthorized authorizationRequired Metoda activities.list zwraca ten błąd, gdy żądanie używa parametru home, ale nie jest prawidłowo autoryzowane.
  • W zasobie channels właściwość invideoPromotion.channelId została usunięta, ponieważ identyfikator kanału jest już określony za pomocą właściwości id zasobu.

  • W nowym przewodniku Praca z identyfikatorami kanałów wyjaśniamy, jak interfejs API używa identyfikatorów kanałów. Przewodnik może być szczególnie przydatny dla deweloperów, którzy przenieśli się z poprzedniej wersji interfejsu API i mają aplikacje żądające treści dla użytkownika default lub takie, które zakładają, że każdy kanał YouTube ma unikalną nazwę użytkownika, która już nie jest taka sama.

22 maja 2013 r.

Ta aktualizacja zawiera następujące zmiany:

14 maja 2013 r.

Ta aktualizacja zawiera następujące zmiany:

  • Oddzielne strony zawierają teraz listę przykładów kodu w językach Java, .NET, PHP i Ruby.

  • Na stronie z przykładami kodu Python znajdują się teraz przykłady dodawania subskrypcji, tworzenia playlisty i aktualizowania filmu.

10 maja 2013 r.

Ta aktualizacja zawiera następujące zmiany:

8 maja 2013 r.

Ta aktualizacja zawiera następujące zmiany:

  • Zasoby kanału obsługują teraz obiekt inVideoPromotion, który obejmuje informacje o kampanii promocyjnej powiązanej z kanałem. Podczas odtwarzania filmów użytych na kanale właściciel kanału może wykorzystać kampanię promocyjną In-Video do wyświetlania miniatur obrazów promowanego filmu w odtwarzaczu.

    Aby je pobrać, w żądaniu channels.list dodaj parametr invideoPromotion w wartości parametru part.

  • Nowa metoda channels.update może być używana do aktualizowania danych kampanii wideo In-Video. Metoda obsługuje tylko aktualizacje części invideoPromotion zasobu channel i nie obsługuje jeszcze aktualizacji innych części tego zasobu.

2 maja 2013 r.

Ta aktualizacja zawiera następujące zmiany:

  • Zasoby kanału obsługują teraz właściwość status.isLinked, która wskazuje, czy dane kanału identyfikują użytkownika, który jest już połączony z nazwą użytkownika YouTube lub kontem Google+. Użytkownik, który ma jeden z tych linków, ma już publiczną tożsamość w YouTube, co jest wymagane do wykonania kilku czynności, takich jak przesyłanie filmów.

  • Zasoby subskrypcji obsługują teraz część subscriberSnippet. Ten obiekt zawiera dane fragmentu kodu kanału subskrybenta.

  • Interfejs API obsługuje teraz metodę videos.getRating, która pobiera oceny, które użytkownik uwierzytelnił, do listy z co najmniej jednym filmem.

  • Nowy parametr myRating metody videos.list pozwala pobrać listę filmów, które zostały uwierzytelnione przez użytkownika z oceną like lub dislike.

    Parametry myRating i id są teraz uznawane za parametry filtra, co oznacza, że żądanie API musi określać dokładnie jeden z tych parametrów. Wcześniej parametr id był wymagany w przypadku tej metody.

    Metoda zwraca błąd forbidden w przypadku żądań, które próbują pobrać informacje o ocenie filmu, ale nie mają odpowiednich uprawnień.

  • W wyniku wprowadzenia parametru myRating metoda videos.list została też zaktualizowana, tak aby obsługiwała podział na strony. Pamiętaj, że parametry podziału na strony są obsługiwane tylko w przypadku żądań korzystających z parametru myRating. (W żądaniach z parametrem id parametry wyświetlania i informacje o tempie nie są obsługiwane).

    • Parametr maxResults określa maksymalną liczbę filmów, które interfejs API może zwrócić w zestawie wyników, a parametr pageToken wskazuje konkretną stronę w zestawie wyników, który chcesz pobrać.

    • Zasób youtube#videoListResponse, który jest zwracany w odpowiedzi na żądanie videos.list, zawiera teraz obiekt pageInfo, który zawiera takie informacje jak łączna liczba wyników i liczba wyników uwzględnionych w bieżącym zestawie wyników. Zasób youtube#videoListResponse może też zawierać właściwości nextPageToken i prevPageToken, a każda z nich może być tokenem służącym do pobierania określonych stron z zestawu wyników.

  • Metoda videos.insert obsługuje te nowe parametry:

    • autoLevels – ustaw tę wartość na true, by YouTube automatycznie ulepszył oświetlenie i kolor filmu.
    • stabilize – ustaw wartość tego parametru na true, by polecenie YouTube było dostosowywane przez usuwanie drgań spowodowane przez ruchy kamery.

  • Właściwość channelTitle została dodana do snippet dla tych zasobów:

    • playlistItem – właściwość określa nazwę kanału, który dodał element playlisty.
    • playlist – właściwość określa nazwę kanału, który utworzył playlistę
    • subscription – właściwość określa nazwę kanału, który subskrybujesz.

  • Dodano przykłady kodu w następujących metodach:

  • Nowy parametr mySubscribers metody subscriptions.list pozwala pobrać listę subskrybentów obecnie uwierzytelnionego użytkownika. Tego parametru można używać tylko w żądaniu autoryzacji.

    Uwaga: ta funkcja ma zastąpić parametr mySubscribers, który jest obecnie obsługiwany w przypadku metody channels.list. Ten parametr zostanie wycofany.

  • W zasobie video wartość właściwości unspecified nie jest już potencjalną wartością żadnej z tych właściwości:

  • Żądania do interfejsu API, które zawierają nieoczekiwany parametr, teraz zwracają błąd badRequest, a jego przyczynę to unexpectedParameter.

  • Zaktualizowano błąd zwracany przez metodę playlistItems.insert, gdy playlista zawiera już maksymalną dozwoloną liczbę elementów. Błąd jest teraz raportowany jako błąd forbidden, a przyczyna to playlistContainsMaximumNumberOfVideos.

19 kwietnia 2013 r.

Ta aktualizacja zawiera następujące zmiany:

  • Nowa metoda videos.rate pozwala użytkownikowi ustawić ocenę like lub dislike na filmie oraz usunąć ocenę z filmu.

    Zaktualizowaliśmy też dokumentację błędów, by wyświetlić listę błędów, które interfejs API może zwrócić w odpowiedzi na wywołanie metody videos.rate.

  • W dokumentacji interfejsu API są teraz rozpoznawane miniatury, jako oddzielne zasoby. Nowa metoda thumbnails.set umożliwia przesyłanie niestandardowych miniatur filmów do YouTube i ustawianie ich dla poszczególnych filmów.

    Zaktualizowaliśmy też dokumentację błędów, by wyświetlić listę błędów, które interfejs API może zwrócić w odpowiedzi na wywołanie metody thumbnails.set.

    Ta zmiana nie ma wpływu na istniejące zasoby, które zwracają obrazy miniatur. Obrazy miniatur są zwracane w tych zasobach w taki sam sposób jak wcześniej, choć w dokumentacji znajduje się teraz lista nazw różnych rozmiarów miniatur, które mogą zostać zwrócone przez interfejs API.

  • Nowa część brandingSettings zasobu channel określa ustawienia, tekst i obrazy na stronie kanału i stronach odtwarzania filmów.

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

    • Nowy obiekt status zawiera informacje o stanie elementu playlisty, a właściwość status.privacyStatus wskazuje stan prywatności tego elementu.

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

  • Dokumentacja metody playlistItems.update została zaktualizowana w celu odzwierciedlenia, że właściwość snippet.resourceId musi być określona w zasobie przesłanym jako treść żądania.

  • Metoda search.list obsługuje teraz te funkcje:

    • Nowy parametr forMine ogranicza wyszukiwanie tylko do filmów uwierzytelnionego użytkownika.

    • Parametr order obsługuje teraz możliwość sortowania wyników alfabetycznie według tytułu (order=title) lub liczby filmów w kolejności malejącej (order=videoCount).

    • Nowy parametr safeSearch wskazuje, czy wyniki wyszukiwania powinny zawierać treści podlegające ograniczeniom.

  • Metoda videos.insert obsługuje kilka nowych błędów wymienionych w tabeli poniżej:

    Typ błędu Szczegóły błędu Opis
    badRequest invalidCategoryId Właściwość snippet.categoryId określa nieprawidłowy identyfikator kategorii. Aby pobrać obsługiwane kategorie, użyj metody videoCategories.list.
    badRequest invalidRecordingDetails metadata specifies invalid recording details.
    badRequest invalidVideoGameRating Metadane żądania wskazują nieprawidłową ocenę gry wideo.
    badRequest invalidVideoMetadata Metadane żądania są nieprawidłowe.
  • Parametr onBehalfOfContentOwner został usunięty z listy obsługiwanych parametrów metod videos.update i videos.delete.

12 marca 2013 r.

Ta aktualizacja zawiera następujące zmiany:

  • Właściwość channelTitle została dodana do snippet dla tych zasobów:

    • activity – właściwość określa nazwę kanału odpowiedzialnego za działanie.
    • search – właściwość określa nazwę kanału powiązanego z zasobem, który identyfikuje wynik wyszukiwania.
    • video – właściwość określa nazwę kanału, który przesłał film.

  • Metoda search.list obsługuje te nowe parametry:

    • Parametr channelType pozwala ograniczyć wyszukiwanie wszystkich kanałów lub tylko programy.

    • Parametr videoType pozwala ograniczyć wyszukiwanie filmów lub wszystkich filmów albo tylko odcinków.

  • Zaktualizowano definicję części recordingDetails zasobu video, aby zwrócić uwagę, że obiekt zostanie zwrócony tylko w przypadku, gdy ustawiono dane geolokalizacji lub czas nagrywania.

  • Metoda playlistItems.update zwraca teraz błąd invalidSnippet, który jest zwracany, jeśli żądanie interfejsu API nie określa prawidłowego fragmentu.

  • Kilka metod interfejsu API obsługuje nowe parametry przeznaczone wyłącznie dla dostawców treści YouTube. Dostawcy treści w YouTube to między innymi studia filmowe i telewizyjne, wytwórnie płytowe oraz inni twórcy treści, którzy udostępniają swoje treści w YouTube.

    • Parametr onBehalfOfContentOwner wskazuje, że dane logowania żądania autoryzacji identyfikują użytkownika YouTube CMS, który działa w imieniu właściciela treści określonym w wartości parametru. Konto CMS, za pomocą którego użytkownik się uwierzytelni, musi być połączone z określonym właścicielem treści w YouTube.

      Ten parametr jest przeznaczony dla partnerów w sieci reklamowej, którzy mają wiele kanałów YouTube i zarządzają nimi. Ten parametr umożliwia partnerom uwierzytelnianie raz i dostęp do wszystkich danych filmów i kanału bez konieczności podawania danych uwierzytelniających dla każdego kanału oddzielnie.

      Metody channels.list, search.list, videos.delete, videos.list i videos.update obsługują ten parametr.

    • Parametr managedByMe, który jest obsługiwany przez metodę channels.list, nakazuje interfejsowi API zwracanie wszystkich kanałów należących do właściciela treści określonego przez parametr onBehalfOfContentOwner.

    • Parametr forContentOwner (obsługiwany przez metodę search.list) umożliwia interfejsowi API ograniczenie wyników wyszukiwania tylko do zasobów należących do właściciela treści określonego przez parametr onBehalfOfContentOwner.

25 lutego 2013 r.

Ta aktualizacja zawiera następujące zmiany:

  • Interfejs API obsługuje kilka nowych części i właściwości video zasobów:

    • Nowe części fileDetails, processingDetails i suggestions zawierają informacje o przesyłanych filmach. Te dane są bardzo przydatne w aplikacjach, które umożliwiają przesyłanie filmów, i zawierają następujące dane:

      • stan i postęp przetwarzania
      • podczas przetwarzania filmu wystąpiły błędy lub wystąpiły inne problemy.
      • dostępność miniatur
      • sugestie dotyczące poprawy jakości filmów lub metadanych,
      • informacje na temat oryginalnego pliku przesłanego do YouTube;

      Tylko właściciel filmu może pobrać wszystkie te elementy. Poniższa lista zawiera krótkie omówienie nowych części, a w dokumentacji zasobów video znajdziesz informacje o wszystkich właściwościach poszczególnych elementów.

      • Obiekt fileDetails zawiera informacje o pliku wideo, który został przesłany do YouTube, w tym rozdzielczość, czas trwania, kodeki audio i wideo, szybkość transmisji bitów oraz inne.

      • Obiekt processingProgress zawiera informacje o postępach YouTube w przetwarzaniu przetworzonego pliku wideo. Właściwości obiektu określają obecny stan przetwarzania i szacują pozostały czas do zakończenia przetwarzania filmu. Ta część określa też, czy w przypadku danego filmu są dostępne różne typy danych lub treści, takie jak szczegóły plików czy miniatury.

        Celem tego obiektu jest ankieta, aby przesyłający mógł śledzić postępy procesu przetwarzania przesłanego pliku.

      • Obiekt suggestions zawiera sugestie, które pozwalają poprawić jakość filmu lub metadane przesłanego filmu.

    • Część contentDetails zawiera 4 nowe właściwości. Te właściwości można pobrać przy użyciu nieuwierzytelnionych żądań.

      • dimension – wskazuje, czy film jest dostępny w 2D i 3D.
      • definition – wskazuje, czy film jest dostępny w standardowej, czy wysokiej rozdzielczości.
      • caption – wskazuje, czy w przypadku danego filmu dostępne są napisy.
      • licensedContent – wskazuje, czy film zawiera treści, do których roszczenie zgłosił partner w sieci reklamowej YouTube.

    • Część status zawiera 2 nowe właściwości. Właściciele filmów mogą ustawiać wartości dla obu właściwości podczas wstawiania lub aktualizowania filmu. Te właściwości można też pobierać przy użyciu nieuwierzytelnionych żądań.

      • embeddable – wskazuje, czy film może być umieszczony w innej witrynie.
      • license – określa licencję na film, Prawidłowe wartości to creativeCommon i youtube.

  • Definicja parametru part została zaktualizowana w metodach videos.list, videos.insert i videos.update, tak aby uwzględniały nowo dodane części opisane powyżej oraz element recordingDetails, który został nieumyślnie pominięty.

  • Nowa właściwość contentDetails.googlePlusUserId zasobu channel określa identyfikator profilu Google+ powiązany z kanałem. Ta wartość może posłużyć do wygenerowania linku do profilu Google+.

  • Każdy obiekt miniatury obrazu określa teraz szerokość i wysokość obrazu. Miniatury są obecnie zwracane w zasobach activity, channel, playlist, playlistItem, search result, subscription i video.

  • Tag playlistItems.list obsługuje teraz parametr videoId, którego można używać w połączeniu z parametrem playlistId, aby pobrać tylko element playlisty reprezentujący określony film.

    Interfejs API zwraca błąd notFound, jeśli nie można znaleźć filmu, który znajduje się na playliście.

  • Dokumentacja błędów opisuje nowy błąd forbidden, który wskazuje, że żądanie nie zostało prawidłowo autoryzowane dla żądanego działania.

  • Właściwość snippet.channelId zasobu channel została usunięta. Właściwość id zasobu zawiera tę samą wartość.

Styczeń 30, 2013

Ta aktualizacja zawiera następujące zmiany:

  • Nowa strona error zawiera listę błędów, które interfejs API może zwrócić. Strona zawiera błędy ogólne, które mogą wystąpić w przypadku wielu metod interfejsu API, a także błędy dotyczące poszczególnych metod.

Styczeń 16, 2013

Ta aktualizacja zawiera następujące zmiany:

  • Przykładowy kod jest teraz dostępny w przypadku metod i języków wymienionych na liście poniżej:

  • Zasób activity może teraz zgłosić działanie channelItem, które ma miejsce, gdy YouTube doda film do kanału wygenerowanego automatycznie. (Algorytmy YouTube identyfikują tematy, które wykazują znaczną obecność w witrynie YouTube, i automatycznie generują kanały dotyczące tych tematów).

  • Zaktualizowano te parametry: search.list

    • Parametr q nie jest już oznaczony jako filtr. Oznacza to, że...
    • Nazwa parametru relatedToVideo została zmieniona na relatedToVideoId.
    • Parametr published został zastąpiony 2 nowymi parametrami: publishedAfter i publishedBefore, które opisaliśmy poniżej.

  • Metoda search.list obsługuje te nowe parametry:

    Nazwa parametru Wartość Opis
    channelId string Zwraca zasoby utworzone przez podany kanał.
    publishedAfter datetime Zwróć zasoby utworzone po określonym czasie.
    publishedBefore datetime Zwróć zasoby utworzone przed określonym czasem.
    regionCode string Zwróć zasoby dla określonego kraju.
    videoCategoryId string Filtruj wyniki wyszukiwania filmów, tak aby zawierały tylko filmy powiązane z określoną kategorią wideo.
    videoEmbeddable string Filtruj wyniki wyszukiwania filmów, tak aby wyświetlały się tylko filmy, które można odtwarzać w osadzonym odtwarzaczu na stronie internetowej. Ustaw wartość parametru na true, aby pobierać tylko filmy wideo umieszczone na stronie.
    videoSyndicated string Przefiltruj wyniki wyszukiwania tak, aby zawierały tylko filmy, które można odtwarzać poza YouTube.com. Ustaw wartość parametru na true, aby pobierać tylko dystrybuowane filmy.
  • Kilka zasobów interfejsu API obsługuje nowe właściwości. Poniższa tabela przedstawia zasoby i ich nowe właściwości:

    Zasób Nazwa usługi Wartość Opis
    activity contentDetails.playlistItem.playlistItemId string Identyfikator playlisty, do którego YouTube przypisał unikalny identyfikator.
    activity contentDetails.channelItem object Obiekt zawierający informacje o zasobie, który został dodany do kanału. Ta właściwość jest dostępna tylko wtedy, gdy snippet.type to channelItem.
    activity contentDetails.channelItem.resourceId object Obiekt identyfikujący zasób, który został dodany do kanału. Podobnie jak inne właściwości resourceId zawiera właściwość kind, która określa typ zasobu, np. film lub playlistę. Zawiera on też dokładnie jedną z kilku właściwości – videoId, playlistId itp. – które określają unikalny identyfikator tego zasobu.
    channel status object Ten obiekt zawiera informacje o stanie prywatności kanału.
    channel status.privacyStatus string Stan prywatności kanału. Prawidłowe wartości to private i public.
    playlist contentDetails object Ten obiekt zawiera metadane dotyczące treści playlisty.
    playlist contentDetails.itemCount unsigned integer Liczba filmów na playliście.
    playlist player object Zawiera on informacje, których możesz użyć do odtworzenia playlisty w odtwarzaczu umieszczonym na stronie internetowej.
    playlist player.embedHtml string Tag <iframe>, który zawiera odtwarzacz odtwarzający playlistę.
    video recordingDetails object Ten obiekt zawiera informacje, które identyfikują lub opisują miejsce i godzinę nagrania filmu.
    video recordingDetails.location object Ten obiekt zawiera informacje geolokalizacyjne powiązane z filmem.
    video recordingDetails.location.latitude double Szerokość geograficzna w stopniach.
    video recordingDetails.location.longitude double Długość geograficzna w stopniach.
    video recordingDetails.location.elevation double Wysokość nad Ziemią (w metrach).
    video recordingDetails.locationDescription string Opis lokalizacji, w której nagrano film.
    video recordingDetails.recordingDate datetime Data i godzina nagrania filmu. Wartość ma format ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ).
  • Dokumentacja kilku metod interfejsu API wskazuje teraz właściwości, które muszą być określone w treści żądania lub aktualizowane na podstawie wartości w treści żądania. W tabeli poniżej wymieniono te metody oraz informacje o wymaganych i modyfikowanych właściwościach.

    Uwaga: w przypadku innych metod dokumentacja może zawierać już wykaz wymaganych i możliwych do modyfikacji właściwości.

    Metoda Usługi
    activities.insert Wymagane właściwości:
    • snippet.description
    Zmienne właściwości:
    • snippet.description
    • contentDetails.bulletin.resourceId
    playlists.update Wymagane właściwości:
    • id
    playlistItems.update Wymagane właściwości:
    • id
    videos.update Wymagane właściwości:
    • id
  • Interfejs API nie zgłasza już błędów playlistAlreadyExists, jeśli próbujesz utworzyć lub zaktualizować playlistę, która ma taki sam tytuł jak playlista, która już istnieje w tym samym kanale.

  • Niektóre metody interfejsu API obsługują nowe typy błędów. Poniższa tabela przedstawia metodę i nowo obsługiwane błędy:

    Metoda Typ błędu Szczegóły błędu Opis
    guideCategories.list notFound notFound Nie można znaleźć kategorii przewodnika oznaczonej parametrem id. Aby pobrać listę prawidłowych wartości, użyj metody guideCategory.list.
    playlistItems.delete forbidden playlistItemsNotAccessible Żądanie nie jest prawidłowo autoryzowane do usunięcia wskazanego elementu playlisty.
    videoCategories.list notFound videoCategoryNotFound Nie można znaleźć kategorii filmu wskazywanej przez parametr id. Aby pobrać listę prawidłowych wartości, użyj metody videoCategory.list.