Historia wersji

Ta strona zawiera listę zmian w YouTube Data API (v3) i aktualizacji dokumentacji.

2 listopada 2026 r.

Filmy przesłane za pomocą metody videos.insert z niezweryfikowanych projektów interfejsu API nie są już ograniczone do trybu wyświetlania prywatnego. Ta zmiana odwraca zasadę ogłoszoną 28 lipca 2020 r., która ograniczała filmy przesłane z niezweryfikowanych projektów interfejsu API utworzonych po tej dacie do trybu wyświetlania prywatnego, dopóki projekt nie przeszedł audytu.

Jeśli nie określisz wartości właściwości status.privacyStatus w żądaniu videos.insert, stan prywatności przesłanego filmu będzie domyślnie ustawiony na public. Niektóre przesłane treści mogą domyślnie mieć ustawienie private na podstawie ustawień konta twórcy, jak wyjaśniono w Centrum pomocy YouTube.

15 października 2026 r.

Metoda videos.list została doprecyzowana, aby zaznaczyć, że właściwości status.selfDeclaredMadeForKids i status.madeForKids są aktualizowane tylko wtedy, gdy są określone w żądaniu, i nie są zastępowane, jeśli zostaną pominięte.

30 września 2026 r.

Definicja zasobu comments została zaktualizowana i zawiera teraz nową właściwość snippet.imageUrl, która podaje adres URL obrazu lub animowanego GIF-a dołączonego do komentarza.

Ta funkcja będzie dostępna dla wszystkich użytkowników w listopadzie 2026 r.

14 września 2026 r.

Ta aktualizacja zawiera następujące zmiany:

  • Zaktualizowaliśmy opis metody thumbnails.set, aby uwzględnić informację o tym, że maksymalny rozmiar przesyłanych miniatur został zwiększony z 2 MB do 50 MB.
  • Zaktualizowaliśmy opis metody playlistImages.insert, aby uwzględnić informację, że maksymalny rozmiar przesyłanych obrazów został zwiększony z 2 MB do 50 MB.

11 września 2026 r.

Definicja właściwości snippet.thumbnails.(key) została zaktualizowana w dokumentacji referencyjnej zasobów activities, liveBroadcasts, playlistItems, playlists, search i videos, aby uwzględnić, że w przypadku niektórych filmów dostępne są teraz miniatury w wyższej rozdzielczości: fhd (1080p), qhd (1440p) i uhd (4K).

1 września 2026 r.

Metoda videos.getRating akceptuje teraz zakres autoryzacji https://www.googleapis.com/auth/youtube.readonly.

27 sierpnia 2026 r.

YouTube ujednolici sposób zliczania wyświetleń publicznych we wszystkich formatach wideo: długich filmach, transmisjach na żywo i Shorts. YouTube będzie zliczać wyświetlenia publiczne od momentu rozpoczęcia odtwarzania filmu.

Nie ma to wpływu na możliwość zarabiania ani na większość podstawowych wskaźników skuteczności, ponieważ są one powiązane ze wskaźnikami zaangażowania. Zarobki twórców nadal będą zależeć od „wyświetleń filmów Short z zaangażowaniem” i „godzin czasu oglądania z zaangażowaniem”, które możesz sprawdzić w Statystykach YouTube > Tryb zaawansowany.

Wymagania programu partnerskiego YouTube nie ulegają zmianie. Wymagania dotyczące udziału w programie partnerskim YouTube będą teraz określane jako „kwalifikujące się wyświetlenia filmów Short” i „kwalifikujący się czas oglądania w godzinach” (wcześniej „zweryfikowane wyświetlenia publicznych filmów Short” i „zweryfikowane godziny czasu oglądania publicznych filmów”).

Więcej informacji znajdziesz w artykule Analiza skuteczności treści w YouTube.

Wskaźnik Stan Aktywator Używane do
Wyświetl Zaktualizowano Film jest odtwarzany od pierwszej klatki (obejmuje to autoodtwarzanie, najechanie kursorem i kliknięcie/dotknięcie, aby odtworzyć). Standardowa liczba wyświetleń publicznych.
Wyświetlenie angażujące Bez zmian Odtwarzanie jest kontynuowane po pierwszej klatce lub użytkownik klika, aby odtworzyć. Zarabianie w ramach programu partnerskiego YouTube, większość podstawowych statystyk (współczynnik klikalności, średni czas oglądania) i raportowanie zaangażowania.
Wyświetlenie miniatury Bez zmian Miniatura jest wyświetlana bez interakcji lub autoodtwarzania. Mierzy ekspozycję i opakowanie na poziomie kanału.

Aktualizacje dokumentacji interfejsu API: zaktualizowaliśmy opis pola viewCount w dokumentacji referencyjnej dotyczącej kanałów i filmów.

6 sierpnia 2026 r.

Ta aktualizacja zawiera następujące zmiany:

  • Wszystkie odwołania do pól contentDetails.like i contentDetails.favorite w activities.contentDetails zostały usunięte z publicznej dokumentacji, ponieważ te pola nie są zwracane przez interfejs API.

7 lipca 2026 r.

Ta aktualizacja zawiera następujące zmiany:

Interfejs API obsługuje teraz część brandPartner w zasobie videos. Ta część zawiera informacje o marce połączonej z filmem w ramach dostępu marki przyznanego przez twórcę.

Część brandPartner można określić podczas wywoływania tych metod:

Obiekt brandPartner zawiera te pola:

  • channelId: identyfikator kanału zewnętrznego marki, z którą współpracujesz.
  • channelHandle: nick kanału marki.
Podczas ustanawiania połączenia należy ustawić channelId lub channelHandle, ale w odpowiedzi zwracany jest tylko parametr channelId.

23 czerwca 2026 r.

Ta aktualizacja zawiera następujące zmiany:

  • Wszystkie odwołania do typów zasobów messageDeletedEvent i messageRetractedEvent (oraz odpowiadających im obiektów messageDeletedDetails i messageRetractedDetails) w liveChatMessages zostały usunięte, ponieważ te zdarzenia nie są zwracane przez interfejs API.

3 czerwca 2026 r.

Ta aktualizacja zawiera następujące zmiany:

Interfejs API obsługuje teraz nową metodę videos.batchGetStats, która pobiera listę statystyk filmów pasujących do parametrów żądania do interfejsu API.

Wywołanie tej metody ma koszt limitu wynoszący 1 jednostkę w ramach własnego zasobnika limitu szczegółowego. Domyślny limit dla tej metody to 10 000 jednostek dziennie.

1 czerwca 2026 r.

Interfejs YouTube Data API przechodzi na system szczegółowych limitów, który obejmuje mniejsze zestawy metod, zaczynając od videos.insert i search.list.

Ta aktualizacja upraszcza proces zwiększania limitów, umożliwiając YouTube łatwiejsze weryfikowanie i zatwierdzanie próśb o zatwierdzenie na podstawie użycia określonych metod. Ta zmiana jest też kluczowym elementem naszego zobowiązania do zapewnienia stabilności i bezpieczeństwa platformy. Dzięki niej każdy deweloper będzie mógł działać w chronionym ekosystemie, zachowując jednocześnie poziomy dostępu niezbędne do zatwierdzonych przypadków użycia.

Wywołania interfejsu API do metod videos.insert i search.list będą obciążać odpowiednie zasobniki limitów. Wywołania interfejsu API do wszystkich innych metod będą obciążać istniejący zasobnik limitu. Deweloperzy mogą wyświetlać limity w konsoli Google Cloud i prosić o dodatkowy limit za pomocą formularza prośby o zwiększenie limitu.

4 grudnia 2025 r.

Dokumentacja YouTube Data API i kalkulator limitów zostały zaktualizowane, aby odzwierciedlić zmianę kosztu limitu przesyłania filmu z około 1600 jednostek do około 100 jednostek.

10 lipca 2025 r.

21 lipca 2025 r. YouTube dostosuje treści zwracane przez zestawienie mostPopular metody video.list. W przeszłości wykres mostPopular odzwierciedlał filmy, które znajdowały się na liście Na czasie. Teraz na karcie mostPopular będą wyświetlane filmy z list Muzyka, Filmy i Gry zyskujące popularność. Ta zmiana interfejsu API jest związana z wycofaniem karty Na czasie na YouTube.

26 marca 2025 r.

Od 31 marca 2025 r. YouTube zmieni sposób zliczania wyświetleń filmów Short. W przeszłości w przypadku filmów Short wyświetlenie było zliczane, gdy film był odtwarzany przez określoną liczbę sekund. Teraz liczba wyświetleń będzie wskazywała to, ile razy użytkownicy rozpoczęli lub ponowili odtwarzanie filmu Short, bez wymogu minimalnego czasu oglądania. Więcej informacji

Od 31 marca 2025 r. te pola w interfejsie Data API będą zwracać liczbę wyświetleń filmów Short zgodnie z tą zmianą:

  • channels.statistics.viewCount
  • videos.statistics.viewCount

30 października 2024 r.

Interfejs API obsługuje teraz możliwość identyfikowania filmów, które zawierają realistyczne treści zmodyfikowane lub wygenerowane syntetycznie (A/S). Dowiedz się więcej o zasadach YouTube dotyczących treści związanych z napaścią na tle seksualnym.

Przykłady treści ASMR obejmują filmy, które:

  • Utworzenie treści przedstawiających prawdziwą osobę, która mówi lub robi coś, czego wcale nie powiedziała ani nie zrobiła
  • Zmodyfikowanie materiału pokazującego prawdziwe wydarzenie lub miejsce
  • Wygenerowanie realistycznie wyglądającej sceny, która faktycznie nie miała miejsca

Aby wskazać, czy film zawiera treści dla dorosłych, ustaw właściwość status.containsSyntheticMedia. Tę właściwość można ustawić podczas wywoływania metod videos.insert lub videos.update. Jeśli jest ustawiona, właściwość jest zwracana w zasobie video.

30 kwietnia 2024 r.

Uwaga: to jest ogłoszenie o wycofaniu funkcji.

Ta aktualizacja zawiera następujące zmiany:

Interfejs API nie obsługuje już możliwości wstawiania i pobierania dyskusji na kanale. Ta zmiana jest zgodna z funkcjami obsługiwanymi na stronie YouTube, która nie obsługuje publikowania komentarzy na kanałach.

13 marca 2024 r.

Uwaga: to jest ogłoszenie o wycofaniu funkcji.

Ta aktualizacja zawiera następujące zmiany:

Parametr sync metod captions.insert i captions.update został wycofany. YouTube przestanie obsługiwać parametr od 12 kwietnia 2024 r.

W wyniku tej zmiany deweloperzy muszą podawać informacje o czasie podczas wstawiania lub aktualizowania ścieżek z napisami. W przeciwnym razie przesyłanie się nie powiedzie.

12 marca 2024 r.

Ta aktualizacja zawiera następujące zmiany:

Dokumentacja zasobu captions została zaktualizowana i zawiera teraz informację, że maksymalna dozwolona długość pola snippet.name to 150 znaków. Jeśli nazwa ścieżki jest dłuższa, interfejs API zwraca błąd nameTooLong.

7 marca 2024 r.

Uwaga: to jest ogłoszenie o wycofaniu funkcji.

Właściwość zasobu channel brandingSettings.channel.moderateComments została wycofana. YouTube przestanie obsługiwać ten parametr 7 marca 2024 r.

31 stycznia 2024 r.

Ta aktualizacja zawiera następujące zmiany:

Nowy parametr forHandle metody channels.list umożliwia pobieranie informacji o kanale przez podanie jego nicka na YouTube.

9 listopada 2023 r.

Wszystkie odwołania do zasobu videoId w Comments zostały usunięte, ponieważ zasób videoId nie jest zwracany przez wywołanie interfejsu API.

12 września 2023 r.

Uwaga: to jest ogłoszenie o wycofaniu funkcji.

Metoda comments.markAsSpam została wycofana kilka lat temu. Ta metoda nie jest już obsługiwana w YouTube ani przez interfejs API.

Do wszystkich dokumentów, które odwołują się do metody comments.markAsSpam, dodaliśmy powiadomienie o wycofaniu.

22 sierpnia 2023 r.

Metoda search.list obsługuje teraz parametr videoPaidProductPlacement. Ten parametr umożliwia filtrowanie wyników wyszukiwania, aby uwzględniać tylko filmy, które twórca oznaczył jako zawierające płatną promocję.

18 sierpnia 2023 r.

Zaktualizowaliśmy definicję właściwości liveStreamingDetails.concurrentViewers zasobu video, aby zaznaczyć, że liczba równoczesnych widzów zwracana przez interfejs YouTube Data API może się różnić od liczby równoczesnych widzów po odfiltrowaniu spamu, która jest dostępna w Statystykach YouTube. Więcej informacji o danych transmisji na żywo znajdziesz w Centrum pomocy YouTube.

7 sierpnia 2023 r.

Zgodnie z ogłoszeniem z 12 czerwca 2023 r. parametr relatedToVideoId metody search.list został wycofany. Ten parametr nie jest już obsługiwany, a odwołania do niego zostały usunięte z dokumentacji API.

28 czerwca 2023 r.

Metoda thumbnails.set obsługuje teraz błąd uploadRateLimitExceeded, który wskazuje, że w ciągu ostatnich 24 godzin na kanale przesłano zbyt wiele miniatur i należy spróbować ponownie później.

12 czerwca 2023 r.

Uwaga: to jest ogłoszenie o wycofaniu funkcji.

Parametr relatedToVideoId metody search.list został wycofany. YouTube przestanie obsługiwać ten parametr 7 sierpnia 2023 r.

Obecnie do dokumentacji metody search.list dodaliśmy powiadomienie o wycofaniu. Ten parametr zostanie całkowicie usunięty z dokumentacji search.list 7 sierpnia 2023 r. lub później.

Z przewodnika po implementacji interfejsu API usunęliśmy też przykład pokazujący, jak pobierać podobne filmy.

22 sierpnia 2022 r.

Poprawiono adnotacje typu dla pól video.statistics z typu unsigned long na string.

5 sierpnia 2022 r.

YouTube zmienił sposób generowania identyfikatorów napisów i w ramach tej zmiany przypisuje nowe identyfikatory napisów do wszystkich ścieżek z napisami. 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.

Do 1 grudnia 2022 r. metody captions.list, captions.update, captions.download i captions.delete będą obsługiwać zarówno stare, jak i nowe identyfikatory ścieżek z napisami. Jednak 1 grudnia 2022 r. lub później YouTube przestanie obsługiwać stare identyfikatory ścieżek z napisami. Od tego dnia wywołanie dowolnej z tych metod interfejsu API ze starym identyfikatorem ścieżki z napisami spowoduje błąd captionNotFound.

Aby przygotować się na tę zmianę, do 1 grudnia 2022 r. zastąp wszystkie przechowywane dane ścieżek z napisami. Oznacza to, że w przypadku każdego filmu, dla którego przechowujesz dane ścieżki z napisami, musisz usunąć obecnie przechowywane dane, a następnie wywołać metodę captions.list, aby pobrać bieżący zestaw ścieżek z napisami 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. Więcej informacji znajdziesz w historii zmian Warunków korzystania z usług YouTube API.

27 kwietnia 2022 r.

Zaktualizowaliśmy opis metody videos.insert, aby uwzględnić informację, że maksymalny rozmiar przesyłanych plików wideo został zwiększony ze 128 GB do 256 GB.

8 kwietnia 2022 r.

Zaktualizowaliśmy definicje parametrów myRecentSubscribers i mySubscribers metody subscriptions.list, aby zaznaczyć, że maksymalna liczba subskrybentów zwracanych przez interfejs API może być ograniczona. Ta zmiana stanowi poprawkę w dokumentacji, a nie zmianę w działaniu interfejsu API.

15 grudnia 2021 r.

Zgodnie z ogłoszeniem z 18 listopada 2021 r., w związku ze zmianami, które sprawiają, że liczba ocen negatywnych jest prywatna na całej platformie YouTube, właściwość statistics.dislikeCount zasobu video jest teraz prywatna.

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

18 listopada 2021 r.

W związku ze zmianami, które mają na celu ukrycie liczby głosów na nie na całej platformie YouTube, od 13 grudnia 2021 r. właściwość statistics.dislikeCount zasobu video będzie prywatna. Oznacza to, że właściwość będzie uwzględniana w odpowiedzi interfejsu API z punktu końcowego videos.list tylko wtedy, gdy żądanie do interfejsu API zostało uwierzytelnione przez właściciela filmu.

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

Deweloperzy, którzy nie wyświetlają publicznie liczby ocen negatywnych, ale nadal potrzebują jej dla swojego klienta API, mogą poprosić o dodanie do listy dozwolonych. Aby poprosić o zwolnienie, musisz wypełnić ten formularz zgłoszeniowy.

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

2 lipca 2021 r.

Uwaga: to jest ogłoszenie o wycofaniu funkcji.

Punkt końcowy commentThreads.update został wycofany i nie jest już obsługiwany. Ten punkt końcowy powielał funkcje dostępne w innych punktach końcowych interfejsu API. Możesz natomiast wywołać funkcję comments.update.

i, jeśli Twój kod wymaga zasobu commentThreads, wykonaj dodatkowe wywołanie metody commentThreads.list.

1 lipca 2021 r.

Wszyscy deweloperzy korzystający z usług interfejsu API YouTube muszą przejść kontrolę zgodności interfejsu API,aby otrzymać więcej niż domyślny limit 10 tys. jednostek. Do tej pory zarówno proces kontroli zgodności, jak i prośby o dodatkowe przydziały jednostek były realizowane przez deweloperów, którzy wypełniali i przesyłali formularz kontroli i zwiększenia limitu usług interfejsu API YouTube.

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

  • Formularz dotyczący kontroli i zwiększenia limitu przydziału: deweloperzy, którzy przeszli już kontrolę zgodności interfejsu API, mogą wypełnić i przesłać ten formularz (wybierając w pierwszym pytaniu „Przeprowadzenie kontroli zgodności w celu zachowania obecnego limitu (w związku z prośbą o przejście ponownej kontroli)”), aby poprosić o zwiększenie przydzielonego limitu przydziału.
  • Formularz odwołania: deweloperzy, których projekty interfejsu API nie przeszły audytu zgodności (lub którym odmówiono zwiększenia liczby jednostek przydziału), mogą wypełnić i przesłać ten formularz.
  • Formularz zmiany kontroli: deweloperzy lub dowolne podmioty zarządzające klientem API w imieniu dewelopera, u których nastąpiła zmiana kontroli (np. w wyniku zakupu lub sprzedaży akcji, fuzji przedsiębiorstw bądź innego rodzaju transakcji firmowej) związana z projektem interfejsu API, muszą wypełnić i przesłać ten formularz. Dzięki temu zespół ds. interfejsu API YouTube może zaktualizować nasze dane, sprawdzić, czy nowy projekt interfejsu API jest zgodny z zasadami, i zweryfikować bieżący przydział limitu dewelopera.

Każdy nowy formularz poinformuje nas o Twoim zamierzonym sposobie korzystania z interfejsu API YouTube i umożliwi nam lepsze udzielenie Ci pomocy.

Więcej informacji znajdziesz w nowym przewodniku po kontrolach zgodności interfejsu API.

12 maja 2021 r.

Uwaga: to jest ogłoszenie o wycofaniu funkcji.

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

  • Właściwość contentDetails.relatedPlaylists.favorites zasobu channel została wycofana. Funkcja ulubionych filmów została wycofana kilka lat temu, o czym informuje wpis w historii zmian z 28 kwietnia 2016 r.

    Przed tą aktualizacją interfejs API tworzył nową playlistę, jeśli klient API próbował dodać film do nieistniejącej playlisty ulubionych. W przyszłości w takiej sytuacji playlista nie zostanie utworzona, a interfejs API zwróci błąd. Próby modyfikowania playlist z ulubionymi filmami przez dodawanie, modyfikowanie lub usuwanie elementów również zostały wycofane zgodnie z wcześniejszymi ogłoszeniami i w każdej chwili mogą zacząć zwracać błędy.

  • Te 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. W związku z tym 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 właściwości zostały usunięte z reprezentacji zasobu channel, a ich definicje zostały usunięte z listy właściwości zasobu. Dodatkowo z dokumentacji dotyczącej metod usunęliśmy błędy związane z tymi właściwościami.

  • Te 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. W związku z tym 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ą wycofaliśmy też parametr hl metody channelSection.list, ponieważ funkcje, które obsługuje, nie są już obsługiwane.

    Wszystkie właściwości zostały usunięte z reprezentacji zasobu channelSection, a ich definicje zostały usunięte z listy właściwości zasobu. Dodatkowo z dokumentacji dotyczącej metod usunęliśmy błędy związane z tymi właściwościami.

  • W przypadku właściwości snippet.type zasobu channelSection te wartości zostały wycofane. Te wartości nie są już obsługiwane na stronach kanałów YouTube, więc nie są też obsługiwane przez interfejs API.

    • likedPlaylists
    • likes
    • postedPlaylists
    • postedVideos
    • recentActivity
    • recentPosts
  • Właściwość snippet.tags[] zasobu playlist została wycofana. Ta właściwość nie jest już obsługiwana w YouTube, więc nie jest też 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. Ten błąd występuje, gdy żądanie próbuje wykonać operację, która jest niedozwolona w przypadku danej playlisty. Użytkownik nie może na przykład usunąć filmu z playlisty przesłanych filmów ani usunąć samej playlisty.

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

  • Z dokumentacji usunęliśmy błędy watchHistoryNotAccessible i watchLaterNotAccessible metody playlistItems.list. Chociaż historia oglądania i listy Do obejrzenia użytkowników nie są dostępne przez interfejs 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 zbieraniu danych i danych wysyłanych przez odtwarzacz YouTube umieszczony na stronie. Odpowiadasz za wszelkie dane użytkowników, które wysyłasz do nas za pomocą dowolnego odtwarzacza YouTube umieszczonego na stronie, zanim użytkownik wejdzie w interakcję z odtwarzaczem, aby wskazać zamiar odtworzenia. Możesz ograniczyć udostępnianie danych YouTube, zanim użytkownik wejdzie w interakcję z odtwarzaczem, ustawiając autoodtwarzanie na wartość false.
  • Nowy art. III.E.4.j dotyczy sprawdzania statusu treści „przeznaczone dla dzieci” (MFK) przed umieszczeniem ich w witrynach i aplikacjach. Musisz wiedzieć, kiedy filmy umieszczane w Twoim kliencie API są przeznaczone dla dzieci, i odpowiednio traktować zbieranie danych z odtwarzacza umieszczonego na stronie. Dlatego przed umieszczeniem treści w kliencie API za pomocą odtwarzaczy YouTube musisz sprawdzić stan treści za pomocą usługi YouTube Data API.

Nowy przewodnik Sprawdzanie stanu filmu pod kątem oznaczenia Przeznaczony dla dzieci wyjaśnia, jak sprawdzić stan filmu pod kątem oznaczenia Przeznaczony dla dzieci za pomocą usługi YouTube Data API.

W związku z tymi zmianami do dokumentacji parametrów odtwarzacza umieszczonego na stronie dodaliśmy przypomnienie, że jeśli włączysz autoodtwarzanie, odtwarzanie będzie się odbywać bez interakcji użytkownika z odtwarzaczem. Zbieranie i udostępnianie danych o odtwarzaniu będzie więc miało miejsce po wczytaniu strony.

8 października 2020 r.

Ta aktualizacja obejmuje 3 niewielkie zmiany związane z zasobem channel:

  • Obiekt snippet.thumbnails, który identyfikuje miniatury kanału, może być pusty w przypadku nowo utworzonych kanałów, a jego wypełnienie może potrwać do 1 dnia.
  • Właściwość statistics.videoCount odzwierciedla liczbę publicznych filmów na kanale, nawet dla właścicieli. To zachowanie jest zgodne z liczbami wyświetlanymi na stronie YouTube.
  • Słowa kluczowe kanału, które są określone we właściwości brandingSettings.channel.keywords, mogą zostać obcięte, jeśli przekraczają maksymalną dozwoloną długość 500 znaków lub zawierają niepoprzedzone znakiem ucieczki cudzysłowy ("). Pamiętaj, że limit 500 znaków nie dotyczy pojedynczego słowa kluczowego, ale łącznej długości wszystkich słów kluczowych. Działa to podobnie jak na stronie YouTube.

9 września 2020 r.

Uwaga: to jest ogłoszenie o wycofaniu funkcji.

Ta aktualizacja obejmuje następujące zmiany w interfejsie API. Wszystkie zmiany wejdą w życie 9 września 2020 r. lub później, czyli w dniu opublikowania tego ogłoszenia. W związku z tym deweloperzy nie powinni już polegać na żadnych funkcjach interfejsu API wymienionych poniżej.

  • Te zasoby, metody, parametry i właściwości zasobów interfejsu API zostają natychmiast wycofane i przestaną działać w dniu opublikowania tego ogłoszenia lub później:
    • Te właściwości zasobu channel:
      • Właściwość statistics.commentCount
      • Obiekt brandingSettings.image i wszystkie jego właściwości podrzędne
      • brandingSettings.hintsLista i wszystkie jej właściwości podrzędne
    • Parametr filtra categoryId metody channels.list
    • Zasób guideCategories i metoda guideCategories.list
  • Odpowiedzi interfejsu API na metodę channels.list nie zawierają już właściwości prevPageToken, jeśli żądanie do interfejsu API ustawia parametr managedByMe na true. Ta zmiana nie ma wpływu na właściwość prevPageToken w przypadku innych żądań channels.list ani na właściwość nextPageToken w przypadku żadnych żądań.
  • 11 sierpnia 2016 r. ogłosiliśmy, że właściwości contentDetails.relatedPlaylists.watchLater i contentDetails.relatedPlaylists.watchHistory zasobu channel zostały wycofane. Obsługa tych playlist przez metody playlistItems.insert i playlistItems.delete została całkowicie wycofana, a te 2 właściwości zostały usunięte z dokumentacji.
  • Parametr mySubscribers metody channels.list, który został ogłoszony jako wycofany 30 lipca 2013 r., został usunięty z dokumentacji. Użyj metody subscriptions.list i jej parametru mySubscribers, aby pobrać listę subskrybentów kanału uwierzytelnionego użytkownika.
  • Obiekt invideoPromotion zasobu channel i wszystkie jego właściwości podrzędne, które zostały ogłoszone jako wycofane 27 listopada 2017 r., zostały usunięte z dokumentacji.

29 lipca 2020 r.

Uprościliśmy proces naliczania limitu żądań do interfejsu API, usuwając dodatkowy koszt związany z parametrem part. Od teraz będziemy naliczać tylko koszt podstawowy wywołanej metody. Więcej informacji o uproszczonym limicie znajdziesz tutaj.

W wyniku tej zmiany większość wywołań interfejsu API będzie miała nieco niższy koszt limitu, a niektóre wywołania interfejsu API będą miały taki sam koszt. Ta zmiana nie zwiększa kosztów wywołań interfejsu API. Ogólnie rzecz biorąc, prawdopodobny wpływ jest taki, że przydzielony limit, który można zobaczyć w Google Cloud Console, będzie nieco większy.

Zdecydowanie zalecamy wszystkim deweloperom przeprowadzenie kontroli zgodności w swoich projektach, aby zapewnić stały dostęp do usług YouTube API.

Ten wpis w historii zmian został pierwotnie opublikowany 20 lipca 2020 r.

28 lipca 2020 r.

Wszystkie filmy przesłane za pomocą punktu końcowego videos.insert z niezweryfikowanych projektów interfejsu API utworzonych po 28 lipca 2020 r. będą dostępne tylko w trybie wyświetlania prywatnego. Aby usunąć to ograniczenie, każdy projekt musi przejść audyt w celu zweryfikowania zgodności z Warunkami korzystania z usługi.

Twórcy, którzy używają niezweryfikowanego klienta API do przesyłania filmów, otrzymają e-maila z informacją, że ich film został zablokowany jako prywatny i że mogą uniknąć tego ograniczenia, korzystając z oficjalnego lub sprawdzonego klienta.

Ta zmiana nie ma obecnie wpływu na projekty interfejsu API utworzone przed 28 lipca 2020 r. Zdecydowanie zalecamy jednak wszystkim deweloperom przeprowadzenie kontroli zgodności w swoich projektach, aby zapewnić sobie stały dostęp do usług YouTube API.

21 lipca 2020 r.

[Zaktualizowano 28 lipca 2020 r.] Aktualizacja dokumentacji, o której mowa w tym wpisie w historii zmian, została ponownie opublikowana 28 lipca 2020 r.

Wczoraj opublikowaliśmy aktualizację dokumentacji dotyczącą procesu naliczania limitu. Jednak z powodu nieprzewidzianych okoliczności zmiana limitu nie została jeszcze wprowadzona. W związku z tym przywróciliśmy poprzednią wersję dokumentacji, aby zapewnić jej dokładność. Aby uniknąć nieporozumień, wpis w historii zmian wyjaśniający tę zmianę został usunięty i zostanie ponownie opublikowany w najbliższej przyszłości.

7 lipca 2020 r.

Uwaga: to jest ogłoszenie o wycofaniu funkcji.

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

15 czerwca 2020 r.

Nowy przewodnik Zgodność z zasadami dla deweloperów YouTube zawiera wskazówki i przykłady, które pomogą Ci upewnić się, że Twoi klienci API przestrzegają określonych części Warunków i Zasad usług YouTube API (Warunki korzystania z interfejsów API).

Te wskazówki pokazują, jak YouTube egzekwuje niektóre aspekty Warunków korzystania z interfejsu API, ale nie zastępują żadnych istniejących dokumentów. Znajdziesz w nim odpowiedzi na niektóre z najczęstszych pytań deweloperów podczas kontroli zgodności z zasadami dotyczącymi interfejsów API. Mamy nadzieję, że ułatwi to proces tworzenia funkcji, ponieważ pomoże Ci zrozumieć, jak interpretujemy i egzekwujemy nasze zasady.

4 czerwca 2020 r.

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

Funkcja biuletynu kanału została całkowicie wycofana. Ta zmiana została ogłoszona 17 kwietnia 2020 r. i już obowiązuje. W związku z tym metoda activities.insert nie jest już obsługiwana, a 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 ogłoszenie o wycofaniu funkcji.

YouTube wycofuje funkcję biuletynu kanału. W związku z tym metoda activities.insert zostanie wycofana, a metoda activities.list przestanie zwracać biuletyny kanału. Te 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 zasoby i metody

    • Nowy zasób member reprezentuje wspierającego kanał w YouTube. Wspierający regularnie przekazuje twórcy wsparcie finansowe i otrzymuje specjalne korzyści. Na przykład wspierający mogą rozmawiać na czacie, gdy twórca włączy tryb czatu tylko dla wspierających.

      Ten zasób zastępuje zasób sponsor, który jest opisany w dokumentacji interfejsu YouTube Live Streaming API. Zasób sponsor został wycofany, a klienci interfejsu API powinni zaktualizować wywołania metody sponsors.list, aby zamiast niej używać metody members.list.

    • Nowy zasób membershipsLevel identyfikuje poziom cenowy 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, które YouTube nazywa „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 umożliwia twórcom treści określenie, czy kanał lub film jest przeznaczony dla dzieci.

    W przypadku kanałów tę właściwość można ustawić podczas wywoływania metody channels.update. W przypadku filmów tę właściwość można ustawić podczas wywoływania metody videos.insert lub videos.update.

    Pamiętaj, że ta właściwość jest uwzględniana w odpowiedziach interfejsu API, które zawierają 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 „przeznaczony dla dzieci” kanału lub filmu. Stan może być na przykład określany na podstawie wartości właściwości selfDeclaredMadeForKids. Więcej informacji o określaniu odbiorców kanału, filmów lub transmisji znajdziesz w Centrum pomocy YouTube.

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

10 września 2019 r.

Dokumentacja API została zaktualizowana, aby odzwierciedlić zmianę sposobu raportowania liczby subskrybentów w YouTube, a tym samym w odpowiedziach interfejsu API. W wyniku tej zmiany liczba subskrybentów zwracana przez usługę YouTube Data API jest zaokrąglana w dół do 3 cyfr znaczących, jeśli przekracza 1000. Ta zmiana dotyczy właściwości statistics.subscriberCount zasobu channel.

Uwaga: ta zmiana wpływa na wartość tej właściwości nawet wtedy, gdy użytkownik wysyła autoryzowane żądanie danych o własnym kanale. Właściciele kanałów nadal mogą wyświetlać 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. Tabela poniżej pokazuje przykłady zaokrąglania liczby subskrybentów w odpowiedziach interfejsu API i skracania jej w innych publicznie widocznych interfejsach użytkownika YouTube:

Przykładowa liczba subskrybentów YouTube Data API Publicznie widoczne interfejsy 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 API została zaktualizowana, aby lepiej wyjaśnić typowe przypadki użycia każdej metody i zapewnić dynamiczne, wysokiej jakości przykładowe kody za pomocą widżetu APIs Explorer. Przykład znajdziesz w dokumentacji metody channels.list. Na stronach opisujących metody interfejsu API znajdują się teraz 2 nowe elementy:

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

    • Sekcja Typowe przypadki użycia opisuje co najmniej 1 typowy przypadek użycia metody opisanej na stronie. Możesz na przykład wywołać metodę channels.list, aby pobrać dane o konkretnym kanale lub o kanale bieżącego użytkownika.

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

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

  • Narzędzie Przykładowe kody zostało też zaktualizowane o nowy interfejs, który oferuje wszystkie opisane powyżej funkcje. Za pomocą tego narzędzia możesz poznać przypadki użycia różnych metod, wczytać wartości do narzędzia APIs Explorer i otworzyć je na pełnym ekranie, aby uzyskać przykładowy kod w językach Java, JavaScript, PHP i Python.

    W związku z tą zmianą usunęliśmy strony, na których wcześniej znajdowały się przykładowe kody w językach Java, JavaScript, PHP i Python.

  • Zaktualizowaliśmy krótkie przewodniki dotyczące języków Java, JavaScript, PHP i Python. Zmienione przewodniki wyjaśniają, jak uruchomić jeden przykład z kluczem interfejsu API i drugi z identyfikatorem klienta OAuth 2.0, korzystając z przykładowego kodu z APIs Explorer.

Pamiętaj, że opisane powyżej zmiany zastępują interaktywne narzędzie, które zostało dodane do dokumentacji API w 2017 r.

9 lipca 2018 r.

Ta aktualizacja zawiera następujące zmiany:

  • Zaktualizowaliśmy definicję właściwości snippet.thumbnails zasobu channel, aby zaznaczyć, że podczas wyświetlania miniatur w aplikacji kod powinien używać adresów URL obrazów dokładnie w takiej postaci, w jakiej są 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 r. adresy URL miniatur kanałów będą dostępne tylko w domenie https, czyli tak, jak pojawiają się w odpowiedziach interfejsu API. Po tym czasie w aplikacji mogą pojawiać się uszkodzone obrazy, jeśli będzie ona próbowała wczytać obrazy z YouTube z domeny http.

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

    Właściwość recordingDetails.location.altitude zasobu video została wycofana. Nie gwarantujemy, że filmy będą zwracać wartości dla tej właściwości. Podobnie, nawet jeśli żądania do interfejsu API próbują ustawić wartość tej właściwości, możliwe jest, że dane przychodzące nie zostaną zapisane.

22 czerwca 2018 r.

Zaktualizowaliśmy Przewodnik po implementacji, wcześniej znany jako Przewodnik po implementacji i migracji, aby usunąć instrukcje dotyczące migracji z interfejsu API w wersji 2 do interfejsu API w wersji 3. Usunęliśmy też instrukcje dotyczące funkcji, które zostały wycofane w wersji 3 interfejsu API, takich jak ulubione filmy.

27 listopada 2017 r.

Ta aktualizacja zawiera następujące zmiany:

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

    YouTube wycofuje obsługę funkcji Polecany film i Polecana witryna, które są obsługiwane w interfejsie API za pomocą obiektu invideoPromotion zasobu channel. W związku z tym ten obiekt, w tym wszystkie jego właściwości podrzędne, zostanie wycofany.

    Do 14 grudnia 2017 r. możesz pobierać i ustawiać dane invideoPromotion. Po tej dacie:

    • Próby pobrania części invideoPromotion podczas wywoływania channels.list zwrócą pustą część invideoPromotion lub nie zwrócą żadnych danych invideoPromotion.
    • Próby zaktualizowania danych invideoPromotion podczas wywoływania channels.update będą zwracać odpowiedź o powodzeniu co najmniej do 27 maja 2018 r., ale będą traktowane jako operacje puste, co oznacza, że nie będą faktycznie wykonywać aktualizacji.

    Po 27 maja 2018 r. te żądania mogą zwracać komunikaty o błędach, na przykład informujące, że invalidPromotion jest nieprawidłową częścią.

16 listopada 2017 r.

Ta aktualizacja zawiera następujące zmiany:

  • Narzędzie do interaktywnych fragmentów kodu obsługuje teraz przykładowe kody w Node.js. Przykłady są też widoczne w dokumentacji prawie wszystkich metod interfejsu API, takich jak metoda channels.list.

    Przykłady, które można dostosować, zostały zaprojektowane tak, aby zapewnić punkt wyjścia dla aplikacji Node.js w konkretnym przypadku użycia. Działanie jest podobne do kodu w krótkim wprowadzeniu do Node.js. Przykłady zawierają jednak pewne funkcje użytkowe, które nie pojawiają się w krótkim wprowadzeniu:

    • Funkcja removeEmptyParameters pobiera listę par klucz-wartość odpowiadających parametrom żądania do interfejsu API i usuwa parametry, które nie mają wartości.
    • Funkcja createResource przyjmuje listę par klucz-wartość odpowiadających właściwościom w zasobie interfejsu API. Następnie konwertuje właściwości na obiekt JSON, którego można używać w operacjach insert i update. Poniższy przykład pokazuje zestaw nazw i wartości właściwości oraz obiekt JSON, który kod utworzyłby dla nich:
      # 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 te przykłady są przeznaczone do pobrania i uruchomienia lokalnie. Więcej informacji znajdziesz w instrukcjach dotyczących narzędzia do fragmentów kodu w sekcji o wymaganiach wstępnych związanych z lokalnym uruchamianiem pełnych przykładowych kodów.

25 października 2017 r.

Ta aktualizacja zawiera następujące zmiany:

  • Przykłady kodu w Pythonie w interaktywnym narzędziu do fragmentów kodu zostały zaktualizowane, aby używały bibliotek google-auth i google-auth-oauthlib zamiast biblioteki oauth2client, która została wycofana.

    Oprócz tej zmiany narzędzie udostępnia teraz pełne przykłady kodu dla zainstalowanych aplikacji w Pythonie i aplikacji serwera WWW w Pythonie, które używają nieco innych procesów autoryzacji. Aby zobaczyć pełne przykłady (i tę zmianę):

    1. Otwórz interaktywne narzędzie do tworzenia fragmentów kodu lub dokumentację dowolnej metody interfejsu API, np. metody channels.list.
    2. Kliknij kartę Python nad przykładowymi kodami.
    3. Kliknij przełącznik nad kartami, aby przełączyć się z widoku fragmentu na pełną próbkę.
    4. Na karcie powinien być teraz widoczny kompletny przykładowy kod, który korzysta z procesu autoryzacji InstalledAppFlow. Opis nad przykładem wyjaśnia to i zawiera link do przykładu aplikacji serwera WWW.
    5. Kliknij link, aby przełączyć się na przykład serwera WWW. Ten przykład korzysta z platformy Flask do tworzenia aplikacji internetowych i innego procesu autoryzacji.

    Wszystkie te przykłady są przeznaczone do pobrania i uruchomienia lokalnie. Jeśli chcesz uruchomić przykłady, zapoznaj się z instrukcjami uruchamiania pełnych przykładowych kodów lokalnie w instrukcjach narzędzia do generowania fragmentów kodu.

29 sierpnia 2017 r.

Ta aktualizacja zawiera następujące zmiany:

  • Zaktualizowaliśmy definicję parametru forContentOwner metody search.list, aby zaznaczyć, że jeśli ten parametr ma wartość true, parametr type musi mieć wartość video.
  • Zaktualizowaliśmy definicję parametru regionCode metody search.list, aby wyjaśnić, że parametr ten ogranicza wyniki wyszukiwania do filmów, które można wyświetlić w określonym regionie.
  • YouTube zaktualizował swoje logo i ikony. Nowe logo „developed with YouTube” można pobrać ze strony ze wskazówkami dotyczącymi marki. Inne nowe logo i ikony YouTube są również widoczne na tej stronie i można je pobrać ze strony marki YouTube.

24 lipca 2017 r.

Ta aktualizacja zawiera następujące zmiany:

  • Dostępny jest nowy krótki przewodnik po interfejsie YouTube Data API na iOS. Przewodnik wyjaśnia, jak używać interfejsu YouTube Data API w prostej aplikacji na iOS napisanej w języku Objective-C lub Swift.
  • Narzędzie do interaktywnych fragmentów kodu dla interfejsu YouTube Data API zawiera teraz dokumentację wyjaśniającą niektóre funkcje narzędzia:
    • Wykonywanie żądań do interfejsu API
    • Przełączanie między fragmentami kodu a pełnymi przykładowymi kodami
    • Korzystanie z funkcji szablonu
    • Wczytywanie istniejących zasobów (w przypadku metod aktualizacji)

    Uwaga: narzędzie jest też umieszczone w dokumentacji API 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:

  • Dokumentacja API została zaktualizowana, aby fragmenty kodu były bardziej powszechne i interaktywne. Strony, które wyjaśniają metody interfejsu API, takie jak channels.list lub videos.rate, zawierają teraz interaktywne narzędzie, które umożliwia wyświetlanie i dostosowywanie fragmentów kodu w językach Java, JavaScript, PHP, Python, Ruby, Apps Script i Go.

    W przypadku każdej metody narzędzie wyświetla fragmenty kodu dla co najmniej 1 przypadku użycia, a każdy przypadek użycia opisuje typowy sposób wywoływania tej metody. Możesz na przykład wywołać metodę channels.list, aby pobrać dane o konkretnym kanale lub o kanale bieżącego użytkownika.

    Możesz też wchodzić w interakcje z przykładowym kodem:

    • Zmieniaj wartości parametrów i właściwości, a fragmenty kodu będą się dynamicznie aktualizować, aby odzwierciedlać podane przez Ciebie wartości.

    • Przełączaj się 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 kodu oraz powtarzalny kod do autoryzacji i wysyłania żądań. Pełne przykłady można skopiować i uruchomić z poziomu wiersza poleceń lub lokalnego serwera WWW.

    • wykonywać żądania, klikając przycisk; (Aby wykonywać żądania, musisz autoryzować narzędzie do wywoływania interfejsu API w Twoim imieniu).

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

  • Narzędzie Fragmenty kodu interfejsu Data API zostało też zaktualizowane o nowy interfejs, który oferuje wszystkie opisane powyżej funkcje. Główne nowe funkcje dostępne na tej stronie to:

    • Obsługa żądań do interfejsu API, które zapisują dane.
    • Obsługa próbek w języku Java.
    • bardziej elastyczny i kompleksowy powtarzalny kod 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, które opisują tematykę 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 opublikowania filmu w YouTube. Zasób zawiera już właściwość snippet.publishedAt, która określa 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 treść 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ę, jaką organizacja Motion Picture Association of America przyznała zwiastunowi lub wersji testowej filmu.

27 lutego 2017 r.

Zgodnie z ogłoszeniem z 11 sierpnia 2016 r. YouTube zmienił 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 zasobów channel i video oraz w parametrze topicId metody search.list.

Pamiętaj, że na liście wyselekcjonowanych aplikacji wprowadzono kilka zmian:

  • Te tematy zostały dodane jako podtematy tematu Society:
    Nazwaidentyfikator tematu
    Firma/m/09s1f
    Zdrowie/m/0kt51
    Wojsko/m/01h6rj
    Polityka/m/05qt0
    Religia/m/06bvp
  • Temat Animated cartoon, który wcześniej był podtematem tematu Entertainment, został usunięty.
  • Temat Children's music, który wcześniej był podtematem tematu Music, został usunięty.

W wyniku tej zmiany tematy związane z filmem 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, które będą obsługiwane od 10 lutego 2017 r., wprowadziliśmy 3 niewielkie zmiany:

    • Kategoria Professional wrestling, która wcześniej była podrzędna względem kategorii Sports, jest teraz podrzędna względem kategorii Entertainment.
    • Kategoria TV shows, która jest elementem podrzędnym kategorii Entertainment, jest nowa.
    • Kategoria Health, która wcześniej była podkategorią kategorii Lifestyle, została usunięta.

    Zwróć też uwagę, że istnieje kilka kategorii nadrzędnych (Entertainment, Gaming, Lifestyle, Music i Sports). Każdy film powiązany z kategorią podrzędną, np. Tennis, będzie też powiązany z kategorią nadrzędną (Sports).

10 listopada 2016 r.

Ta aktualizacja zawiera następujące zmiany:

  • Jak ogłosiliśmy 11 sierpnia 2016 roku, wycofanie Freebase i interfejsu 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 powiązane z konkretnym tematem.

    10 lutego 2017 r. YouTube zacznie zwracać niewielki zestaw identyfikatorów tematów zamiast znacznie bardziej szczegółowego zestawu identyfikatorów zwracanych do tej pory. Pamiętaj też, że kanały i filmy nie muszą być powiązane z żadnymi tematami, co jest zgodne z obecnym działaniem interfejsu API.

    Aby umożliwić Ci przygotowanie klientów interfejsu API na te zmiany, zaktualizowaliśmy definicje poniższych parametrów i właściwości interfejsu API, aby zawierały identyfikatory tematów, które będą obsługiwane po tym terminie. Pamiętaj, że lista kategorii jest taka sama dla wszystkich usług.

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

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

    • Właściwość topicDetails.topicIds[] zasobu channel. Ta właściwość będzie obsługiwana do 10 listopada 2017 r.
    • Właściwość topicDetails.relevantTopicIds[] zasobu video. Ta właściwość będzie obsługiwana do 10 listopada 2017 r.
    • Właściwość topicDetails.topicIds[] zasobu video. Po 10 lutego 2017 r. ta właściwość nie będzie zawierać wartości. (Po tym terminie wartość właściwości topicDetails.relevantTopicIds[] będzie identyfikować wszystkie tematy powiązane z filmem).
  • Ponieważ usługa Freebase została już wycofana, przewodnik Wyszukiwanie za pomocą tematów Freebase został usunięty z dokumentacji. Ten przewodnik zawierał przykładowe kody pokazujące, jak aplikacja współpracuje z interfejsem Freebase API.

    Z dokumentacji metody search.list usunęliśmy też kilka przykładowych kodów 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 odtwarzacza, który odtwarza film. Nowe właściwości player.embedHeight i player.embedWidth określają wymiary odtwarzacza umieszczonego na stronie. Te właściwości są zwracane tylko wtedy, gdy żądanie do interfejsu API określa wartość co najmniej jednego z parametrów maxHeight lub maxWidth. Te 2 nowe parametry zostały opisane w dalszej części tego wpisu w historii zmian.

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

      • Nowa wartość fpbRatingReasons[] określa przyczyny, dla których film otrzymał ocenę FPB (RPA).

      • Nowa wartość mcstRating określa ocenę, jaką film otrzymał w Wietnamie.

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

      Domyślnie wysokość elementu <iframe> zwracanego we właściwości player.embedHtml wynosi 360 pikseli. Szerokość dostosowuje się do formatu obrazu filmu, dzięki czemu odtwarzacz nie ma czarnych pasów wokół filmu. Jeśli na przykład format obrazu filmu to 16:9, szerokość odtwarzacza będzie wynosić 640 pikseli.

      Dzięki nowym parametrom możesz określić, że zamiast domyślnych wymiarów kod do umieszczenia na stronie powinien używać wysokości lub szerokości odpowiedniej dla układu aplikacji. Serwer interfejsu API odpowiednio skaluje wymiary odtwarzacza, aby odtwarzacz umieszczony na stronie nie miał czarnych pasów wokół filmu. Pamiętaj, że oba parametry określają maksymalne wymiary odtwarzacza umieszczonego na stronie. Jeśli więc podasz oba parametry, jeden z wymiarów może być mniejszy niż maksymalna dozwolona wartość.

      Załóżmy na przykład, że film ma format obrazu 16:9. Jeśli parametry maxHeight i maxWidth nie są ustawione, tag player.embedHtml będzie zawierać odtwarzacz o wymiarach 640 x 360.

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

      Nowe właściwości player.embedHeight i player.embedWidth, które opisaliśmy powyżej, określają wymiary odtwarzacza.

  • Aktualizacje istniejących 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 ustawiania danych kierowania i maksymalnie 100 półek z danymi kierowania.

      Dodatkowo właściwość targeting zasobu channelSection została zaktualizowana, aby odzwierciedlić fakt, że opcje kierowania można ustawiać tylko za pomocą interfejsu API. Opcje kierowania zostaną usunięte, jeśli sekcja kanału zostanie zmodyfikowana za pomocą interfejsu na stronie YouTube.

    • Poprawiono definicję właściwości snippet.name zasobu i18nLanguage, aby odzwierciedlała, że wartość reprezentuje nazwę języka zapisaną w języku określonym przez parametr hl metody i18nLanguage.list.

    • Właściwość contentDetails.note zasobu playlistItem została zaktualizowana, aby uwzględnić, że maksymalna długość wartości 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 są 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, które używają tej metody, muszą być też autoryzowane za pomocą tokena, który zapewnia dostęp do zakresu https://www.googleapis.com/auth/youtubepartner.

    • Parametry publishedBefore i publishedAfter metody search.list zostały zaktualizowane, aby wskazywać, że wartości parametrów są inkluzywne. Jeśli na przykład ustawiony jest parametr publishedBefore, interfejs API zwraca zasoby utworzone przed określonym czasem lub w określonym czasie.

    • 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 uwzględnić informację, że maksymalny rozmiar przesyłanych filmów został zwiększony z 64 GB do 128 GB.

  • Nowe i zaktualizowane błędy

    • Interfejs API obsługuje te 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 w tym interfejsie API. Ten błąd może wystąpić, jeśli w nieautoryzowanym żądaniu ustawisz parametr home na true.
      invalidValue (400) invalidContentDetails Metoda playlistItems.insert zwraca ten błąd, aby wskazać, że obiekt contentDetails w żądaniu jest nieprawidłowy. Jedną z przyczyn wystąpienia tego błędu jest to, że pole contentDetails.note zawiera więcej niż 280 znaków.
      forbidden (403) watchHistoryNotAccessible Metoda playlistItems.list zwraca ten błąd, aby wskazać, że żądanie próbowało pobrać elementy playlisty „historia oglądania”, ale nie można 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, aby wskazać, że kanał przekroczył liczbę filmów, które może 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 umieszczania filmu. Pamiętaj, że niektóre kanały mogą nie mieć uprawnień do oferowania odtwarzaczy umieszczonych na stronie w przypadku transmisji na żywo. Więcej informacji znajdziesz w Centrum pomocy YouTube.
    • Metoda playlistItems.insert nie zwraca już błędu, jeśli wstawisz do playlisty duplikat filmu. Ten błąd występował wcześniej w przypadku niektórych playlist, takich jak ulubione filmy, które nie zezwalały na duplikaty, ale nie są już obsługiwane. Zasadniczo playlisty zezwalają na duplikaty filmów.

  • Inne aktualizacje

    • Zaktualizowaliśmy wpis w historii zmian z 15 września 2016 r., aby wyjaśnić, że gdy właściwości contentDetails.relatedPlaylists.watchHistory i contentDetails.relatedPlaylists.watchLater zasobu channel są uwzględnione w odpowiedzi, zawsze zawierają odpowiednio wartości HL i WL. Te właściwości są uwzględniane tylko wtedy, gdy upoważniony użytkownik pobiera dane o własnym kanale.

15 września 2016 r.

Ta aktualizacja zawiera następujące zmiany:

  • W aktualizacji historii zmian z 11 sierpnia 2016 r. omówiono kilka zmian związanych z identyfikatorami tematów, w tym fakt, że zestaw obsługiwanych identyfikatorów tematów zmieni się 10 lutego 2017 r. Lista obsługiwanych tematów zostanie opublikowana do 10 listopada 2016 r.

  • Te zmiany już obowiązują. Informacja o tych zmianach została podana w aktualizacji historii zmian z 11 sierpnia 2016 r.:

    • Jeśli metoda activities.list zostanie wywołana z parametrem home ustawionym na true, odpowiedź interfejsu API będzie zawierać elementy podobne do tych, które niezalogowany użytkownik YouTube zobaczyłby na stronie głównej.

      Ta niewielka zmiana ma na celu zwiększenie wygody użytkowników w porównaniu z zachowaniem opisanym w aktualizacji historii zmian z 11 sierpnia 2016 r. W tej aktualizacji podano, że żądania używające parametru home będą zwracać pustą listę.

    • Właściwości contentDetails.relatedPlaylists.watchHistory i contentDetails.relatedPlaylists.watchLater zasobu channel zawierają teraz odpowiednio wartości HL i WL dla wszystkich kanałów.

      Te właściwości są widoczne tylko dla upoważnionego użytkownika, który pobiera dane o swoim kanale. Właściwości zawsze zawierają wartości HL i WL, nawet w przypadku autoryzowanego użytkownika pobierającego dane o własnym kanale. Dlatego nie można pobrać identyfikatorów historii oglądania i playlisty Do obejrzenia za pomocą interfejsu API.

      Dodatkowo żądania pobrania szczegółów playlisty (playlists.list) lub elementów playlisty (playlistItems.list) w przypadku historii oglądania kanału lub playlisty Do obejrzenia zwracają teraz puste listy. Dotyczy to nowych wartości HL i WL, a także wszystkich identyfikatorów playlist historii oglądania lub Do obejrzenia, które klient API mógł już zapisać.

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

11 sierpnia 2016 r.

Ta aktualizacja zawiera następujące zmiany:

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

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

  • Wycofanie Freebase i interfejsu Freebase API powoduje kilka zmian związanych z identyfikatorami tematów. Identyfikatory tematów są używane w tych zasobach i metodach interfejsu API:

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

    Oto zmiany dotyczące tych funkcji:

    • Od 10 lutego 2017 r. YouTube zacznie zwracać niewielki zestaw identyfikatorów tematów zamiast znacznie bardziej szczegółowego zestawu identyfikatorów zwracanych do tej pory. Ten zestaw obsługiwanych tematów będzie identyfikować kategorie wysokiego poziomu, takie jak Sport czy Koszykówka, ale nie będzie identyfikować np. konkretnych drużyn czy zawodników. Ogłosimy zestaw obsługiwanych tematów, aby dać Ci czas na przygotowanie aplikacji na tę zmianę.

    • Wszystkie pobrane już identyfikatory tematów Freebase mogą być używane do wyszukiwania treści do 10 lutego 2017 r. Po tym czasie do pobierania wyników wyszukiwania według tematu będzie można używać tylko mniejszego zestawu tematów określonego w poprzednim punkcie.

    • Jeśli po 10 lutego 2017 r. spróbujesz wyszukać wyniki za pomocą identyfikatora tematu, który nie znajduje się w mniejszym zestawie 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żliwiał upoważnionemu użytkownikowi pobranie kanału aktywności, który wyświetlałby się na stronie głównej YouTube tego użytkownika. Żądania, które używają tego parametru po 12 września 2016 r., będą zwracać 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 własnym kanale. Po 12 września 2016 r. właściwość contentDetails.relatedPlaylists.watchHistory będzie zwracać wartość HL, a właściwość contentDetails.relatedPlaylists.watchLater będzie zwracać wartość WL dla wszystkich kanałów.

      Po 12 września 2016 r. żądania pobrania szczegółów playlisty (playlists.list) dla historii oglądania lub playlisty Do obejrzenia będą zwracać pustą listę. Po tym czasie żądania pobrania elementów playlisty (playlistItems.list) z tych playlist również będą zwracać pustą listę. Dotyczy to nowych wartości HL i WL, a także wszystkich identyfikatorów playlist historii oglądania lub Do obejrzenia, które klient API mógł już zapisać.

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

13 czerwca 2016 r.

Ta aktualizacja zawiera następujące zmiany:

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

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

Ponieważ po wycofaniu żadna z tych właściwości nie będzie zwracana, obie zostały usunięte z dokumentacji odpowiednich zasobów.

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 odwrotnym porządku chronologicznym według czasu, w którym zasubskrybowali kanał.

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

  • Definicja właściwości snippet.thumbnails.(key) została zaktualizowana w przypadku zasobów activity, playlistItem, playlist, wynik wyszukiwania, thumbnail i video, aby uwzględnić dodatkowe rozmiary miniatur dostępne dla niektórych filmów.

    • 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, aby zaznaczyć, że część targeting można pobrać kosztem 2 jednostek limitu.

  • Metoda videos.list zwraca teraz błąd forbidden (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 Data API Code Snippets udostępnia krótkie fragmenty kodu do typowych zastosowań interfejsu YouTube Data API. Fragmenty kodu są obecnie dostępne dla wszystkich metod interfejsu API tylko do odczytu w Apps Script, Go, JavaScript, PHP, Pythonie i Ruby.

W przypadku każdej metody narzędzie pokazuje przykładowe kody dla co najmniej 1 przypadku użycia. Na przykład zawiera 5 fragmentów kodu dla metody search.list:

  • Wyświetlanie listy filmów według słowa kluczowego
  • Wyświetlanie listy filmów według lokalizacji
  • Wyświetlanie listy wydarzeń na żywo
  • Wyszukiwanie filmów uwierzytelnionego użytkownika
  • Wyświetlanie listy podobnych filmów

W przypadku każdego zastosowania narzędzie wyświetla parametry używane w żądaniu do interfejsu API. Możesz zmienić wartości parametrów. W takim przypadku narzędzie zaktualizuje fragmenty kodu, aby odzwierciedlały podane przez Ciebie wartości parametrów.

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

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, aby wyjaśnić różnicę między nimi:

    • Właściwość recordingDetails.location określa lokalizację, którą właściciel filmu chce powiązać z filmem. Tę lokalizację można edytować i wyszukiwać w publicznych filmach. Może być ona wyświetlana użytkownikom w przypadku publicznych filmów.
    • Wartość właściwości fileDetails.recordingLocation jest niezmienna i reprezentuje lokalizację powiązaną z oryginalnym, przesłanym plikiem wideo. Wartość jest widoczna tylko dla właściciela filmu.

  • Definicja właściwości contentDetails.relatedPlaylists.favorites zasobu channel została zaktualizowana, aby uwzględnić, że wartość właściwości może zawierać identyfikator playlisty, który odnosi się do pustej playlisty i nie można go pobrać. Wynika to z tego, że funkcja ulubionych filmów została już wycofana. Pamiętaj, że ta właściwość nie podlega zasadom wycofywania interfejsu API.

  • Definicja błędu ineligibleAccount, który może być zwracany przez metodę comments.insert, comments.update, commentThreads.insert lub commentThreads.update, została zaktualizowana, aby odzwierciedlić, że błąd występuje, gdy konto YouTube użyte do autoryzacji żądania do interfejsu API nie zostało połączone z kontem Google użytkownika.

20 kwietnia 2016 r.

Ta aktualizacja zawiera następujące zmiany:

  • Definicja parametru part metody channels.update została zaktualizowana, aby uwzględnić, że localizations jest również prawidłową wartością tego parametru.

  • Sekcja Wykorzystanie limitu w Przewodniku dla początkujących została zaktualizowana i zawiera teraz link do Google Developers Console, gdzie możesz sprawdzić swój rzeczywisty limit i jego wykorzystanie.

16 marca 2016 r.

Ta aktualizacja zawiera następujące zmiany:

  • Aktualizacje istniejących zasobów i metod

    • Dokumentacja zasobu channelBanner została zaktualizowana i zawiera teraz informację, że zalecany rozmiar przesyłanego obrazu banera kanału to 2560 x 1440 pikseli. Minimalny rozmiar (2048 x 1152 piksele) nie uległ zmianie.

    • Nowa właściwość snippet.customUrl zasobu channel identyfikuje niestandardowy URL powiązany z kanałem. (Nie wszystkie kanały mają niestandardowe adresy URL). W Centrum pomocy YouTube znajdziesz wymagania, które trzeba spełnić, aby uzyskać niestandardowy URL, oraz instrukcje, jak go skonfigurować.

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

    • Odpowiedź interfejsu API na żądanie search.list zawiera teraz właściwość regionCode. Właściwość identyfikuje kod regionu, który został użyty w zapytaniu. Kod regionu instruuje interfejs API, aby zwracał wyniki wyszukiwania dla określonego kraju.

      Wartość właściwości to dwuliterowy kod kraju ISO, który identyfikuje region. Metoda i18nRegions.list zwraca listę obsługiwanych regionów. (wartością domyślną jest US); Jeśli podasz nieobsługiwany region, YouTube może wybrać inny region do obsługi zapytania, zamiast używać wartości domyślnej.

    • Definicje właściwości snippet.label i snippet.secondaryReasons[].label zasobu videoAbuseReportReason zostały zaktualizowane, aby wskazać, że właściwości zawierają zlokalizowany tekst etykiety z powodami zgłoszenia naruszenia zasad.

      Dodatkowo metoda videoAbuseReportReasons.list obsługuje teraz parametr hl, który określa język, który powinien być używany w tekście 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 wystawioną przez turecką Radę ds. Oceny i Klasyfikacji Ministerstwa Kultury i Turystyki.

      Dodatkowo właściwości interfejsu API dotyczące innych systemów ocen obsługują te nowe wartości:

      • contentDetails.contentRating.fpbRating (Republika Południowej Afryki)
        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 bieżącą transmisją na żywo z włączonym czatem na żywo. Po zakończeniu transmisji i czatu na żywo ta właściwość nie jest już zwracana w przypadku filmu.

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

  • Interfejs API obsługuje te 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ć ani 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 określać 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 określać 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 tymczasowy, ale zwykle oznacza, że dane wejściowe żądania są nieprawidłowe. Sprawdź strukturę zasobu commentThread w treści żądania, aby upewnić się, że jest prawidłowa.
    forbidden (403) commentsDisabled Metoda commentThreads.list zwraca ten błąd, aby wskazać, że film określony przez parametr videoId ma wyłączone komentarze.
    badRequest (400) commentTextTooLong Metoda commentThreads.insert zwraca ten błąd, aby wskazać, że wstawiany 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, aby wskazać, że film, który próbujesz dodać do playlisty, znajduje się już na innej playliście serialu. Więcej informacji o playlistach serii znajdziesz w Centrum pomocy YouTube.
    badRequest (400) subscriptionForbidden Metoda subscriptions.insert zwraca ten błąd, aby poinformować, że osiągnięto maksymalną liczbę subskrypcji lub że utworzono zbyt wiele subskrypcji w ostatnim czasie. W takim przypadku możesz spróbować ponownie za kilka godzin.
    badRequest (400) invalidCategoryId Metoda videos.update zwraca ten błąd, aby wskazać, że właściwość snippet.categoryId w przesłanym zasobie video określa nieprawidłowy identyfikator kategorii. Użyj metody videoCategories.list, aby pobrać obsługiwane kategorie.
    badRequest (400) invalidDescription Metoda videos.update zwraca ten błąd, aby wskazać, że właściwość snippet.description w przesłanym zasobie video ma 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 zaplanowany czas publikacji.
    badRequest (400) invalidRecordingDetails Metoda videos.update zwraca ten błąd, aby wskazać, że obiekt recordingDetails w przesłanym zasobie video zawiera 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 ma 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 określa 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, jeśli żądanie aktualizuje część snippet zasobu video, ale nie ustawia wartości właściwości snippet.title i snippet.categoryId.

18 grudnia 2015 r.

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

19 listopada 2015 r.

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

  • Ustawianie zlokalizowanych tytułów i opisów

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

    • Upewnij się, że właściwość snippet.defaultLanguage zasobu ma ustawioną wartość. Ta właściwość określa język właściwości snippet.title i snippet.description zasobu. Wartością może być dowolny obsługiwany język aplikacji lub większość innych kodów języków w formacie ISO 639-1:2002. Jeśli na przykład przesyłasz film z tytułem i opisem 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 zasobu channel, musisz zaktualizować właściwość brandingSettings.channel.defaultLanguage.

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

      Poniższy przykładowy fragment kodu ustawia domyślny język zasobu na angielski. Dodaje też do filmu zlokalizowane 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 aktualizujesz dane produktów dostępnych lokalnie dla zasobu, żądanie do interfejsu API musi zawierać wszystkie istniejące zlokalizowane wersje danych. Jeśli na przykład wyślesz kolejną prośbę o dodanie danych w języku portugalskim do filmu z powyższego przykładu, musi ona zawierać zlokalizowane dane w języku niemieckim, hiszpańskim i portugalskim.

  • Pobieranie zlokalizowanych wartości

    Interfejs API obsługuje 2 sposoby pobierania zlokalizowanych wartości 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 witrynę YouTube. Jeśli szczegóły zasobu są dostępne w tym języku, obiekt snippet.localized zasobu będzie zawierać zlokalizowane wartości. Jeśli jednak zlokalizowane szczegóły nie są dostępne, obiekt snippet.localized będzie zawierać szczegóły zasobu w jego języku domyślnym.

      Załóżmy na przykład, że żądanie videos.list pobrało dane dla filmu opisanego powyżej ze zlokalizowanymi danymi w języku niemieckim i hiszpańskim. Jeśli parametr hl ma wartość de, zasób zawiera 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 ma wartość fr, obiekt snippet.localized zawiera tytuł i opis w języku angielskim, ponieważ angielski jest domyślnym językiem zasobu, a zlokalizowane szczegóły w języku francuskim nie są dostępne.

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

      Na przykład musisz pobrać pełną listę lokalizacji, aby sprawdzić, czy zlokalizowany tekst jest dostępny w dialekcie Appalachian English.

    • Podczas pobierania zasobu uwzględnij localizations w wartości parametru part, aby pobrać wszystkie zlokalizowane szczegóły tego zasobu. Jeśli pobierasz zlokalizowane dane dla języka, który nie jest bieżącym językiem aplikacji YouTube, musisz użyć tej metody, aby pobrać wszystkie lokalizacje, a następnie przefiltrować je, aby określić, czy istnieją odpowiednie zlokalizowane dane.

  • Błędy związane z wartościami tekstu zlokalizowanego

    Interfejs API obsługuje też te 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, nie powiodło się, ponieważ właściwość snippet.defaultLanguage nie jest ustawiona dla tego zasobu. Ten błąd obsługują metody channels.update, channelSections.insert, channelSections.update, playlists.insert, playlists.update, videos.insert i videos.update.
    badRequest (400) localizationValidationError Ten błąd oznacza, że nie udało się zweryfikować jednej z wartości w obiekcie localizations zasobu. Ten błąd może wystąpić na przykład wtedy, gdy obiekt zawiera nieprawidłowy kod języka. Ten błąd obsługują metody channels.update, channelSections.insert, channelSections.update, playlists.insert i playlists.update.

4 listopada 2015 r.

Ta aktualizacja zawiera następujące zmiany:

  • Aktualizacje istniejących zasobów i metod

    • Zaktualizowaliśmy parametr order metody search.list, aby poinformować, że jeśli sortujesz transmisje na żywo według viewCount, wyniki interfejsu API są sortowane według liczby równoczesnych widzów transmisji, gdy transmisje nadal trwają.

    • Zaktualizowaliśmy parametr relatedToVideoId metody search.list, aby zaznaczyć, że jeśli ten parametr jest ustawiony, jedynymi innymi obsługiwanymi parametrami są part, maxResults, pageToken, regionCode, relevanceLanguage, safeSearch, type (który musi być ustawiony na video) i fields. Ta aktualizacja nie odzwierciedla zmiany w działaniu interfejsu API.

    • Zaktualizowaliśmy definicję właściwości snippet.publishedAt zasobu video, aby zaznaczyć, że wartość właściwości, która określa datę i godzinę opublikowania filmu, może się różnić od czasu przesłania filmu. Jeśli na przykład film został przesłany jako prywatny, a później został upubliczniony, wartość właściwości określa czas, kiedy film został upubliczniony. Zaktualizowana definicja wyjaśnia też, jak ta wartość jest wypeł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 i zawiera teraz tę uwagę:

      • Jeśli ustawisz wartość tej właściwości podczas wywoływania metody videos.update, musisz też ustawić wartość właściwości status.privacyStatus na private, nawet jeśli film jest już prywatny.
      • Jeśli żądanie planuje publikację filmu w przeszłości, film jest publikowany od razu. W związku z tym ustawienie właściwości status.publishAt na datę i godzinę z przeszłości ma taki sam efekt jak zmiana właściwości privacyStatus filmu z private na public.
    • Właściwość contentDetails.contentRating.cncRating zasobu video określa ocenę filmu według francuskiej komisji klasyfikacji filmów (Commission de classification cinematographique). Ta właściwość zastępuje właściwość contentDetails.contentRating.fmocRating, która została wycofana.

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

    • Zaktualizowaliśmy dokumentację metody thumbnails.set, aby dokładnie odzwierciedlała, że treść żądania zawiera obraz miniatury, który przesyłasz i powiązujesz z filmem. Treść żądania nie zawiera zasobu thumbnail. Wcześniej w dokumentacji podano, że podczas wywoływania tej metody nie należy podawać treści żądania. Ta aktualizacja nie odzwierciedla zmiany w działaniu interfejsu API.

    • Opis zasobu activity został zaktualizowany, aby odzwierciedlić fakt, że metoda activities.list nie obejmuje obecnie zasobów związanych z nowymi komentarzami do filmów. Zaktualizowano też snippet.type i contentDetails.comment zasobu.

  • Nowe i zaktualizowane błędy

    • Interfejs API obsługuje teraz te 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
      OpiscommentWstawiany lub aktualizowany zasób 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 odpowiednich uprawnień do wstawienia, zaktualizowania lub usunięcia określonego elementu playlisty.
      playlists.delete
      playlists.insert
      playlists.update
      Kod odpowiedzi HTTPbadRequest (400)
      PrzyczynaplaylistForbidden
      OpisTa operacja jest zabroniona lub żądanie nie zostało prawidłowo autoryzowane.
      search.list
      Kod odpowiedzi HTTPbadRequest (400)
      PrzyczynainvalidLocation
      OpisWartość parametru location lub locationRadius jest nieprawidłowo sformatowana.
      search.list
      Kod odpowiedzi HTTPbadRequest (400)
      PrzyczynainvalidRelevanceLanguage
      OpisWartość parametru relevanceLanguage jest nieprawidłowo sformatowana.
      subscriptions.insert
      Kod odpowiedzi HTTPbadRequest (400)
      PrzyczynasubscriptionForbidden
      Opis Ten błąd występuje, gdy jest spełniony 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 możliwe.
      • W ostatnim czasie utworzono zbyt wiele subskrypcji. Odczekaj kilka godzin, zanim spróbujesz ponownie.
      videos.update
      Kod odpowiedzi HTTPbadRequest (400)
      PrzyczynainvalidDefaultBroadcastPrivacySetting
      OpisŻądanie próbuje ustawić nieprawidłowe ustawienie prywatności dla domyślnej transmisji.

28 sierpnia 2015 r.

Ta aktualizacja zawiera następujące zmiany:

  • Aktualizacje istniejących zasobów i metod

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

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

7 sierpnia 2015 r.

Ta aktualizacja zawiera następujące zmiany:

  • Aktualizacje istniejących zasobów i metod

    • Definicja właściwości snippet.tags[] zasobu video została zaktualizowana, aby dostarczać więcej informacji o tym, jak serwer interfejsu API oblicza długość wartości właściwości. Pamiętaj, że ta aktualizacja nie odzwierciedla zmiany w działaniu interfejsu API.

      W szczególności definicja wyjaśnia teraz, że jeśli tag zawiera spację, serwer interfejsu API traktuje wartość tagu tak, jakby była ujęta w cudzysłów, a cudzysłów wlicza się do limitu znaków. Dlatego w przypadku limitów znaków tag Foo-Baz zawiera 7 znaków, a tag Foo Baz – 9.

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

18 czerwca 2015 r.

Ta aktualizacja zawiera następujące zmiany:

  • Aktualizacje istniejących zasobów i metod

    • Nowy parametr order metody commentThreads.list określa kolejność, w jakiej odpowiedź interfejsu API powinna wyświetlać wątki komentarzy. Wątki można porządkować 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 video, aby wyjaśnić, że treści muszą zostać pierwotnie przesłane na kanał połączony z partnerem treści YouTube, a następnie objęte roszczeniem przez tego partnera. Nie odzwierciedla 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 przez kilka innych metod. Żądania, które używają tej metody, muszą być też autoryzowane za pomocą tokena, który zapewnia dostęp do zakresu https://www.googleapis.com/auth/youtubepartner.

  • Nowe i zaktualizowane błędy

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

      Szczegóły błędu
      videos.rate
      Kod odpowiedzi HTTPbadRequest (400)
      PrzyczynaemailNotVerified
      OpisUżytkownik musi zweryfikować swój adres e-mail, zanim będzie mógł ocenić film.
      videos.rate
      Kod odpowiedzi HTTPbadRequest (400)
      PrzyczynavideoPurchaseRequired
      OpisFilmy do wypożyczenia mogą oceniać tylko użytkownicy, 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 zasoby i metody

    • Nowy zasób videoAbuseReportReason zawiera informacje o powodach, dla których film może zostać oznaczony jako zawierający nieodpowiednie treści. Metoda videoAbuseReportReasons.list pozwala pobrać listę wszystkich powodów, dla których filmy mogą 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łaszany film oraz powód, dla którego film został uznany za zawierający nieodpowiednie treści. Prawidłowe przyczyny można uzyskać za pomocą metody videoAbuseReportReason.list opisanej powyżej.

      Zaktualizowaliśmy też przewodnik po migracji, dodając przykład zgłaszania filmu naruszającego zasady. Dzięki tej zmianie interfejs API w wersji 3 obsługuje teraz wszystkie funkcje interfejsu API w wersji 2, które ma obsługiwać. Wszystkie te funkcje są też opisane w przewodniku po migracji.

  • Aktualizacje istniejących zasobów i metod

    • Nowy parametr filtra forDeveloper metody search.list ogranicza wyszukiwanie do filmów przesłanych za pomocą aplikacji lub witryny dewelopera. Parametru forDeveloper można używać w połączeniu z opcjonalnymi parametrami wyszukiwania, takimi jak parametr q.

      W przypadku tej funkcji każdy przesłany film jest automatycznie oznaczany numerem projektu powiązanym z aplikacją dewelopera w Google Developers Console.

      Gdy żądanie wyszukiwania ustawia parametr forDeveloper na true, serwer interfejsu API używa danych uwierzytelniających żądania, aby zidentyfikować dewelopera. Dlatego deweloper może ograniczyć wyniki do filmów przesłanych za pomocą jego aplikacji lub witryny, ale nie do filmów przesłanych za pomocą innych aplikacji lub witryn.

      Nowa funkcja oferuje podobne, choć nie identyczne, działanie jak funkcja tagów dewelopera, która była obsługiwana przez interfejs API w wersji 2.

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

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

    • Interfejs API obsługuje teraz kierowanie na zasoby channelSection. Kierowanie na sekcje kanału umożliwia ograniczenie widoczności sekcji treści do użytkowników spełniających określone kryteria.

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

    • Definicja właściwości contentDetails.duration zasobu video została poprawiona, aby odzwierciedlała, że wartość może odnosić się do godzin, dni itd.

    • Dokumentacja metod channelSections.delete, playlistItems.delete, playlists.delete, subscriptions.delete i videos.delete została poprawiona, aby odzwierciedlała fakt, że w przypadku powodzenia wszystkie te metody zwracają kod odpowiedzi HTTP 204 (No Content).

  • Nowe i zaktualizowane błędy

    • Interfejs API obsługuje teraz te 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 określony we właściwości snippet.parentId. W zasobie commentThread właściwość snippet.canReply wskazuje, czy bieżący widz może odpowiedzieć na wątek.
      badRequest (400) invalidChannelId Metoda search.list zwraca ten błąd, jeśli parametr channelId w żądaniu zawiera 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, które nadal korzystają z funkcji komentarzy z interfejsu API w wersji 2.

    Przewodnik zawiera też informacje o kilku funkcjach komentowania, które nie były obsługiwane w interfejsie API w wersji 2, ale są obsługiwane w wersji 3. Są to między innymi:

    • Pobieranie komentarzy o kanale
    • pobieranie wszystkich wątków komentarzy powiązanych z kanałem, co oznacza, że odpowiedź interfejsu API może zawierać komentarze dotyczące kanału lub dowolnego z jego 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ą wysyłane tylko do centrum Google PubSubHubBub, a nie do centrum Superfeedr, jak wcześniej wskazano.

9 kwietnia 2015 r.

Ta aktualizacja zawiera następujące zmiany:

  • Nowe zasoby interfejsu API commentThread i comment umożliwiają pobieranie, wstawianie, aktualizowanie, usuwanie i moderowanie komentarzy.

    • Zasób commentThread zawiera informacje o wątku komentarzy w YouTube, który składa się z komentarza najwyższego poziomu i odpowiedzi na ten komentarz (jeśli istnieją). Zasób commentThread może reprezentować komentarze dotyczące filmu lub kanału.

      Komentarz najwyższego poziomu i odpowiedzi to zasoby comment zagnieżdżone w zasobie commentThread. Pamiętaj, że zasób commentThread nie musi zawierać wszystkich odpowiedzi na komentarz. Jeśli chcesz pobrać wszystkie odpowiedzi na dany komentarz, musisz użyć metody comments.list. Niektóre komentarze nie mają odpowiedzi.

      Interfejs API obsługuje te metody w przypadku zasobów commentThread:

      • commentThreads.list – pobieranie listy wątków komentarzy. Użyj tej metody, aby pobrać komentarze powiązane z konkretnym filmem lub kanałem.
      • commentThreads.insert – utwórz nowy komentarz najwyższego poziomu. (Aby odpowiedzieć na istniejący komentarz, użyj metody comments.insert).
      • commentThreads.update – zmodyfikuj komentarz najwyższego poziomu.

    • Zasób comment zawiera informacje o pojedynczym komentarzu w YouTube. Zasób comment może reprezentować komentarz dotyczący filmu lub kanału. Komentarz może być komentarzem najwyższego poziomu lub odpowiedzią na komentarz najwyższego poziomu.

      Interfejs API obsługuje te metody w przypadku zasobów comment:

      • comments.list – pobieranie listy komentarzy. Użyj tej metody, aby pobrać wszystkie odpowiedzi na dany komentarz.
      • comments.insert – utwórz odpowiedź na istniejący komentarz.
      • comments.update – zmodyfikuj komentarz.
      • comments.markAsSpam – oznacz co najmniej jeden komentarz jako spam.
      • comments.setModerationStatus – ustawianie stanu moderowania co najmniej 1 komentarza. Możesz na przykład zatwierdzić komentarz do wyświetlania publicznego lub odrzucić go jako nieodpowiedni. Żądanie do interfejsu API musi zostać autoryzowane przez właściciela kanału lub filmu powiązanego z komentarzami.
      • comments.delete – usuwanie komentarza,

    Pamiętaj, że nowy zakres interfejsu API https://www.googleapis.com/auth/youtube.force-ssl, 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.

  • Nowy przewodnik Subskrybowanie powiadomień push wyjaśnia, jak interfejs API obsługuje powiadomienia push za pomocą PubSubHubBub, protokołu publikowania/subskrybowania między serwerami dla zasobów dostępnych w internecie. Serwer wywołania zwrotnego PubSubHubBub może otrzymywać powiadomienia z kanału Atom, gdy na kanale zostanie wykonana jedna z tych czynności:

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

  • Zaktualizowaliśmy też przewodnik po migracji, aby uwzględnić w nim informacje o nowej obsłudze powiadomień push. Ponieważ jednak interfejs API w wersji 2 obsługiwał wiele innych typów powiadomień push, które nie są obsługiwane w interfejsie API w wersji 3, wzmianka o obsłudze PubSubHubBub nadal znajduje się w sekcji Wycofane tego przewodnika.

  • Nowy zakres https://www.googleapis.com/auth/youtube.force-ssl interfejsu 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 te błędy:

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

2 kwietnia 2015 r.

Ta aktualizacja zawiera następujące zmiany:

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

    Interfejs API obsługuje metody list, insert, update, download i delete, które umożliwiają wyświetlanie listy ścieżek z napisami, wstawianie, aktualizowanie, pobieranie i usuwanie ścieżek z napisami.

  • 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 https://www.googleapis.com/auth/youtube.force-ssl interfejsu API wymaga, aby komunikacja z serwerem interfejsu API odbywała się przez połączenie SSL.

    Ten nowy zakres przyznaje taki sam dostęp jak zakres https://www.googleapis.com/auth/youtube. W rzeczywistości te 2 zakresy są funkcjonalnie identyczne, ponieważ serwer interfejsu API YouTube jest dostępny tylko przez punkt końcowy HTTPS. W rezultacie, mimo że zakres https://www.googleapis.com/auth/youtube nie wymaga połączenia SSL, nie ma innego sposobu na wysłanie żądania do interfejsu API.

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

11 marca 2015 r.

Ta aktualizacja zawiera następujące zmiany:

  • Przewodnik po migracji do interfejsu YouTube Data API (w wersji 3) zawiera nową kartę o nazwie Nowości w interfejsie API w wersji 3, która zawiera listę funkcji obsługiwanych przez interfejs API w wersji 3, ale nieobsługiwanych przez interfejs API w wersji 2. Te same funkcje były wcześniej i nadal są wymienione na innych kartach w przewodniku. Na przykład nowa funkcja wyjaśniająca, jak zaktualizować dane kampanii promocyjnej In-Video na kanale, jest również wymieniona na karcie Kanały (profile).

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

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

    • Pobieranie rekomendacji filmów – interfejs API w wersji 3 nie pobiera listy zawierającej tylko filmy polecane dla bieżącego użytkownika interfejsu API. Możesz jednak użyć interfejsu API w wersji 3, aby znaleźć polecane filmy, wywołując metodę activities.list i ustawiając wartość parametru home na true.

      W odpowiedzi interfejsu API zasób odpowiada polecanemu filmowi, jeśli wartość właściwości snippet.type to recommendation. W takim przypadku właściwości contentDetails.recommendation.reason i contentDetails.recommendation.seedResourceId będą zawierać informacje o tym, dlaczego film został polecony. Pamiętaj, że nie możemy zagwarantować, że odpowiedź będzie zawierać określoną liczbę polecanych filmów.

    • Pobieranie sugestii dotyczących kanałów

    • Pobieranie nowych filmów z subskrybowanych kanałów – interfejs API w wersji 3 nie pobiera listy zawierającej tylko filmy, które zostały niedawno przesłane na kanały subskrybowane przez użytkownika interfejsu API. Możesz jednak użyć interfejsu API w wersji 3, aby znaleźć nowe filmy z subskrypcji, wywołując metodę activities.list i ustawiając wartość parametru home na true.

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

    • Obsługa kanałów RSS

    • Powiadomienia push o aktualizacjach kanału – interfejs API w wersji 2 obsługiwał powiadomienia push, korzystając z protokołu Simple Update Protocol (SUP) lub PubSubHubbub, aby monitorować kanały aktywności użytkowników YouTube. Powiadomienia były wysyłane, gdy ktoś zasubskrybował kanał, ocenił film, udostępnił go, dodał do ulubionych, skomentował lub przesłał.

      Interfejs API w wersji 3 będzie obsługiwać powiadomienia push przy użyciu protokołu PubSubHubbub, ale powiadomienia będą dotyczyć tylko przesyłania filmów oraz aktualizacji tytułów i opisów filmów.

    • Lokalizacja kanału – interfejs API w wersji 2 używał tagu <yt:location> do identyfikowania lokalizacji użytkownika podanej w publicznym profilu kanału w YouTube. Niektórzy deweloperzy używali tego pola do powiązania kanału z konkretnym krajem, ale dane z tego pola nie mogły być konsekwentnie używane w tym celu.

    • Ustawianie i pobieranie tagów dewelopera – interfejs API w wersji 2 obsługiwał możliwość powiązania słów kluczowych lub tagów dewelopera z filmem w momencie jego przesłania. Tagi dewelopera nie były wyświetlane użytkownikom YouTube, ale właściciele filmów mogli pobierać filmy pasujące do określonego tagu dewelopera.

      Interfejs API w wersji 3 będzie udostępniać podobną, ale nie identyczną funkcję. Deweloper będzie mógł wyszukiwać filmy przesłane przez jego aplikację. W przypadku tej funkcji każdy przesłany film jest automatycznie oznaczany numerem projektu powiązanym z aplikacją dewelopera w Google Developers Console. Następnie deweloper używa tego samego numeru projektu do wyszukiwania filmów.

    • Wyświetlanie listy filmów według daty publikacji, liczby wyświetleń lub oceny – w interfejsie API w wersji 2 parametr orderby umożliwiał sortowanie filmów 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 według pozycji w kolejności rosnącej, a inne opcje sortowania nie są dostępne.

      Jest jednak kilka wyjątków. Nowo przesłany, ulubiony, polubiony lub ostatnio oglądany film jest automatycznie dodawany jako pierwsza pozycja (snippet.position=0) na tych typach playlist: Każda z tych list jest więc skutecznie sortowana od najnowszego do najstarszego elementu na podstawie czasu dodania elementów do listy.

      • przesłane przez użytkowników
      • 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 sortowana od najstarszego do najnowszego elementu.

    • Przetwarzanie wsadowe – interfejs API w wersji 3 obsługuje jeden z przypadków użycia przetwarzania wsadowego, który był obsługiwany przez interfejs API w wersji 2. 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óry może służyć do określania rozdzielonej przecinkami listy identyfikatorów (identyfikatorów filmów, identyfikatorów kanałów itp.). Za pomocą tych metod możesz pobrać listę wielu zasobów w jednym żądaniu.

    W przewodniku uwzględniliśmy wszystkie funkcje, które były obsługiwane w starym interfejsie API (wersja 2), a które zostaną wycofane w obecnej wersji interfejsu API (wersja 3).

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 właściwości i ich właściwości podrzędne zostały wycofane:

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

    Uwaga: żadna z tych właściwości 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 te 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 korzysta z ręcznego sortowania. Na przykład elementy playlisty mogą być sortowane według daty lub popularności. Aby rozwiązać ten problem, usuń element snippet.position z zasobu wysłanego w treści żądania. Jeśli chcesz, aby element playlisty miał określoną pozycję na liście, musisz najpierw zmienić ustawienie kolejności playlisty na Ręcznie. To ustawienie można zmienić w Menedżerze filmów na 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 żądanie nie jest 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:

  • Przewodnik po migracji do interfejsu YouTube Data API (wersja 3) został zaktualizowany i zawiera teraz informacje o tym, jak używać interfejsu API w wersji 3 do przesyłania filmów za pomocą JavaScriptu. (szczegółowe informacje znajdziesz w sekcji Przesyłanie filmu). Ta funkcja jest porównywalna z funkcją przesyłania w przeglądarce, którą obsługuje interfejs API w wersji 2. Pamiętaj, że ta zmiana w przewodniku po migracji nie odzwierciedla rzeczywistej zmiany interfejsu API, ale raczej dostępność nowego przykładowego kodu do przesyłania filmów za pomocą kodu JavaScript po stronie klienta.

    Ze względu na obsługę przesyłania filmów za pomocą biblioteki klienta JavaScript i CORS w przewodniku po migracji nie ma już informacji o tym, że przesyłanie z poziomu przeglądarki może zostać wycofane w interfejsie API w wersji 3.

  • Dokumentacja metody videos.insert została zaktualizowana i zawiera teraz opisany powyżej nowy przykładowy kod JavaScript. Zaktualizowaliśmy też listę przykładowych kodów JavaScript dla YouTube Data API (v3).

11 listopada 2014 r.

Ta aktualizacja zawiera następujące zmiany:

  • Koszt limitu dla wywołania metody search.list zmienił się na 100 jednostek.

    Ważne: w wielu przypadkach możesz użyć innych metod interfejsu API, aby pobrać informacje przy mniejszym wykorzystaniu limitu. Rozważmy na przykład te 2 sposoby znajdowania filmów przesłanych na kanał GoogleDevelopers.

    • Koszt limitu: 100 jednostek

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

    • Koszt limitu: 6 jednostek

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

      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 kanał może 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 – na kanale można przesyłać filmy dłuższe niż 15 minut.
      • eligible – kanał kwalifikuje się do przesyłania filmów dłuższych 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 lub nie kwalifikuje się do tego.

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

    • Właściwość invideoPromotion.useSmartTiming wskazuje, czy kampania promocyjna kanału korzysta z „inteligentnego planowania”. Ta funkcja próbuje wyświetlać promocje w momencie, gdy istnieje większe prawdopodobieństwo, że zostaną kliknięte, i mniejsze, że zakłócą oglądanie. Ta funkcja wybiera też jedną promocję, która będzie wyświetlana w każdym filmie.

  • Definicje właściwości snippet.title i snippet.categoryId zasobu video zostały zaktualizowane, aby wyjaśnić, jak interfejs API obsługuje wywołania metody videos.update. Jeśli wywołasz tę metodę, aby zaktualizować część snippet zasobu video, musisz ustawić wartość 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 według nowozelandzkiego urzędu ds. klasyfikacji filmów i literatury, 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 z grafiką kanału na YouTube zawiera za dużo obrazów. Właściciel kanału powinien wejść na stronę http://photos.google.com, przejść do strony albumów i usunąć niektóre obrazy z tego albumu.

12 września 2014 r.

Ta aktualizacja zawiera następujące zmiany:

  • Koszt limitu dla wywołania metody search.list zmienił się z 1 jednostki na 2 jednostki, oprócz kosztu określonych części zasobu.

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 powiązany z żądaniem przekroczył limit częstotliwości subskrypcji. Możesz spróbować ponownie za kilka godzin.

12 sierpnia 2014 r.

Ta aktualizacja zawiera następujące zmiany:

  • Nowy przewodnik Migrating Your Application to YouTube Data API (v3) (Migracja aplikacji do interfejsu YouTube Data API w wersji 3) wyjaśnia, jak używać interfejsu YouTube Data API (v3) do wykonywania funkcji dostępnych w interfejsie YouTube Data API (v2). Starszy interfejs API został oficjalnie wycofany 4 marca 2014 r. Ten przewodnik pomoże Ci przenieść aplikacje, które nadal korzystają z interfejsu API w wersji 2, do najnowszej wersji interfejsu API.

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, gdy nie można utworzyć playlisty, ponieważ kanał ma już maksymalną dozwoloną liczbę playlist.

18 czerwca 2014 r.

Ta aktualizacja zawiera następujące zmiany:

28 maja 2014 r.

Ta aktualizacja zawiera następujące zmiany:

  • Metoda search.list obsługuje teraz parametry location i locationRadius, które umożliwiają wyszukiwanie filmów powiązanych z położeniem geograficznym. Aby pobrać wyniki na podstawie lokalizacji, żądanie musi określać wartość obu parametrów. Jeśli żądanie zawiera tylko jeden z tych parametrów, interfejs API zwraca błąd.

    • Parametr location określa współrzędne geograficzne środka okrągłego obszaru geograficznego.

    • Parametr locationRadius określa maksymalną odległość, w jakiej lokalizacja powiązana z filmem może znajdować się od środka obszaru, aby film nadal był uwzględniany w wynikach wyszukiwania.

13 maja 2014 r.

Ta aktualizacja zawiera następujące zmiany:

  • Właściwość invideoPromotion.items[] zasobu channel została zaktualizowana, aby wskazać, że zwykle możesz ustawić tylko 1 promowany element na kanale. Jeśli spróbujesz wstawić zbyt wiele promowanych produktów, interfejs API zwróci błąd tooManyPromotedItems z kodem 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, które właściciel kanału opublikował w karcie Aktywność kanału;
    • postedVideos – filmy, które właściciel kanału opublikował na karcie Aktywność kanału;
    • subscriptions – kanały, które subskrybuje właściciel kanału;

  • Nowa właściwość contentDetails.contentRating.ifcoRating zasobu video określa ocenę, jaką film otrzymał od Irish Film Classification Office.

  • Definicja właściwości position.cornerPosition zasobu watermark została zaktualizowana, aby zaznaczyć, że znak wodny zawsze pojawia się w prawym górnym rogu odtwarzacza.

  • Definicja parametru q metody search.list została zaktualizowana, aby zaznaczyć, że zapytanie może używać operatora logicznego NOT (-) do wykluczania filmów powiązanych z konkretnym wyszukiwanym hasłem. Wartość może też używać operatora logicznego LUB (|), aby znaleźć filmy powiązane z jednym z kilku wyszukiwanych haseł.

  • Definicja właściwości pageInfo.totalResults zwracanej w odpowiedzi interfejsu API na wywołanie search.list została zaktualizowana, aby wskazać, że wartość jest przybliżona i może nie być dokładna. Maksymalna wartość to 1 000 000. Nie używaj tej wartości do tworzenia linków do stron. Zamiast tego użyj wartości właściwości nextPageToken i prevPageToken, aby określić, czy wyświetlać linki do stron.

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

2 maja 2014 r.

Ta aktualizacja zawiera następujące zmiany:

  • Nowy zasób i18nLanguage identyfikuje język aplikacji obsługiwany przez witrynę YouTube. Język aplikacji może być też nazywany językiem interfejsu. W przypadku witryny YouTube język aplikacji może być wybierany automatycznie na podstawie ustawień konta Google, języka przeglądarki lub lokalizacji IP. Użytkownik może też ręcznie wybrać odpowiedni język interfejsu w stopce witryny YouTube.

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

  • Nowy zasób i18nRegion identyfikuje obszar geograficzny, który użytkownik YouTube może wybrać jako preferowany region treści. Region treści może być też nazywany ustawieniami regionalnymi treści. W przypadku witryny YouTube region treści może być wybierany automatycznie na podstawie heurystyki, takiej jak domena YouTube lub lokalizacja IP użytkownika. Użytkownik może też ręcznie wybrać odpowiedni region treści w stopce witryny YouTube.

    Interfejs API obsługuje metodę list, która umożliwia wyświetlanie 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, takich jak 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 kanał wybrał do udostępniania. Sekcja może na przykład zawierać najnowsze filmy, najpopularniejsze filmy lub filmy z co najmniej 1 playlisty.

    Interfejs API obsługuje metody list, insert, update i delete, które umożliwiają odpowiednio wyświetlanie, dodawanie, aktualizowanie i usuwanie sekcji kanału. Możesz pobrać listę sekcji kanału dla kanału uwierzytelnionego użytkownika, podając konkretny identyfikator kanału lub listę unikalnych identyfikatorów sekcji kanału.

    Zaktualizowaliśmy też dokumentację błędów, aby opisać komunikaty o błędach, które interfejs API obsługuje w przypadku tych nowych metod.

  • Definicja obiektu fileDetails zasobu video została zaktualizowana, aby wyjaśnić, że obiekt zostanie zwrócony tylko wtedy, gdy właściwość processingDetails.fileDetailsAvailability filmu ma wartość available.

    Podobnie definicja obiektu suggestions zasobu video została zaktualizowana, aby wyjaśnić, że ten obiekt zostanie zwrócony tylko wtedy, gdy właściwość processingDetails.tagSuggestionsAvailability lub processingDetails.editorSuggestionsAvailability filmu ma wartość available.

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

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

  • Lista parametrów metody videos.rate została zaktualizowana, aby odzwierciedlić, że ta metoda nie obsługuje parametru onBehalfOfContentOwner. Był to błąd w dokumentacji, ponieważ żądania videos.rate, które ustawiają 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 w przypadku zasobów channel. Nowa część zawiera dane kanału, które są istotne dla partnerów YouTube powiązanych z kanałem, w tym identyfikator właściciela treści powiązanego z kanałem oraz datę i godzinę powiązania właściciela treści z kanałem. Pamiętaj, że ta nowa część nie podlega zasadom wycofywania funkcji lub usług.

  • Dokumentacja zawiera teraz maksymalną obsługiwaną liczbę 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 elementami listy wliczają się 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, dodaliśmy te właściwości zasobu video:

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

  • Interfejs API obsługuje teraz te 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.
    badRequest (400) channelTitleUpdateForbidden Metoda channels.update zwraca ten błąd, jeśli spróbujesz zaktualizować część brandingSettings kanału i zmienić wartość właściwości brandingSettings.channel.title. (Pamiętaj, że jeśli pominiesz tę właściwość, interfejs API nie zwróci błędu).
    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 czasu.
    badRequest (400) tooManyPromotedItems Metoda channels.update zwraca ten błąd, jeśli część invideoPromotion określa więcej niż dozwoloną liczbę promowanych elementó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 którego 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 niedozwolony adres URL.
    required (400) requiredTimingType Metoda channels.update zwraca ten błąd, jeśli żądanie nie określa domyślnych ustawień czasu, kiedy YouTube powinien wyświetlać promowany element.
    required (400) requiredTiming Metoda channels.update musi określać obiekt invideoPromotion.items[].timing dla każdego promowanego produktu.
    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 określają nieprawidłowy czas zaplanowanej 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, aby prawidłowo odzwierciedlała, że podczas przesyłania żądania wyszukiwania nie trzeba podawać wartości dokładnie jednego parametru filtra. Możesz ustawić wartość dla 0 lub 1 parametru filtra.

  • Zaktualizowaliśmy definicje parametrów metody search.list, aby zaznaczyć, że musisz ustawić wartość parametru type na video, jeśli określisz 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 x 1192 pikseli). Pamiętaj też, że dokumentacja zasobu channel określa maksymalne rozmiary wszystkich obrazów banerów wyświetlanych z interfejsu API. Na przykład maksymalny rozmiar obrazu brandingSettings.image.bannerTvImageUrl w aplikacjach telewizyjnych to 2120 × 1192 piksele, ale rzeczywisty obraz może mieć wymiary 2048 × 1152 piksele. W Centrum pomocy YouTube znajdziesz dodatkowe wskazówki dotyczące optymalizacji grafiki kanału pod kątem wyświetlania na różnych typach urządzeń.

  • Zaktualizowaliśmy kilka definicji właściwości zasobów channel, aby odzwierciedlały te informacje:

    • Maksymalna długość wartości właściwości brandingSettings.channel.description to 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, jeśli jest ustawiona, musi określać identyfikator filmu na YouTube, który jest publiczny lub niepubliczny i należy do właściciela kanału.

  • Metoda channels.update obsługuje teraz aktualizacje właściwości invideoPromotion.items[].promotedByContentOwner. Ta właściwość wskazuje, czy nazwa właściciela treści będzie wyświetlana podczas wyświetlania promocji. Można ją ustawić tylko wtedy, gdy żądanie do interfejsu API, które ustawia wartość właściwości, 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ę filmu przyznaną przez Australian Classification Board (ACB) lub ocenę programu telewizyjnego dla dzieci przyznaną przez Australian Communications and Media Authority (ACMA).

  • Nowe właściwości contentDetails.contentRating.catvRating i contentDetails.contentRating.catvfrRating określają oceny, które film otrzymał odpowiednio w ramach kanadyjskiego systemu klasyfikacji telewizyjnej i francuskojęzycznego systemu ocen Régie du cinéma, który jest używany w Québecu.

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

  • Dodaliśmy przykładowe kody dla tych metod:

24 października 2013 r.

Ta aktualizacja zawiera następujące zmiany:

  • Interfejs API zawiera 2 dodatkowe funkcje, które pomagają znajdować i promować treści transmitowane na żywo:

    Nowa właściwość snippet.liveBroadcastContent w wynikach wyszukiwania wskazuje, czy zasób filmu lub kanału zawiera treści transmitowane 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 film jest nadchodzącą czy aktywną transmisją na żywo. Poniżej znajdziesz możliwe wartości tej właściwości:

      • upcoming – film jest transmisją na żywo, która jeszcze się nie rozpoczęła.
      • active – film jest trwającą transmisją na żywo.
      • none – film nie jest nadchodzącą ani aktywną transmisją na żywo. Będzie to wartość właściwości dla zakończonych transmisji, które nadal można oglądać na YouTube.
    • Nowa właściwość liveStreamingDetails zasobu video to obiekt zawierający metadane dotyczące transmisji na żywo. Aby pobrać te metadane, dodaj liveStreamingDetails do listy części zasobów w wartości parametru part. Metadane zawierają te nowe właściwości:

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

    Pamiętaj, że 1 października 2013 r. udostępniliśmy 2 inne funkcje do 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ą kanał, na którym został on opublikowany. Domyślna wartość parametru to True, co oznacza, że subskrybenci będą powiadamiani o nowo przesłanych filmach. Jednak właściciel kanału, który przesyła wiele filmów, może ustawić wartość False, aby uniknąć wysyłania powiadomień o każdym nowym filmie do subskrybentów kanału.

  • Lista właściwości, które można modyfikować podczas wywoływania metody channels.update, została zaktualizowana i zawiera teraz właściwości invideoPromotion.items[].customMessage i invideoPromotion.items[].websiteUrl. Dodatkowo lista została zmodyfikowana, aby wskazać 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 w dotychczasowych funkcjach interfejsu API.

  • Metody playlists.insert, playlists.update i playlists.delete obsługują teraz parametr onBehalfOfContentOwner, który jest już obsługiwany przez kilka 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.

  • Definicja właściwości snippet.liveBroadcastContent, która jest częścią wyników wyszukiwania, została poprawiona, aby odzwierciedlała, ż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) – dzieci powinny być pod opieką osoby dorosłej.
    • mibacVm6 (V.M.6) – dozwolone od 6 roku życia.
    • mibacVm12 (V.M.12) – tylko dla osób, które ukończyły 12 lat.

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

1 października 2013 r.

Ta aktualizacja zawiera następujące zmiany:

  • Nowy obiekt auditDetails zasobu channel zawiera dane kanału, które sieć wielokanałowa (MCN) ocenia, decydując, czy zaakceptować, czy odrzucić dany kanał. Pamiętaj, że każde żądanie do interfejsu API, które pobiera tę część zasobu, musi zawierać token autoryzacji z zakresem https://www.googleapis.com/auth/youtubepartner-channel-audit. Dodatkowo każdy token, który używa tego zakresu, musi zostać unieważniony, gdy sieć wielokanałowa zdecyduje się zaakceptować lub odrzucić kanał, albo w ciągu 2 tygodni od daty wydania tokena.

  • Właściwość invideoPromotion.items[].id.type zasobu channel obsługuje teraz wartość recentUpload, która wskazuje, że promowany element to ostatnio przesłany film z określonego kanału.

    Domyślnie jest to ten sam kanał, dla którego ustawiono dane promocji w filmie. Możesz jednak promować najnowszy film przesłany na inny kanał, ustawiając wartość nowej właściwości invideoPromotion.items[].id.recentlyUploadedBy na identyfikator kanału dla 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 banerów wyświetlanych na stronach kanałów w aplikacjach telewizyjnych.

  • Nowa właściwość snippet.liveBroadcastContent w wynikach wyszukiwania wskazuje, czy zasób filmu lub kanału zawiera treści transmitowane 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 transmisją na żywo, która jeszcze się nie rozpoczęła, a wartość active oznacza, że film jest trwającą transmisją na żywo.
    • W przypadku zasobu channel wartość upcoming oznacza, że kanał ma zaplanowaną transmisję, która jeszcze się nie rozpoczęła, a wartość acive oznacza, że kanał ma trwającą transmisję na żywo.

  • W zasobie watermark właściwość targetChannelId została zmieniona z obiektu na ciąg znaków. Zamiast właściwości podrzędnej, która określa identyfikator kanału YouTube, do którego prowadzi link ze znaku wodnego, właściwość targetChannelId określa teraz tę wartość samodzielnie. W związku z tym usunięto właściwość targetChannelId.value zasobu.

  • 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 do zwracania tylko aktywnych, nadchodzących lub zakończonych wydarzeń transmitowanych.

  • Nowa właściwość contentDetails.contentRating.mibacRating określa ocenę, jaką film otrzymał od włoskiego Ministerstwa Dziedzictwa i Działalności Kulturalnej oraz Turystyki.

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

    Typ błędu Szczegóły błędu Opis
    badRequest invalidImage Metoda thumbnails.set zwraca ten błąd, jeśli podana treść obrazu jest nieprawidłowa.
    forbidden videoRatingDisabled Metoda videos.rate zwraca ten błąd, jeśli właściciel ocenianego filmu wyłączył możliwość oceniania go.

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 z określonego kanału. Możesz też określić kanał docelowy, do którego będzie prowadził link z obrazu, a także czas, kiedy znak wodny ma się pojawiać podczas odtwarzania filmu, i czas, przez jaki ma być widoczny.

    Metoda watermarks.set przesyła i ustawia obraz znaku wodnego 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. W związku z tym wartość właściwości to false, jeśli liczba subskrybentów kanału jest publicznie widoczna.

  • 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 określa region treści, dla którego należy pobrać zestawienie. Tego parametru można używać tylko w połączeniu z parametrem chart. Wartość parametru to kod kraju w formacie ISO 3166-1 alfa-2.

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

    Typ błędu Szczegóły błędu Opis
    forbidden insufficientPermissions Zakresy powiązane z tokenem OAuth 2.0 podanym w żądaniu 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:

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

  • Dodaliśmy przykładowe kody dla tych metod:

    Zwróć uwagę, że przykład w języku Python dla metody playlistItems.insert również został usunięty, ponieważ funkcje, które demonstrował, są teraz obsługiwane przez metodę videos.rate.

  • W error documentation opisano ten nowy błąd kontekstu żądania, który może wystąpić w przypadku dowolnej metody interfejsu API obsługującej 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. Usuń parametr mine, uwierzytelnij się jako użytkownik YouTube, usuwając parametr onBehalfOfContentOwner, lub działaj jako jeden z kanałów partnera, podając parametr onBehalfOfContentOwnerChannel, jeśli jest 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 zmieniła się 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 dominujący kolor, który uzupełnia treści kanału. Wartość właściwości to znak krzyżyka (#), po którym następuje 6-znakowy ciąg szesnastkowy, np. #2793e6.

  • Interfejs API obsługuje teraz możliwość określenia, czy subskrypcja dotyczy wszystkich działań na kanale, czy tylko nowych filmów. Nowa właściwość contentDetails.activityType zasobu subscription określa typy aktywności, o których subskrybent będzie powiadamiany. Prawidłowe wartości właściwości to all i uploads.

  • Metoda videos.list obsługuje nowe parametry umożliwiające pobieranie listy najpopularniejszych filmów w YouTube:

    • Parametr chart identyfikuje 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 określa kategorię filmu, dla której należy pobrać zestawienie. Tego parametru można używać tylko w połączeniu z parametrem chart. Domyślnie wykresy nie są ograniczone do konkretnej kategorii.

  • Nowa właściwość topicDetails.relevantTopicIds[] zasobu video zawiera listę identyfikatorów tematów Freebase, które są powiązane z filmem lub jego treścią. Tematy te mogą być wspomniane lub pojawiać się w filmie.

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

  • Obiekt contentDetails.contentRating zasobu video określa oceny, które film otrzymał w różnych systemach oceniania, w tym MPAA, TVPG itd. W przypadku każdego systemu ocen interfejs API obsługuje teraz wartość oceny, która wskazuje, że film nie został oceniony. Pamiętaj, że w przypadku ocen MPAA ocena „bez oceny” jest często używana do identyfikowania nieocenzurowanych wersji filmów, których wersja ocenzurowana otrzymała oficjalną ocenę.

  • Nowa właściwość contentDetails.contentRating.ytRating zasobu video identyfikuje 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 właściwość jest nieobecna lub jej wartość jest pusta, oznacza to, że treści nie zostały zidentyfikowane jako objęte ograniczeniem wiekowym.

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

  • 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 określonego w wartości parametru.

  • Zaktualizowaliśmy dokumentację metody channels.update, aby odzwierciedlić fakt, że można jej używać 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.

  • W error documentation opisano te nowe błędy:

    Typ błędu Szczegóły błędu Opis
    forbidden accountDelegationForbidden Ten błąd nie dotyczy konkretnej metody interfejsu API. Oznacza to, że uwierzytelniony użytkownik nie ma uprawnień do działania w imieniu określonego konta Google.
    forbidden authenticatedUserAccountClosed Ten błąd nie dotyczy konkretnej metody interfejsu API. Wskazuje, że konto YouTube uwierzytelnionego użytkownika jest zamknięte. Jeśli użytkownik działa w imieniu innego konta Google, ten błąd oznacza, że to drugie konto jest zamknięte.
    forbidden authenticatedUserAccountSuspended Ten błąd nie dotyczy konkretnej metody interfejsu API. Oznacza to, że konto YouTube uwierzytelnionego użytkownika zostało zawieszone. Jeśli użytkownik działa w imieniu innego konta Google, ten błąd oznacza, że to drugie konto jest zawieszone.
    forbidden authenticatedUserNotChannel Ten błąd nie dotyczy konkretnej metody interfejsu API. Oznacza to, że serwer interfejsu API nie może zidentyfikować kanału powiązanego z żądaniem do interfejsu API. Jeśli żądanie jest autoryzowane i używa parametru onBehalfOfContentOwner, musisz też ustawić parametr onBehalfOfContentOwnerChannel.
    forbidden cmsUserAccountNotFound Ten błąd nie dotyczy konkretnej metody interfejsu API. Użytkownik 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ługiwane lub niedostępne zestawienie filmów.
    notFound videoNotFound Metoda videos.update zwraca ten błąd, aby wskazać, że nie można znaleźć filmu, który próbujesz zaktualizować. Sprawdź, czy wartość właściwości id w treści żądania jest prawidłowa.

10 czerwca 2013 r.

Ta aktualizacja zawiera następujące zmiany:

  • Nowy parametr forUsername metody channels.list umożliwia pobieranie informacji o kanale przez podanie jego nazwy użytkownika w YouTube.

  • Metoda activities.list obsługuje teraz parametr regionCode, który instruuje interfejs API, aby zwracał wyniki odpowiednie dla określonego kraju. YouTube używa tej wartości, gdy poprzednia aktywność autoryzowanego użytkownika w YouTube nie dostarcza wystarczających informacji do wygenerowania karty aktywności.

  • Zasoby playlisty zawierają teraz właściwość snippet.tags. Właściwość będzie zwracana tylko uprawnionym użytkownikom, którzy pobierają dane o własnych playlistach. Uprawnieni 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 również 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 zostanie dodany film. Kanał musi być połączony z właścicielem treści określonym przez parametr onBehalfOfContentOwner.

    Parametr wskazuje, że dane uwierzytelniające żądania identyfikują użytkownika systemu 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ę uwierzytelnia, musi być połączone z określonym właścicielem treści w YouTube.

    Ten parametr jest przeznaczony dla partnerów, którzy są właścicielami wielu różnych kanałów YouTube i nimi zarządzają. Dzięki temu parametrowi partnerzy mogą uwierzytelnić się raz i uzyskać dostęp do wszystkich danych o filmach i kanałach bez konieczności podawania danych uwierzytelniających dla każdego kanału.

    W przypadku tej wersji parametr umożliwia partnerowi treści wstawianie, aktualizowanie i usuwanie filmów na dowolnym kanale YouTube, który do niego należy.

  • W error documentation opisano te nowe błędy:

    Typ błędu Szczegóły błędu Opis
    forbidden insufficientCapabilities Ten błąd nie dotyczy konkretnej metody interfejsu API. Oznacza to, ż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 w przypadku kilku 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 usunięto właściwość invideoPromotion.channelId, ponieważ identyfikator kanału jest już określony za pomocą właściwości id zasobu.

  • Nowy przewodnik Praca z identyfikatorami kanałów wyjaśnia, jak interfejs API używa identyfikatorów kanałów. Przewodnik może być szczególnie przydatny dla deweloperów, którzy przechodzą z poprzedniej wersji interfejsu API i mają aplikacje, które żądają treści dla użytkownika default lub opierają się na założeniu, że każdy kanał YouTube ma unikalną nazwę użytkownika, co nie jest już prawdą.

22 maja 2013 r.

Ta aktualizacja zawiera następujące zmiany:

14 maja 2013 r.

Ta aktualizacja zawiera następujące zmiany:

  • Na samodzielnych stronach znajdziesz teraz przykładowe kody w językach Java, .NET, PHP i Ruby.

  • Strona z przykładowymi kodami w języku Python zawiera 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 zawiera informacje o kampanii promocyjnej powiązanej z kanałem. Kanał może używać kampanii promocyjnej In-Video, aby wyświetlać miniatury promowanego filmu w odtwarzaczu podczas odtwarzania filmów z kanału.

    Te dane możesz pobrać, uwzględniając invideoPromotion w wartości parametru part w żądaniu channels.list.

  • Nowa metoda channels.update umożliwia aktualizowanie danych kampanii promocyjnej In-Video na kanale. Pamiętaj, że ta 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, która jest warunkiem wstępnym do wykonania kilku działań, takich jak przesyłanie filmów.

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

  • Interfejs API obsługuje teraz metodę videos.getRating, która pobiera oceny wystawione przez uwierzytelnionego użytkownika dla listy co najmniej 1 filmu.

  • Nowy parametr myRating metody videos.list umożliwia pobranie listy filmów, które uwierzytelniony użytkownik ocenił jako like lub dislike.

    Parametry myRating i id są teraz uważane za parametry filtra, co oznacza, że żądanie do interfejsu API musi określać dokładnie jeden z nich. (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 są odpowiednio autoryzowane.

  • Wraz z wprowadzeniem parametru myRating metoda videos.list została zaktualizowana, aby obsługiwać podział na strony. Pamiętaj jednak, że parametry stronicowania są obsługiwane tylko w przypadku żądań, które używają parametru myRating. (Parametry i informacje dotyczące stronicowania nie są obsługiwane w przypadku żądań, które używają parametru id).

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

    • Zasób youtube#videoListResponse, który jest zwracany w odpowiedzi na żądanie videos.list, zawiera teraz obiekt pageInfo, który zawiera szczegółowe informacje, takie jak łączna liczba wyników i liczba wyników uwzględnionych w bieżącym zbiorze wyników. Zasób youtube#videoListResponse może też zawierać właściwości nextPageToken i prevPageToken, z których każda udostępnia token, którego można użyć do pobrania określonej strony w zbiorze wyników.

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

    • autoLevels – ustaw wartość tego parametru na true, aby YouTube automatycznie poprawiał oświetlenie i kolorystykę filmu.
    • stabilize – ustaw wartość tego parametru na true, aby poinstruować YouTube, że ma dostosować film, usuwając drgania wynikające z ruchów kamery.

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

    • playlistItem – ta właściwość określa nazwę kanału, który dodał element playlisty.
    • playlist – ta właściwość określa nazwę kanału, na którym utworzono playlistę.
    • subscription – ta właściwość określa nazwę kanału, który jest subskrybowany.

  • Dodaliśmy przykładowe kody dla tych metod:

  • Nowy parametr mySubscribers metody subscriptions.list umożliwia pobranie listy subskrybentów aktualnie uwierzytelnionego użytkownika. Tego parametru można używać tylko w prawidłowo autoryzowanym żądaniu.

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

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

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

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

19 kwietnia 2013 r.

Ta aktualizacja zawiera następujące zmiany:

  • Nowa metoda videos.rate umożliwia użytkownikowi ustawienie oceny like lub dislike filmu albo usunięcie oceny z filmu.

    Zaktualizowaliśmy też dokumentację błędów, aby zawierała listę błędów, które interfejs API może zwracać w odpowiedzi na wywołanie metody videos.rate.

  • W dokumentacji interfejsu API miniatury są teraz identyfikowane jako osobny zasób, a nowa metoda thumbnails.set umożliwia przesłanie niestandardowej miniatury filmu do YouTube i ustawienie jej dla filmu.

    Zaktualizowaliśmy też dokumentację błędów, aby zawierała listę błędów, które interfejs API może zwracać w odpowiedzi na wywołanie metody thumbnails.set.

    Pamiętaj, że ta zmiana nie ma wpływu na istniejące zasoby, które zwracają miniatury. Miniatury są zwracane w tych zasobach w taki sam sposób jak wcześniej, ale dokumentacja zawiera teraz nazwy różnych rozmiarów miniatur, które może zwracać 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 określa stan prywatności elementu playlisty.

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

  • Dokumentacja metody playlistItems.update została zaktualizowana, aby odzwierciedlić fakt, że właściwość snippet.resourceId musi być określona w zasobie wysył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 według liczby filmów w porządku malejącym (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, które wymieniono 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. Użyj metody videoCategories.list, aby pobrać obsługiwane kategorie.
    badRequest invalidRecordingDetails W elemencie metadata podano nieprawidłowe informacje o nagraniu.
    badRequest invalidVideoGameRating Metadane żądania określają 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 w przypadku tych zasobów:

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

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

    • Parametr channelType pozwala ograniczyć wyszukiwanie kanałów, aby pobrać wszystkie kanały lub tylko programy.

    • Parametr videoType pozwala ograniczyć wyszukiwanie filmów, aby pobrać wszystkie filmy, tylko filmy pełnometrażowe lub tylko odcinki programów.

  • Definicja części recordingDetails zasobu video została zaktualizowana, aby zaznaczyć, że obiekt będzie zwracany tylko w przypadku filmu, jeśli ustawiono dane geolokalizacyjne lub czas nagrywania filmu.

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

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

    • Parametr onBehalfOfContentOwner wskazuje, że dane uwierzytelniające żądania identyfikują użytkownika systemu 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ę uwierzytelnia, musi być połączone z określonym właścicielem treści w YouTube.

      Ten parametr jest przeznaczony dla partnerów, którzy są właścicielami wielu różnych kanałów YouTube i nimi zarządzają. Dzięki temu parametrowi partnerzy mogą uwierzytelnić się raz i uzyskać dostęp do wszystkich danych o filmach i kanałach bez konieczności podawania danych uwierzytelniających dla każdego kanału.

      Ten parametr obsługują metody channels.list, search.list, videos.delete, videos.list i videos.update.

    • Parametr managedByMe, który jest obsługiwany przez metodę channels.list, instruuje interfejs API, aby zwrócił wszystkie kanały należące do właściciela treści określonego przez parametr onBehalfOfContentOwner.

    • Parametr forContentOwner, który jest obsługiwany przez metodę search.list, instruuje interfejs API, aby ograniczył wyniki 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 zasobów video:

    • Nowe części fileDetails, processingDetails i suggestions dostarczają właścicielom filmów informacji o przesłanych przez nich filmach. Te dane są bardzo przydatne w aplikacjach, które umożliwiają przesyłanie filmów, i obejmują:

      • stan i postęp przetwarzania
      • błędy lub inne problemy napotkane podczas przetwarzania filmu;
      • dostępność obrazów miniatur,
      • sugestie dotyczące poprawy jakości filmu lub metadanych,
      • szczegóły dotyczące oryginalnego pliku przesłanego do YouTube,

      Wszystkie te części może pobrać tylko właściciel filmu. Poniższa lista zawiera krótkie opisy nowych części, a dokumentacja zasobu video definiuje wszystkie właściwości, które zawiera każda część.

      • Obiekt fileDetails zawiera informacje o pliku wideo przesłanym do YouTube, w tym o rozdzielczości, czasie trwania, kodekach audio i wideo, szybkości transmisji bitów strumienia i innych.

      • Obiekt processingProgress zawiera informacje o postępach YouTube w przetwarzaniu przesłanego pliku wideo. Właściwości obiektu określają bieżący stan przetwarzania i szacowany czas pozostały do zakończenia przetwarzania filmu przez YouTube. Ta część wskazuje też, czy dla filmu są dostępne różne typy danych lub treści, takie jak szczegóły pliku lub miniatury.

        Ten obiekt jest przeznaczony do odpytywania, aby przesyłający film mógł śledzić postępy YouTube w przetwarzaniu przesłanego pliku wideo.

      • Obiekt suggestions zawiera sugestie, które wskazują możliwości poprawy jakości filmu lub metadanych przesłanego filmu.

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

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

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

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

  • Definicja parametru part została zaktualizowana w przypadku metod videos.list, videos.insert i videos.update, aby uwzględnić nowo dodane części opisane powyżej, a także część recordingDetails, która została przypadkowo pominięta.

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

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

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

    Jeśli film określony przez parametr nie zostanie znaleziony na playliście, interfejs API zwróci błąd notFound.

  • W dokumentacji błędów opisano nowy błąd forbidden, który wskazuje, że żądanie nie jest prawidłowo autoryzowane do wykonania żądanego działania.

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

30 stycznia 2013 r.

Ta aktualizacja zawiera następujące zmiany:

  • Nowa strona błędu zawiera listę błędów, które może zwrócić interfejs API. Strona zawiera błędy ogólne, które mogą wystąpić w przypadku wielu różnych metod interfejsu API, a także błędy związane z konkretnymi metodami.

16 stycznia 2013 r.

Ta aktualizacja zawiera następujące zmiany:

  • Przykładowe kody są teraz dostępne w przypadku metod i języków wymienionych na liście poniżej:

  • Zasób activity może teraz zgłaszać działanie channelItem, które ma miejsce, gdy YouTube dodaje film do automatycznie wygenerowanego kanału YouTube. (YouTube algorytmicznie identyfikuje tematy, które cieszą się na naszej platformie dużą popularnością, i automatycznie generuje kanały dla tych tematów).

  • Zaktualizowano te parametry (search.list):

    • Parametr q nie jest już oznaczony jako filtr, co oznacza, że…
    • Parametr relatedToVideo nosi teraz nazwę relatedToVideoId.
    • Parametr published został zastąpiony 2 nowymi parametrami: publishedAfter i publishedBefore, które opisujemy poniżej.

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

    Nazwa parametru Wartość Opis
    channelId string Zwraca zasoby utworzone przez określony kanał.
    publishedAfter datetime Zwraca zasoby utworzone po określonym czasie.
    publishedBefore datetime Zwróć zasoby utworzone przed określonym czasem.
    regionCode string Zwraca zasoby dla określonego kraju.
    videoCategoryId string Filtruje wyniki wyszukiwania filmów, aby uwzględnić tylko filmy powiązane z określoną kategorią filmów.
    videoEmbeddable string Filtruj wyniki wyszukiwania filmów, aby uwzględniać tylko filmy, które można odtworzyć w odtwarzaczu umieszczonym na stronie internetowej. Ustaw wartość parametru na true, aby pobierać tylko filmy, które można umieszczać na stronach.
    videoSyndicated string Filtruj wyniki wyszukiwania filmów, aby uwzględniać tylko filmy, które można odtwarzać poza YouTube.com. Aby pobierać tylko filmy dystrybuowane, ustaw wartość parametru na true.
  • Kilka zasobów interfejsu API obsługuje nowe właściwości. W tabeli poniżej znajdziesz zasoby i ich nowe właściwości:

    Zasób Nazwa usługi Wartość Opis
    activity contentDetails.playlistItem.playlistItemId string Identyfikator elementu playlisty przypisany przez YouTube, który jednoznacznie identyfikuje element na playliście.
    activity contentDetails.channelItem object Obiekt zawierający informacje o zasobie dodanym do kanału. Ta właściwość jest obecna tylko wtedy, gdy snippet.type ma wartość channelItem.
    activity contentDetails.channelItem.resourceId object Obiekt, który identyfikuje zasób dodany do kanału. Podobnie jak inne właściwości resourceId, zawiera ona właściwość kind, która określa typ zasobu, np. film lub playlistę. Zawiera też dokładnie jedną z kilku właściwości – videoId, playlistId itd. – która określa identyfikator jednoznacznie identyfikujący dany zasób.
    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 Ten obiekt zawiera informacje, które można wykorzystać do odtworzenia playlisty w odtwarzaczu umieszczonym na stronie internetowej.
    playlist player.embedHtml string Tag <iframe>, który umieszcza odtwarzacz odtwarzający playlistę.
    video recordingDetails object Ten obiekt zawiera informacje, które identyfikują lub opisują miejsce i czas nagrania filmu.
    video recordingDetails.location object Ten obiekt zawiera informacje o geolokalizacji 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 powierzchnią Ziemi w metrach.
    video recordingDetails.locationDescription string Tekstowy opis lokalizacji, w której nagrano film.
    video recordingDetails.recordingDate datetime Data i godzina nagrania filmu. Wartość jest podawana w formacie ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ).
  • Dokumentacja kilku metod interfejsu API zawiera teraz właściwości, które muszą być określone w treści żądania lub są aktualizowane na podstawie wartości w treści żądania. W tabeli poniżej znajdziesz te metody oraz wymagane lub modyfikowalne właściwości.

    Uwaga: dokumentacja innych metod może już zawierać wymagane i modyfikowalne właściwości.

    Metoda Właściwości
    activities.insert Właściwości wymagane:
    • snippet.description
    Właściwości, które można modyfikować:
    • snippet.description
    • contentDetails.bulletin.resourceId
    playlists.update Właściwości wymagane:
    • id
    playlistItems.update Właściwości wymagane:
    • id
    videos.update Właściwości wymagane:
    • id
  • Interfejs API nie zgłasza już błędu playlistAlreadyExists, gdy próbujesz utworzyć lub zaktualizować playlistę, która miałaby taki sam tytuł jak playlista już istniejąca na tym samym kanale.

  • Kilka metod interfejsu API obsługuje nowe typy błędów. W tabeli poniżej znajdziesz 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 określonej przez parametr id. Aby pobrać listę prawidłowych wartości, użyj metody guideCategories.list.
    playlistItems.delete forbidden playlistItemsNotAccessible Żądanie nie ma odpowiednich uprawnień, aby usunąć określony element playlisty.
    videoCategories.list notFound videoCategoryNotFound Nie udało się znaleźć kategorii filmu określonej przez parametr id. Aby pobrać listę prawidłowych wartości, użyj metody videoCategories.list.