Historia zmian

Na tej stronie znajdziesz zmiany w interfejsie YouTube Data API (v3) oraz aktualizacje dokumentacji. Zasubskrybuj ten dziennik zmian. Subskrybuj.

30 kwietnia 2024 r.

Uwaga: to jest ogłoszenie o wycofaniu tej usługi.

Ta aktualizacja zawiera następujące zmiany:

Interfejs API nie obsługuje już możliwości wstawiania ani pobierania dyskusji na kanale. Zmiana ta wynika z funkcji dostępnej na stronie YouTube, która nie pozwala na publikowanie komentarzy na kanałach.

13 marca 2024 r.

Uwaga: to jest ogłoszenie o wycofaniu tej usługi.

Ta aktualizacja zawiera następujące zmiany:

Parametr sync parametru captions.insert i captions.update metod została wycofana. YouTube przestanie obsługiwać 12 kwietnia 2024 r.

W związku z tą zmianą deweloperzy muszą podać informacje o czasie w trakcie wstawiania lub nie uda się zaktualizować ścieżek z napisami.

12 marca 2024 r.

Ta aktualizacja zawiera następujące zmiany:

Dokumentacja zasobu captions została zaktualizowana, aby zaznaczyć, że maksymalna dozwolona długość dla zasobu snippet.name pole ma 150 znaków. Interfejs API zwraca błąd nameTooLong jeśli nazwa ścieżki jest dłuższa.

7 marca 2024 r.

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

Właściwość zasobu channel Usługa brandingSettings.channel.moderateComments została wycofana. YouTube przestanie działać obsługuje ten parametr od 7 marca 2024 r.

31 stycznia 2024 r.

Ta aktualizacja zawiera następujące zmiany:

Nowa wartość forHandle metody channels.list umożliwia pobieranie informacji o kanale przez określenie jego nicka YouTube.

9 listopada 2023 r.

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

12 września 2023 r.

Uwaga: to jest ogłoszenie o wycofaniu tej usługi.

Metoda comments.markAsSpam została wycofana od kilku lat. Ta metoda nie jest już obsługiwana w YouTube, więc nie można obsługiwane przez interfejs API.

Do wszystkich dokumentów odwołujących się do Metoda comments.markAsSpam.

22 sierpnia 2023 r.

Metoda search.list obsługuje teraz metodę videoPaidProductPlacement . Umożliwia on filtrowanie wyników wyszukiwania, tak by zawierały tylko filmy, do których twórca określił, że ma płatną promocję.

18 sierpnia 2023 r.

Definicja zasobu video liveStreamingDetails.concurrentViewers został zaktualizowany, aby zwrócić uwagę na to, że liczba równoczesnych widzów, którą zwraca interfejs YouTube Data API, może różnią się od przetworzonych, pozbawionych spamu równoczesnych widzów podanych w YouTube. Analytics. Centrum pomocy YouTube zawiera więcej informacji o danych transmisji na żywo.

7 sierpnia 2023 r.

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

28 czerwca 2023 r.

Metoda thumbnails.set obsługuje teraz Błąd uploadRateLimitExceeded, który oznacza, że na kanał przesłano zbyt wiele treści miniatur w ciągu ostatnich 24 godzin. Spróbuj ponownie później.

12 czerwca 2023 r.

Uwaga: to jest ogłoszenie o wycofaniu tej usługi.

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

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

Dodatkowo pokazujemy, jak pobrać podobne filmy, usunąć z przewodnika po implementacji interfejsu API.

22 sierpnia 2022 r.

Poprawione adnotacje typu w atrybucie video.statistics na ciąg znaków z długości bez znaku.

5 sierpnia 2022 r.

YouTube zmienił sposób generowania identyfikatorów napisów. W ramach tej zmiany przypisywanie nowych identyfikatorów napisów do wszystkich ścieżek napisów. Ta zmiana może być niezgodna wstecznie dla aplikacji, które przechowują caption_id, ale nie będzie wpływają na aplikacje, które nie przechowują caption_id wartości.

Od teraz do 1 grudnia 2022 r. captions.list, captions.update, captions.download i i captions.delete metod obsługują zarówno stare, jak i nowe identyfikatory ścieżek z napisami. Jednak 1 grudnia 2022 r. lub później przestaną obsługiwać stare identyfikatory ścieżek z napisami. Wtedy wywołanie dowolnej z tych metod interfejsu API ze starym identyfikatorem ścieżki z napisami, captionNotFound błąd.

Aby przygotować się na tę zmianę, należy zaplanować całkowite zastąpienie wszystkich przechowywanych danych ścieżek z napisami do 1 grudnia 2022 r. Oznacza to, że każdy film, do którego przechowujesz ścieżkę z napisami, należy usunąć obecnie przechowywane dane, a następnie wywołać funkcję Metoda captions.list do pobrania bieżący zestaw ścieżek napisów dla filmu i przechowuje dane w odpowiedzi interfejsu API w taki sam sposób, jak w zwykły sposób.

12 lipca 2022 r.

Warunki korzystania z usług YouTube API zostały zaktualizowane. Proszę zobacz Warunki korzystania z usług YouTube API – wersja Historia.

27 kwietnia 2022 r.

Opis metody videos.insert został zmieniony z informacją, że maksymalny rozmiar przesłanych filmów wzrósł z 128 GB do 256 GB.

8 kwietnia 2022 r.

Metoda subscriptions.list myRecentSubscribers i definicje parametrów mySubscribers zostały zaktualizowane tak, aby zwracały uwagę na to, że maksymalna liczba subskrybentów zwracanych przez interfejs API może być ograniczona. Ta zmiana jest poprawką w dokumentacji, a nie zmianą w działaniu interfejsu API.

15 grudnia 2021 r.

Zgodnie z ogłoszeniem z 18 listopada 2021 r. oraz zmiany dotyczące oznaczania filmu jako „Nie podoba mi się” uznaje się za prywatne na całej platformie YouTube, zasób video to statistics.dislikeCount usługa jest teraz prywatna.

Więcej informacji na temat tej zmiany znajdziesz na oficjalnym blogu YouTube.

18 listopada 2021 r.

W połączeniu ze zmianami w ustaw liczbę negatywnych ocen filmu jako prywatną na całej platformie YouTube, zasób video statistics.dislikeCount 13 grudnia 2021 r. zostanie ona ustawiona jako prywatna. Oznacza to, że w przypadku tej usługi dostępne są tylko być uwzględniony w odpowiedzi interfejsu API z punktu końcowego videos.list, jeśli żądanie do interfejsu API zostało uwierzytelniona przez właściciela filmu.

Nie ma to wpływu na punkt końcowy videos.rate przez tę zmianę.

Deweloperzy, którzy nie wyświetlają publicznie liczby głosów na nie, ale nadal potrzebują tej liczby Klient interfejsu API może ubiegać się o dodanie do listy dozwolonych w celu zwolnienia z obowiązku spełniania wymogów tych zasad. Aby ubiegać się o zwolnienie z obowiązku posiadania licencji, musi to zrobić formularz zgłoszeniowy.

Więcej informacji na temat tej zmiany znajdziesz na oficjalnym blogu YouTube.

2 lipca 2021 r.

Uwaga: to jest ogłoszenie o wycofaniu tej 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. Zamiast tego możesz: Zadzwoń na comments.update

metoda a jeśli Twój kod wymaga zasobu commentThreads, wyślij dodatkowe wywołanie do funkcji Metoda commentThreads.list.

1 lipca 2021 r.

Aby otrzymać więcej niż domyślny przydział 10 tysięcy jednostek,wszyscy deweloperzy korzystający z usług interfejsu API YouTube muszą przejść kontrolę zgodności interfejsów API. Do tej pory deweloperzy, którzy wypełnili i przesyłali formularz dotyczący audytu zgodności z zasadami i zwiększenia limitu na potrzeby korzystania z usług YouTube API, musieli wypełnić i przesłać prośbę o przyznanie dodatkowych jednostek przydziału.

Aby doprecyzować te procesy i lepiej spełniać potrzeby deweloperów korzystających z naszych usług API, dodajemy 3 nowe formularze oraz przewodnik, jak je wypełniać:

  • Formularz próśb deweloperów objętych kontrolą: deweloperzy, którzy przeszli już audyt zgodności interfejsu API, mogą wypełnić i przesłać ten krótszy formularz, aby poprosić o zwiększenie limitu.
  • Formularz odwołania: deweloperzy, których projekty interfejsu API nie przeszły kontroli zgodności (lub nie otrzymały prośby o zwiększenie liczby jednostek przydziału), mogą wypełnić i przesłać ten formularz.
  • Zmiana formularza kontrolnego: deweloperzy lub dowolny podmiot obsługujący klienta interfejsu API w imieniu dewelopera, w przypadku którego nastąpi zmiana kontroli (np. w wyniku zakupu lub sprzedaży akcji, fuzji przedsiębiorstw bądź innego rodzaju transakcji firmowej) związanych z projektem API, musi wypełnić i przesłać ten formularz. Dzięki temu zespół YouTube zajmujący się interfejsami API może aktualizować nasze dane, kontrolować zgodność nowego projektu API z zasadami i weryfikować aktualny przydział limitów dewelopera.

Każdy nowy formularz poinformuje nas o zamierzonym użyciu interfejsu API YouTube i umożliwi nam lepszą pomoc.

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

12 maja 2021 r.

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

Ta aktualizacja obejmuje te zmiany w interfejsie API:

  • Zasób channel contentDetails.relatedPlaylists.favorites została wycofana. Funkcja ulubionych filmów została już wycofana w przypadku kilka lat, jak podano w 28 kwietnia 2016 r., wersja wpis w historii.

    Przed tą aktualizacją interfejs API nadal tworzył nową playlistę, jeśli klient API próbował to zrobić. Dodanie filmu do nieistniejącej playlisty ulubionych. Od tej pory playlista nie będzie w tym przypadku, a interfejs API zwróci błąd. Próby modyfikacji playlist ulubionych dodając, modyfikując lub usuwając elementy, również zostaną wycofane zgodnie z poprzednimi ogłoszeniami. mogą w każdej chwili zacząć zwracać błędy.

  • channel zasób zostały wycofane. Te właściwości nie są już obsługiwane w interfejsie YouTube Studio oraz w YouTube. W związku z tym nie są one 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 miejsca zakwaterowania zostały usunięte z channel reprezentacji zasobu. Ich definicje zostały usunięte z listę usług. Dodatkowo błędy powiązane z tymi właściwościami zostały usunięte z dokumentacji konkretnej metody.

  • channelSection zasób zostały wycofane. Te właściwości nie są już obsługiwane w interfejsie YouTube Studio oraz w YouTube. W związku z tym nie są one 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 połączeniu z tą zmianą funkcja channelSection.list Parametr hl również zawiera została wycofana, ponieważ obsługiwane przez nią funkcje nie są obsługiwane.

    Wszystkie miejsca zakwaterowania zostały usunięte z channelSection reprezentacji zasobu. Ich definicje zostały usunięte z listę usług. Dodatkowo błędy powiązane z tymi właściwościami zostały usunięte z dokumentacji konkretnej metody.

  • W przypadku zasobu channelSection usługę snippet.type, poniższe wartości zostały wycofane. Te wartości nie są już obsługiwane w YouTube strony kanału i w efekcie nie są one już obsługiwane przez interfejs API.

    • likedPlaylists
    • likes
    • postedPlaylists
    • postedVideos
    • recentActivity
    • recentPosts
  • Zasób playlist Usługa snippet.tags[] została wycofana. Ta właściwość już nie jest obsługiwana w YouTube i w rezultacie nie jest już obsługiwana przez interfejs API.

9 lutego 2021 r.

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

28 stycznia 2021 r.

Ta aktualizacja zawiera następujące zmiany:

  • playlistItems.delete, playlistItems.insert, playlistItems.list, playlistItems.update, playlists.delete, playlists.list i Wszystkie obsługiwane metody playlists.update nowy błąd playlistOperationUnsupported. Błąd występuje, gdy żądanie próbuje podejść do wykonać operację, która jest niedozwolona w przypadku danej playlisty. Użytkownik nie może na przykład usuwa filmy z przesłanych filmów lub całą playlistę.

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

  • Metoda playlistItems.list Błędy watchHistoryNotAccessible i watchLaterNotAccessible zostały usunięte zostały usunięte z dokumentacji. Chociaż użytkownicy historia oglądania i listy Do obejrzenia niedostępne za pośrednictwem interfejsu API, te konkretne błędy nie są przez niego zwracane.

15 października 2020 r.

Do strony Dla programistów dodaliśmy dwie nowe sekcje Zasady:

  • Nowa sekcja III.E.4.i stanowi dodatkowe informacje na temat danych zbieranych i wysyłanych za pośrednictwem osadzonego odtwarzacza YouTube. Ty ponosi odpowiedzialność za wszelkie dane użytkownika wysyłane do nas za pośrednictwem dowolnego umieszczonego odtwarzacza YouTube przed użytkownik wszedł w interakcję z odtwarzaczem, aby wskazać zamiar odtworzenia. Możesz ograniczyć udostępniane dane YouTube, zanim użytkownik wejdzie w interakcję z odtwarzaczem, ustawiając opcję autoodtwarzania na wartość Fałsz.
  • Nowa sekcja III.E.4.j dotyczy sprawdzić, czy treści są przeznaczone dla dzieci (MFK), zanim umieścisz je na swoich stronach; aplikacji. Ponosisz odpowiedzialność za informacje o tym, kiedy filmy umieszczone przez Ciebie w kliencie API zostaną utworzone dla dzieci i odpowiednio traktuj dane zbierane przez odtwarzacz umieszczony na stronie. W związku z tym musisz sprawdź stan treści za pomocą usługi YouTube Data API, zanim umieścisz je w interfejsie API. Klient za pośrednictwem dowolnego umieszczonego na stronie odtwarzacza YouTube

Nowy Jak sprawdzić, czy film ma status MadeForKids wyjaśnia, jak sprawdzić stan treści przeznaczonych dla dzieci za pomocą Usługa YouTube Data API.

W związku z tymi zmianami dodaliśmy przypomnienie do sekcji dokumentacji parametru osadzonego odtwarzacza, która wyjaśnia, jeśli włączysz autoodtwarzanie, odtwarzanie będzie odbywać się bez interakcji użytkownika z odtwarzaczem; odtwarzanie dane są więc zbierane i udostępniane podczas wczytywania strony.

8 października 2020 r.

Ta aktualizacja obejmuje trzy niewielkie zmiany związane z channel zasób:

  • snippet.thumbnails do identyfikacji obrazów miniatur kanału. W nowo utworzonych obiektach może on być pusty. kanałów. Zapełnienie danych może potrwać nawet 1 dzień.
  • statistics.videoCount odzwierciedla liczbę filmów publicznych na kanale, nawet dla właścicieli. To zachowanie są zgodne z danymi na stronie YouTube.
  • Słowa kluczowe kanału, które są określane na podstawie tagu brandingSettings.channel.keywords mogą zostać obcięte, jeśli przekraczają maksymalną dozwoloną długość 500 znaków lub jeśli zawiera cudzysłowy bez zmiany znaczenia ("). Pamiętaj, że limit 500 znaków nie oznacza limitu liczby słów kluczowych, ale raczej ograniczenia łącznej długości wszystkich słów kluczowych. Takie zachowanie jest zgodne z zasadami w YouTube.

9 września 2020 r.

Uwaga: to jest ogłoszenie o wycofaniu tej usługi.

Ta aktualizacja obejmuje poniższe zmiany w interfejsie API. Wszystkie zmiany zaczną obowiązywać najwcześniej 9 września 2020 roku, data opublikowania tego ogłoszenia. Mając to na uwadze, deweloperzy nie powinni już korzystać z funkcji interfejsu API wymienionych poniżej.

  • Te zasoby, metody, parametry i właściwości zasobów interfejsu API zostały wycofane natychmiast i przestanie działać w dniu otrzymania tego ogłoszenia lub po nim:
    • channel zasób właściwości:
      • Właściwość statistics.commentCount
      • Obiekt brandingSettings.image i wszystkie jego właściwości podrzędne
      • Lista brandingSettings.hints i wszystkie jej właściwości podrzędne
    • Metoda channels.list categoryId parametr filtra
    • Zasób guideCategories oraz guideCategories.list metoda
  • Odpowiedzi interfejsu API dla argumentu Numer metody channels.list zawierają już prevPageToken , jeśli żądanie do interfejsu API ustawia wartość managedByMe parametr do true. Ta zmiana nie ma wpływu na właściwość prevPageToken dla innych żądań channels.list i nie ma wpływu na nextPageToken dla dowolnych żądań.
  • Zasób channel: contentDetails.relatedPlaylists.watchLater i obiekty contentDetails.relatedPlaylists.watchHistory zostały ogłoszone jako wycofane 11 sierpnia 2016 r. Obsługa metod playlistItems.insert i playlistItems.delete dla tych playlist zostały w pełni wycofane i zostały usunięte z dokumentacji.
  • Parametr mySubscribers metody channels.list, który był ogłoszona jako wycofana 30 lipca 2013 r. została zostały usunięte z dokumentacji. Użyj subscriptions.list i mySubscribers, aby pobrać listę subskrybentów na kanale uwierzytelnionego użytkownika.
  • Obiekt invideoPromotion zasobu channel i cały jego obiekt podrzędny usług, 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 opłat za żądania do interfejsu API, usuwając dodatkowe koszt powiązany z parametrem part. Obowiązuje natychmiast. Będziemy pobierać tylko opłaty podstawowy koszt wywoływanej metody. Więcej informacji o wersji uproszczonej tutaj.

W efekcie większość wywołań interfejsu API będzie miała nieznacznie niższy limit, a niektóre wywołania interfejsu API nadal mają taki sam koszt. Ta zmiana nie zwiększy kosztów żadnego interfejsu API połączeń. Ogólnie prawdopodobnym wpływem będzie przydzielony Ci limit, który widać w Google Cloud Console.

Zdecydowanie zalecamy wszystkim deweloperom wykonanie audytu zgodności projekty, aby zapewnić nieprzerwany dostęp do usług interfejsu API YouTube.

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

28 lipca 2020 roku

Wszystkie filmy przesłane przez videos.insert punktu końcowego z niezweryfikowanych projektów API utworzonych po 28 lipca 2020 roku będą ograniczone do w trybie wyświetlania prywatnego. Aby można było usunąć to ograniczenie, każdy projekt musi przejść kontrolę, aby zweryfikować, zgodność z Warunki korzystania z usługi.

Twórcy, którzy przesyłają filmy za pomocą niezweryfikowanego klienta API, otrzymają e-maila z wyjaśnieniem, film zostanie zablokowany jako prywatny i będzie mógł uniknąć ograniczeń, korzystając z oficjalnego lub klienta podlegającego kontroli.

Projekty interfejsu API utworzone przed 28 lipca 2020 roku są których obecnie nie dotyczy ta zmiana. Zdecydowanie zalecamy jednak, aby przeprowadzić audyt zgodności w celu zapewnienia stałego dostępu do usług YouTube API.

21 lipca 2020 r.

[Zaktualizowano 28 lipca 2020 r.] Aktualizacja dokumentacji, do której odwołuje się ta wersja wpis w historii został ponownie opublikowany 28 lipca 2020 roku.

Wczoraj opublikowaliśmy aktualizację dokumentacji związanej z naszym procesem naliczania limitu ładowania. Jednak ze względu na nieprzewidziane okoliczności zmiany limitu nie zostały jeszcze wprowadzone. W rezultacie cofnięto w celu zapewnienia dokładności dokumentacji. Aby uniknąć nieporozumień, wersja wpis w historii wyjaśniający zmianę został usunięty i wkrótce zostanie ponownie opublikowany.

7 lipca 2020 r.

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

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

15 czerwca 2020 r.

Nowy artykuł Zgodność z zasadami dla programistów YouTube Przewodnik z zasadami zawiera wskazówki i przykłady, które pomogą Ci zadbać o to, aby klienci korzystający z interfejsów API przestrzegali do określonych części usług YouTube API Warunki oraz Zasady (Warunki korzystania z interfejsów API).

Te wskazówki dostarczają informacji o tym, jak YouTube egzekwuje określone aspekty Warunków korzystania z interfejsów API, ale nie nie zastępuje żadnych istniejących dokumentów. Przewodnik zawiera odpowiedzi na niektóre z najczęstszych pytań, pytają deweloperów podczas audytów zgodności interfejsów API. Mamy nadzieję, że uprości to tworzenie funkcji i pomaga zrozumieć, jak interpretujemy i egzekwujemy nasze zasady.

4 czerwca 2020 r.

Uwaga: ta aktualizacja dotyczy poprzedniego ogłoszenia o wycofaniu.

Funkcja biuletynu kanału została całkowicie wycofana. Ta zmiana została wstępnie ogłoszona 17 kwietnia 2020 r. i zaczęła obowiązywać. W rezultacie Metoda activities.insert nie ma wartości dłużej obsługiwane, activities.list nie zwraca już biuletynów kanałów. Aby uzyskać więcej informacji, zobacz Centrum pomocy YouTube.

17 kwietnia 2020 r.

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

YouTube wycofuje funkcję biuletynu kanału. W rezultacie activities.insert metoda będzie wycofane, a activities.list zatrzymuje zwracanie biuletynów kanałów. Zmiany te zaczną obowiązywać w interfejsie API od dnia po 18 maja 2020 r. Aby uzyskać więcej informacji, zobacz Centrum pomocy YouTube.

31 marca 2020 r.

Ta aktualizacja zawiera następujące zmiany:

  • Nowe zasoby i metody

    • Nowy zasób member reprezentuje wspierający kanał w YouTube. Wspierający zapewnia cykliczną pomoc finansową i otrzymuje specjalne korzyści. Członkowie mogą na przykład czatować, gdy twórca włączy tryb tylko dla wspierających na czacie.

      Ten zasób zastępuje sponsor który jest częścią interfejsu YouTube Live Streaming API. Zasób sponsor został wycofany, a klienty interfejsu API powinny zaktualizować wywołania do metody sponsors.list, by użyć funkcji members.list.

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

Styczeń 10, 2020

Interfejs API umożliwia teraz identyfikację treści skierowanych do dzieci, które są wywoływane przez YouTube. przeznaczone dla dzieci. Więcej informacji o „przeznaczony dla dzieci” w Centrum pomocy YouTube.

channel i Zasoby video obsługują 2 nowe właściwości umożliwia 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 channel lub film jest przeznaczony dla dzieci.

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

    Pamiętaj, że ta właściwość jest uwzględniana tylko w odpowiedziach interfejsu API zawierających wartość channel lub Zasoby: video, jeśli właściciel kanału autoryzował żądanie do interfejsu API.
  • Właściwość madeForKids umożliwia każdemu użytkownikowi pobieranie treści „przeznaczonych dla dzieci” stan kanału lub film. Stanem może być na przykład wyznaczany na podstawie wartości właściwości selfDeclaredMadeForKids. Zobacz Centrum pomocy YouTube Informacje na temat określania odbiorców kanału, filmów lub transmisji.

Zaktualizowaliśmy też Warunki korzystania z usług YouTube API oraz zasady dla deweloperów. Proszę zobacz Warunki korzystania z usług YouTube API – wersja Historia. Zmiany w Warunkach korzystania z interfejsów API YouTube oraz Zasady dla deweloperów zaczną obowiązywać 10 stycznia 2020 roku (według czasu pacyficznego).

10 września 2019 r.

Zaktualizowaliśmy dokumentację referencyjną API, by odzwierciedlić zmianę w sposobie, w jaki subskrybent są podawane w YouTube, a w konsekwencji w odpowiedziach interfejsu API. W wyniku tej zmiany liczby subskrybentów zwrócone przez interfejs YouTube Data API są zaokrąglane w dół do trzech istotnych gdy liczba subskrybentów przekracza 1000. Ta zmiana wpływa na channel zasób statistics.subscriberCount usłudze.

Uwaga: ta zmiana wpływa na tę wartość właściwości nawet w przypadku, gdy użytkownik wysyła autoryzowaną prośbę o dostęp do danych na temat swojego kanału. Właściciele kanału nadal mogą zobaczyć dokładne liczbę subskrybentów w YouTube Studio.

Na przykład, jeśli kanał ma 123 456 subskrybentów, Właściwość statistics.subscriberCount będzie zawierać wartość 123000. Tabela poniżej zawiera przykłady zaokrąglania liczby subskrybentów w odpowiedziach interfejsu API oraz skrócone w innych publicznie dostępnych 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:

  • Zaktualizowaliśmy dokumentację interfejsu API, aby lepiej objaśnić typowe przypadki użycia poszczególnych metod i zapewnić dynamiczne, wysokiej jakości przykłady kodu za pomocą widżetu Eksploratora interfejsów API. Przykład znajdziesz w dokumentacji metody channels.list. Na stronach, które opisują metody interfejsu API, pojawiły się teraz 2 nowe elementy:

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

    • W sekcji Typowe przypadki użycia opisano jeden lub więcej typowych przypadków użycia metody opisanej na stronie. Możesz na przykład wywołać metodę channels.list, aby pobrać dane o wybranym kanale lub o kanale bieżącego użytkownika.

      Za pomocą linków w tej sekcji możesz uzupełnić narzędzie APIs Explorer przykładowymi wartościami na potrzeby swojego przypadku użycia lub otworzyć pełnoekranowy Eksplorator interfejsów API z tymi wartościami. W ten sposób łatwiej Ci będzie znaleźć przykłady kodu, które mają zastosowanie bezpośrednio w przypadku zastosowania, które próbujesz zaimplementować w swojej aplikacji.

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

  • Zaktualizowaliśmy też narzędzie przykładowego kodu o nowy interfejs, który ma wszystkie opisane powyżej funkcje. Korzystając z tego narzędzia, możesz zapoznać się z przypadkami użycia różnych metod, wczytać wartości w narzędziu APIs Explorer, a także otworzyć pełnoekranowy Eksplorator interfejsów API, aby pobrać przykłady kodu w językach Java, JavaScript, PHP i Python.

    W związku z tą zmianą strony, które wcześniej zawierały dostępne przykłady kodu dla Javy, JavaScriptu, PHP i Pythona, zostały usunięte.

  • Zaktualizowaliśmy przewodniki wprowadzające po językach Java, JavaScript, PHP i Python. Zaktualizowane przewodniki wyjaśniają, jak uruchomić jedną przykładową z kluczem interfejsu API, a drugą z identyfikatorem klienta OAuth 2.0, korzystając z przykładowego kodu z Eksploratora interfejsów API.

Opisane powyżej zmiany zastępują interaktywne narzędzie dodane do dokumentacji API w 2017 roku.

9 lipca 2018 r.

Ta aktualizacja zawiera następujące zmiany:

  • Zaktualizowaliśmy definicję właściwości snippet.thumbnails zasobu channel, aby 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ą one zwracane w odpowiedziach interfejsu API. Na przykład aplikacja nie powinna używać domeny http zamiast domeny https w adresie URL zwróconym w odpowiedzi interfejsu API.

    Od lipca 2018 roku adresy URL miniatur kanału będą dostępne tylko w domenie https. Tak wyświetlają się one w odpowiedziach interfejsu API. Po tym czasie mogą pojawić się uszkodzone obrazy, jeśli aplikacja spróbuje wczytać obrazy YouTube z domeny http.

  • Uwaga: to jest ogłoszenie o wycofaniu tej usługi.

    Właściwość recordingDetails.location.altitude zasobu video została wycofana. Nie ma gwarancji, że filmy zwrócą wartości tej właściwości. I podobnie, nawet jeśli żądania do interfejsu API próbują ustawić wartość dla danej właściwości, może się zdarzyć, że dane przychodzące nie będą przechowywane.

22 czerwca 2018 r.

Przewodnik po implementacji (dawniej nazywany Przewodnik po implementacji i migracji został zaktualizowany w taki sposób, aby usunąć instrukcje migracji z v2 do interfejsu API w wersji 3. Usunęliśmy też instrukcje dla funkcji, które zostały wycofane w interfejsie v3 API, na przykład w sekcji Ulubione filmy.

27 listopada 2017 r.

Ta aktualizacja zawiera następujące zmiany:

  • Uwaga: to jest ogłoszenie o wycofaniu tej usługi.

    YouTube wycofuje obsługę funkcji Polecany film i Polecane strony, które są obsługiwane w interfejsie API przez obiekt invideoPromotion zasobu channel. W związku z tym ten obiekt wraz ze wszystkimi jego właściwościami podrzędnymi jest wycofywany.

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

    • Próby pobrania części invideoPromotion podczas wywoływania funkcji channels.list zwracają pustą wartość invideoPromotion lub nie zwracają żadnych danych invideoPromotion.
    • Próby zaktualizowania danych invideoPromotion podczas wywoływania funkcji channels.update będą zwracać pomyślną odpowiedź co najmniej do 27 maja 2018 r., ale zostaną potraktowane jako próby zaktualizowania danych, co oznacza, że nie przeprowadzą aktualizacji.

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

16 listopada 2017 r.

Ta aktualizacja zawiera następujące zmiany:

  • Interaktywne narzędzie do tworzenia fragmentów kodu obsługuje teraz przykładowy kod w Node.js. Przykłady są też widoczne w dokumentacji niemal wszystkich metod interfejsu API, takich jak channels.list.

    Przykłady z możliwością dostosowania zostały zaprojektowane w taki sposób, aby stanowiły punkt wyjścia dla aplikacji Node.js specyficzne dla danego przypadku. Funkcja jest podobna do kodu w krótkim przewodniku dotyczącym Node.js. Przykłady zawierają jednak funkcje użytkowe, których nie ma 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 pobiera 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żyć w operacjach insert i update. W poniższym przykładzie pokazano zbiór nazw i wartości właściwości oraz obiekt JSON, który zostałby dla nich utworzony przez kod:
      # 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 uruchamiania lokalnie. Aby uzyskać więcej informacji, zapoznaj się z wymaganiami wstępnymi dotyczącymi lokalnego uruchamiania pełnych przykładów kodu w instrukcjach narzędzia do tworzenia fragmentów kodu.

25 października 2017 r.

Ta aktualizacja zawiera następujące zmiany:

  • Przykłady kodu Pythona w interaktywnym narzędziu do fragmentów kodu zostały zaktualizowane tak, aby korzystały z 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ładowe fragmenty kodu dla zainstalowanych aplikacji w Pythonie i aplikacji serwerów WWW w Pythonie, które korzystają z nieco innych przepływów autoryzacji. Aby zobaczyć pełne przykłady (oraz tę zmianę):

    1. Otwórz interaktywne narzędzie do tworzenia fragmentów kodu lub zapoznaj się z dokumentacją dowolnej metody interfejsu API, takiej jak metoda channels.list.
    2. Kliknij kartę Python nad przykładowym kodem.
    3. Kliknij przełącznik nad kartami, aby przełączyć się z wyświetlania fragmentu na pełną próbkę.
    4. Karta powinna teraz zawierać kompletny przykładowy kod, który korzysta z procesu autoryzacji InstalledAppFlow. W opisie powyżej znajduje się wyjaśnienie, a także link do przykładowej aplikacji serwera WWW.
    5. Kliknij link, aby przełączyć się na przykład serwera WWW. W tym przykładzie użyto platformy aplikacji internetowej Flask i innego przepływu autoryzacji.

    Wszystkie te przykłady są przeznaczone do pobrania i uruchamiania lokalnie. Jeśli chcesz uruchomić fragmenty kodu, zapoznaj się z instrukcjami uruchamiania całego przykładowego kodu lokalnie w instrukcjach narzędzia fragmentu 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 w metodzie search.list, aby doprecyzować, że ogranicza on wyniki wyszukiwania do filmów, które można oglądać w wybranym regionie.
  • Zaktualizowaliśmy logo i ikony marki w YouTube. Nowy „stworzony we współpracy z YouTube” które można pobrać ze wskazówek dotyczących promowania marki. Na tej stronie znajdują się też inne nowe logo i ikony YouTube. Możesz je pobrać ze strony marki YouTube.

24 lipca 2017 r.

Ta aktualizacja zawiera następujące zmiany:

  • Udostępniliśmy nowy krótki przewodnik po interfejsie YouTube Data API dla iOS. Przewodnik wyjaśnia, jak korzystać z interfejsu YouTube Data API w prostej aplikacji na iOS napisanej w języku Objective-C lub Swift.
  • Interaktywne narzędzie do fragmentu kodu do interfejsu YouTube Data API zawiera teraz dokumentację objaśniającą niektóre funkcje tego narzędzia:
    • Wykonywanie żądań do interfejsu API
    • Przełączanie się między fragmentami i pełnymi przykładami kodu
    • Korzystanie z funkcji stałych
    • Wczytuję istniejące zasoby (na potrzeby metod aktualizacji)

    Uwaga: narzędzie jest też umieszczone w dokumentacji API dotyczącej metod 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 referencyjna interfejsu API została zaktualizowana, aby fragmenty kodu były bardziej wszechstronne i interaktywne. Na stronach, które wyjaśniają metody interfejsu API, np. channels.list czy videos.rate, znajdziesz teraz interaktywne narzędzie, które pozwala wyświetlać i dostosowywać fragmenty kodu w językach Java, JavaScript, PHP, Python, Ruby, Apps Script i Go.

    Narzędzie pokazuje fragmenty kodu dla dowolnej metody dla jednego lub wielu przypadków użycia, a każdy przypadek użycia opisuje typowy sposób jej wywoływania. Możesz na przykład wywołać metodę channels.list, aby pobrać dane o wybranym kanale lub o kanale bieżącego użytkownika.

    Możesz też korzystać z przykładowego kodu:

    • Modyfikują wartości parametrów i właściwości, a fragmenty kodu są dynamicznie aktualizowane, aby odzwierciedlać podane przez Ciebie wartości.

    • Przełączaj się między fragmentami kodu a pełnymi przykładami. Fragment kodu przedstawia fragment kodu, który wywołuje metodę API. Zawiera on ten fragment oraz stały kod służący do autoryzacji i wysyłania żądań. Pełne przykłady można kopiować i uruchamiać z wiersza poleceń lub na lokalnym serwerze WWW.

    • Wykonuj żą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 narzędzie APIs Explorer na stronach, na których jest dostępne. (Każda strona zawiera link umożliwiający wczytanie żądania, nad którym pracujesz, w narzędziu Google APIs Explorer).

  • Ulepszyliśmy też narzędzie Fragmenty kodu interfejsu Data API o nowy interfejs, który ma wszystkie opisane powyżej funkcje. Najważniejsze nowe funkcje dostępne na tej stronie to:

    • Obsługa żądań do interfejsu API, które zapisują dane.
    • Obsługa przykładów kodu Java.
    • Bardziej elastyczny i wszechstronny stały kod do autoryzowania użytkowników i tworzenia żądań do interfejsu API.

27 kwietnia 2017 r.

Ta aktualizacja zawiera następujące zmiany:

30 marca 2017 r.

Ta aktualizacja zawiera następujące zmiany:

  • Nowa właściwość topicDetails.topicCategories[] zasobu channel zawiera listę adresów URL Wikipedii opisujących zawartość kanału. Adresy URL odpowiadają identyfikatorom tematów zwróconym w usłudze 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 zwróconym w usłudze topicDetails.relevantTopicIds[] zasobu.
  • Nowa właściwość contentDetails.contentRating.mpaatRating zasobu video określa ocenę, jaką otrzymało zwiastun lub podgląd filmu od organizacji Motion Picture Association of America.

27 lutego 2017 r.

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

Pamiętaj, że na liście wybranych elementów wprowadzono kilka zmian:

  • Następujące 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 (wcześniej podrzędny wobec elementu Entertainment), został usunięty.
  • Temat Children's music (wcześniej podrzędny wobec elementu Music), został usunięty.

W wyniku tej zmiany tematy powią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ędzie obsługiwane od 10 lutego 2017 roku, wprowadziliśmy 3 niewielkie zmiany:

    • Kategoria Professional wrestling, która wcześniej była podrzędna w kategorii Sports, jest teraz podrzędna dla kategorii Entertainment.
    • Kategoria TV shows, która jest podrzędna dla Entertainment, jest nowa.
    • Kategoria Health, która wcześniej była podrzędna dla kategorii Lifestyle, została usunięta.

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

10 listopada 2016 r.

Ta aktualizacja zawiera następujące zmiany:

  • Zgodnie z pierwszą zapowiedzią 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żywać parametru wyszukiwania topicId, aby znaleźć kanały lub filmy związane z konkretnym tematem.

    10 lutego 2017 r. YouTube zacznie zwracać mały zestaw identyfikatorów tematów zamiast znacznie bardziej szczegółowego zestawu identyfikatorów zwracanych do tej pory. Pamiętaj też, że nie możemy zagwarantować, że kanały i filmy będą powiązane z żadnym tematem, ponieważ jest to zgodne z aktualnym działaniem interfejsu API.

    Aby można było przygotować klienty API na te zmiany, zaktualizowaliśmy definicje poniższych parametrów i właściwości API, tak aby zawierały identyfikatory tematów, które będą obsługiwane po tym czasie. Pamiętaj, że lista kategorii jest taka sama w przypadku wszystkich usług.

  • Uwaga: to jest ogłoszenie o wycofaniu tej usługi.

    Wycofujemy te usługi:

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

  • Ponieważ platforma Freebase została już wycofana, przewodnik Searching with Freebase Topics został usunięty z dokumentacji. W tym przewodniku znajdziesz przykładowe fragmenty kodu, które pokazują, jak aplikacja będzie działać z interfejsem Freebase API.

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

2 listopada 2016 r.

Ta aktualizacja zawiera następujące zmiany:

  • Nowe właściwości i parametry

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

      • Właściwość player.embedHtml zawiera tag <iframe>, który pozwala umieścić odtwarzacz wyświetlający film. Nowe właściwości player.embedHeight i player.embedWidth określają wymiary umieszczonego odtwarzacza. Te właściwości są zwracane tylko wtedy, gdy żądanie do interfejsu API określa wartość co najmniej jednego z parametrów maxHeight lub maxWidth. Te dwa nowe parametry zostały objaśnione w dalszej części tego wpisu historii zmian.

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

      • Nowy dokument fpbRatingReasons[] określa powody, dla których film otrzymał ocenę FPB (Republika Południowej Afryki).

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

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

      Domyślnie wysokość elementu <iframe> zwróconego w usłudze player.embedHtml wynosi 360 pikseli. Szerokość jest dostosowywana do współczynnika proporcji filmu, dzięki czemu w odtwarzaczu umieszczonym na stronie nie ma czarnych pasów otaczających obraz. Jeśli więc na przykład film ma proporcje 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 powinien mieć wysokość lub szerokość odpowiednią do układu aplikacji. Serwer interfejsu API odpowiednio skaluje wymiary odtwarzacza, aby odtwarzacz umieszczony na stronie nie zawierał czarnych pasów wokół obrazu. Oba parametry określają maksymalne wymiary umieszczonego odtwarzacza. Jeśli więc określisz oba parametry, jeden z wymiarów może być nadal mniejszy od maksymalnej dozwolonej wartości dla tego wymiaru.

      Załóżmy na przykład, że film ma proporcje 16:9. Oznacza to, że jeśli parametr maxHeight lub maxWidth nie jest ustawiony, tag player.embedHtml zawiera odtwarzacz o rozmiarze 640 x 360.

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

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

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

    • Opis zasobu channelSection został zaktualizowany, aby zaznaczyć, że kanał może utworzyć maksymalnie 10 półek bez konfigurowania danych kierowania oraz maksymalnie 100 półek z danymi kierowania.

      Oprócz tego zaktualizowaliśmy właściwość targeting zasobu channelSection, aby odzwierciedlić fakt, że opcje kierowania można ustawiać tylko za pomocą interfejsu API. Opcje kierowania są usuwane po zmodyfikowaniu sekcji kanału za pomocą interfejsu w witrynie YouTube.

    • Poprawiliśmy definicję właściwości snippet.name zasobu i18nLanguage, aby odzwierciedlić, że wartość reprezentuje nazwę języka w języku określonym w parametrze hl metody i18nLanguage.list.

    • Zaktualizowaliśmy właściwość contentDetails.note zasobu playlistItem, by zaznaczyć, ż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 używające tej metody muszą też być autoryzowane za pomocą tokena zapewniającego dostęp do zakresu https://www.googleapis.com/auth/youtubepartner.

    • Parametry publishedBefore i publishedAfter metody search.list zostały zaktualizowane, aby wskazać, że ich wartości obejmują uwzględnianie. Jeśli więc na przykład masz skonfigurowany parametr publishedBefore, interfejs API zwraca zasoby utworzone przed podanym czasem lub w określonym czasie.

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

    • Opis metody videos.insert został zmieniony z informacją, że maksymalny rozmiar przesłanych filmów wzrósł z 64 do 128 GB.

  • Nowe i zaktualizowane błędy

    • Interfejs API obsługuje 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 użytkownika na stronie głównej nie są dostępne za pomocą tego interfejsu API. Ten błąd może wystąpić, jeśli w nieautoryzowanym żądaniu ustawisz wartość parametru 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 tego błędu jest to, że pole contentDetails.note ma więcej niż 280 znaków.
      forbidden (403) watchHistoryNotAccessible Metoda playlistItems.list zwraca ten błąd, aby wskazać, że żądanie próbowało pobrać „historię oglądania” elementów playlisty, ale nie można ich pobrać za pomocą interfejsu API.
      forbidden (403) watchLaterNotAccessible Metoda playlistItems.list zwraca ten błąd, wskazując, że żądanie próbowało pobrać element „Do obejrzenia”. elementów playlisty, ale nie można ich pobrać za pomocą interfejsu API.
      badRequest (400) uploadLimitExceeded Metoda videos.insert zwraca ten błąd, wskazując, że na kanał został przekroczony limit filmów, które można przesłać.
      forbidden (403) forbiddenEmbedSetting Metoda videos.update zwraca ten błąd, aby wskazać, że żądanie interfejsu API próbuje ustawić nieprawidłowe ustawienie umieszczania filmu na stronie. Pamiętaj, że niektóre kanały mogą nie mieć uprawnień do oferowania osadzonych odtwarzaczy dla transmisji na żywo. Więcej informacji znajdziesz w Centrum pomocy YouTube.
    • Metoda playlistItems.insert nie zwraca już błędu, jeśli wstawisz zduplikowany film do playlisty. Ten błąd występował wcześniej w przypadku niektórych playlist (np. ulubionych filmów), które nie pozwalały na tworzenie duplikatów, ale które nie są już obsługiwane. Ogólnie na playlistach można tworzyć duplikaty filmów.

  • Inne informacje

    • Pozycja historii zmian z 15 września 2016 roku została zaktualizowana, aby doprecyzować, że gdy w odpowiedzi znajdują się właściwości contentDetails.relatedPlaylists.watchHistory i contentDetails.relatedPlaylists.watchLater zasobu channel, zawsze zawierają one odpowiednio wartości HL i WL. Co więcej, te właściwości są uwzględniane tylko wtedy, gdy autoryzowany użytkownik pobiera dane o własnym kanale.

15 września 2016 r.

Ta aktualizacja zawiera następujące zmiany:

  • W aktualizacji historii zmian 11 sierpnia 2016 roku wprowadziliśmy kilka zmian związanych z identyfikatorami tematów, w tym fakt, że 10 lutego 2017 roku zmieni się zestaw obsługiwanych identyfikatorów tematów. Lista tematów, które będą obsługiwane, zostanie opublikowana do 10 listopada 2016 roku.

  • Poniższe zmiany zostały wprowadzone. Powiadomienie o tych zmianach zostało podane w aktualizacji historii zmian 11 sierpnia 2016 roku:

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

      Wprowadzamy tę drobną zmianę, która ma zwiększyć komfort użytkowników niż w przypadku działania opisanego w aktualizacji historii zmian 11 sierpnia 2016 roku. Ta aktualizacja zawierała informację, że żądania korzystające z parametru home będą zwracać pustą listę.

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

      Dla jasności – te właściwości są widoczne tylko dla autoryzowanego użytkownika, który pobiera dane o swoim kanale. Właściwości zawsze zawierają wartości HL i WL, nawet jeśli autoryzowany użytkownik pobiera dane o swoim kanale. W związku z tym identyfikatorów oglądania i playlist do obejrzenia później nie można pobrać za pomocą interfejsu API.

      Oprócz tego prośby o pobranie szczegółów playlisty (playlists.list) lub elementów playlisty (playlistItems.list) z historii oglądania lub playlisty Do obejrzenia na kanale zwracają teraz puste listy. Dzieje się tak w przypadku nowych wartości (HL i WL), a także w przypadku wszystkich identyfikatorów oglądania i playlist do obejrzenia później, które mogły już zapisać Twój klient API.

  • Obiekt fileDetails.recordingLocation zasobu video i jego właściwości podrzędne nie są już zwracane. Wcześniej te dane (jak nadrzędny obiekt 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 są szczegółowo omówione na blogu YouTube dla inżynierów i deweloperów, zawierają obszerny zestaw aktualizacji obecnych Warunków korzystania z usługi. Oprócz zaktualizowanych warunków, które zaczną obowiązywać 10 lutego 2017 roku, ta aktualizacja zawiera też dodatkowe dokumenty wyjaśniające zasady, których muszą przestrzegać deweloperzy.

    Pełny zestaw nowych dokumentów znajdziesz w historii zmian zaktualizowanych Warunków. Ponadto w historii zmian będą również wyjaśniane przyszłe zmiany w zaktualizowanych warunkach lub w dokumentach uzupełniających. Możesz zasubskrybować kanał RSS zawierający listę zmian w historii zmian, klikając link w tym dokumencie.

  • Wycofanie narzędzi Freebase i 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 określa tematy powiązane z kanałem.
    • Część topicDetails zasobu video określa tematy powiązane z filmem.
    • Parametr topicId metody search.list umożliwia wyszukiwanie filmów lub kanałów związanych z określonym tematem.

    Zmiany tych funkcji są następujące:

    • Od 10 lutego 2017 r. YouTube zacznie zwracać mały zestaw identyfikatorów tematów zamiast znacznie bardziej szczegółowego zestawu identyfikatorów zwracanych do tej pory. Ten zestaw obsługiwanych tematów pozwala identyfikować ogólne kategorie, takie jak Sport czy Koszykówka, ale na przykład nie identyfikować konkretnych drużyn czy zawodników. Aby dać Ci czas na przygotowanie się do tej zmiany, poinformujemy o zestawie obsługiwanych tematów.

    • Wszystkie pobrane już identyfikatory tematów Freebase możesz używać 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ślonych w poprzedniej pozycji.

    • Jeśli po 10 lutego 2017 roku spróbujesz wyszukać wyniki przy użyciu identyfikatora tematu, który nie należy do mniejszego zestawu obsługiwanych identyfikatorów tematów, interfejs API zwróci pusty zbiór 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 byłby wyświetlany na stronie głównej tego użytkownika w YouTube. Żą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 pobierającego dane o swoim kanale. Po 12 września 2016 r. contentDetails.relatedPlaylists.watchHistory będzie zwracać wartość HL, a właściwości contentDetails.relatedPlaylists.watchLaterWL dla wszystkich kanałów.

      Po 12 września 2016 r. prośby o pobranie szczegółów playlisty (playlists.list) z historii oglądania lub Do obejrzenia na kanale będą zwracać pustą listę. Po tym czasie prośba o pobranie elementów playlisty (playlistItems.list) z każdej z tych playlist również będzie zwracać pustą listę. Dotyczy to nowych wartości (HL i WL), a także identyfikatorów historii oglądania i playlist do obejrzenia później, które mogły już zapisać Twój klient API.

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

13 czerwca 2016 r.

Ta aktualizacja zawiera następujące zmiany:

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

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

Po wycofaniu żadna z tych właściwości nie zostanie zwrócona, więc zostały one usunięte z odpowiedniej dokumentacji 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 odwrotnej kolejności chronologicznej w kolejności od zasubskrybowania kanału.

    Pamiętaj, że nowy parametr umożliwia pobieranie do kanału uwierzytelnionego użytkownika tylko ostatnich 1000 subskrybentów. Aby uzyskać 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óre można pobrać.

  • Zaktualizowaliśmy definicję właściwości snippet.thumbnails.(key) w przypadku zasobów aktywność, playlistItem, playlist, wyniki wyszukiwania, miniatury i filmy, aby uwzględnić dodatkowe rozmiary miniatur w przypadku 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ć za opłatą wynoszącą 2 jednostek limitu.

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

17 maja 2016 r.

Nowe narzędzie Fragmenty kodu interfejsu Data API udostępnia krótkie fragmenty kodu na potrzeby 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, Python i Ruby.

W przypadku każdej metody narzędzie wyświetla przykładowy kod na potrzeby co najmniej 1 przypadku użycia. Zawiera np. 5 fragmentów kodu dla metody search.list:

  • Wymień filmy według słów kluczowych
  • Wymień filmy według lokalizacji
  • Wyświetl listę wydarzeń na żywo
  • Wyszukiwanie filmów uwierzytelnionego użytkownika
  • Lista podobnych filmów

W każdym przypadku użycia narzędzie wyświetla parametry użyte w żądaniu do interfejsu API. Wartości parametrów możesz zmieniać. W takim przypadku narzędzie 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 zależy od podanych przez Ciebie wartości parametrów. Pamiętaj, że aby wyświetlać odpowiedzi interfejsu API, musisz upoważnić narzędzie do przesyłania w Twoim imieniu żądań.

28 kwietnia 2016 r.

Ta aktualizacja zawiera następujące zmiany:

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

  • Zaktualizowaliśmy właściwości recordingDetails.location i fileDetails.recordingLocation zasobu video, 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ć, wyszukiwać w filmach publicznych i może być wyświetlana użytkownikom w przypadku filmów publicznych.
    • Wartość właściwości fileDetails.recordingLocation jest stała i reprezentuje lokalizację powiązaną z oryginalnym, przesłanym plikiem wideo. Wartość jest widoczna tylko dla właściciela filmu.

  • Zaktualizowaliśmy definicję właściwości contentDetails.relatedPlaylists.favorites zasobu channel, by zaznaczyć, że wartość właściwości może zawierać identyfikator playlisty odnoszący się do pustej playlisty, której nie można pobrać. Wynika to z faktu, że funkcja ulubionych filmów została już wycofana. Pamiętaj, że ta usługa nie podlega zasadom wycofywania interfejsów 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ć ten błąd, gdy konto YouTube użyte do autoryzacji żądania do interfejsu API nie zostało scalone z kontem Google użytkownika.

20 kwietnia 2016 r.

Ta aktualizacja zawiera następujące zmiany:

  • Zaktualizowaliśmy definicję parametru part metody channels.update, aby zaznaczyć, że localizations również jest prawidłową wartością tego parametru.

  • Sekcja Wykorzystanie limitu w przewodniku dla początkujących zawiera teraz link do Google Developers Console, gdzie znajdziesz informacje o rzeczywistym i wykorzystaniu limitu.

16 marca 2016 r.

Ta aktualizacja zawiera następujące zmiany:

  • Aktualizacje istniejących zasobów i metod

    • Dokumentacja zasobu channelBanner została zaktualizowana, aby zaznaczyć, że zalecany rozmiar przesłanego obrazu banera kanału to 2560 x 1440 pikseli. Minimalny rozmiar (2048 na 1152 pikseli) nie uległ zmianie.

    • Nowa właściwość snippet.customUrl zasobu channel określa niestandardowy adres URL powiązany z kanałem. (Nie wszystkie kanały mają niestandardowe URL-e). W Centrum pomocy YouTube znajdziesz opis wymagań, które należy spełnić, aby otrzymać niestandardowy URL, a także dowiedzieć się, 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ść określa kod regionu, który został użyty w zapytaniu. Kod regionu instruuje interfejs API tak, aby zwracał wyniki wyszukiwania dla określonego kraju.

      Wartością właściwości jest dwuliterowy kod kraju w formacie ISO identyfikujący region. Metoda i18nRegions.list zwraca listę obsługiwanych regionów. Wartością domyślną jest US. Nawet jeśli określisz nieobsługiwany region, YouTube do obsługi zapytania może wybrać inny region zamiast wartości domyślnej.

    • Zaktualizowaliśmy definicje właściwości snippet.label i snippet.secondaryReasons[].label zasobu videoAbuseReportReason, by poinformować, że zawierają one zlokalizowany tekst etykiet do celów zgłaszania nadużyć.

      Oprócz tego metoda videoAbuseReportReasons.list obsługuje teraz parametr hl, który określa język tekstu etykiety w odpowiedzi interfejsu API. Wartość domyślna to en_US.

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

      Dodatkowo właściwości interfejsu API w innych systemach ocen obsługują te nowe wartości właściwoś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 występuje tylko wtedy, gdy film jest bieżącą transmisją na żywo i włączony jest czat na żywo. Po zakończeniu transmisji i zakończeniu czatu na żywo usługa nie jest już zwracana, aby wyświetlić film.

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

  • Interfejs API obsługuje 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, wskazując, ż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 przejściowy, zazwyczaj oznacza, że dane wejściowe żądania są nieprawidłowe. Sprawdź strukturę zasobu commentThread w treści żądania, aby upewnić się, że jest on prawidłowy.
    forbidden (403) commentsDisabled Metoda commentThreads.list zwraca ten błąd, wskazując, że w filmie wskazanym przez parametr videoId wyłączono dodawanie komentarzy.
    badRequest (400) commentTextTooLong Metoda commentThreads.insert zwraca ten błąd, aby wskazać, że wstawiony zasób comment zawiera zbyt wiele znaków we właściwości snippet.topLevelComment.snippet.textOriginal.
    invalidValue (400) videoAlreadyInAnotherSeriesPlaylist Metoda playlistItems.insert zwraca ten błąd, wskazując, że film, który chcesz dodać do playlisty, jest już na playliście innego serialu. Więcej informacji na temat playlist seriali znajdziesz w Centrum pomocy YouTube.
    badRequest (400) subscriptionForbidden Metoda subscriptions.insert zwraca ten błąd, aby wskazać, że masz już maksymalną liczbę subskrypcji lub utworzono zbyt wiele niedawnych subskrypcji. W drugim przypadku możesz spróbować przesłać żądanie po kilku godzinach.
    badRequest (400) invalidCategoryId Metoda videos.update zwraca ten błąd, aby wskazać, że właściwość snippet.categoryId w przesłanym zasobie video ma 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 zawiera nieprawidłową wartość.
    badRequest (400) invalidPublishAt Metoda videos.update zwraca ten błąd, aby wskazać, że właściwość status.publishAt w przesłanym zasobie video określa nieprawidłowy czas zaplanowanego opublikowania.
    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 zawiera nieprawidłową wartość.
    badRequest (400) invalidTitle Metoda videos.update zwraca ten błąd, aby wskazać, że właściwość snippet.title w przesłanym zasobie video 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 zarówno dla właściwości snippet.title, jak i snippet.categoryId.

18 grudnia 2015 r.

Przepisy Unii Europejskiej (UE) wymagają udostępnienia określonych informacji użytkownikom z Unii Europejskiej i uzyskania ich zgody. Dlatego w przypadku użytkowników z Unii Europejskiej musisz przestrzegać polityki w zakresie zgody użytkownika z UE. Dodaliśmy powiadomienie o tym wymaganiu w Warunkach korzystania z interfejsu YouTube API.

19 listopada 2015 r.

Interfejs API umożliwia teraz ustawianie i pobieranie zlokalizowanego tekstu we właściwościach 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 dla zasobu, wywołując dla niego metodę insert lub update. Aby ustawić zlokalizowane wartości dla zasobu, wykonaj obie te czynności:

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

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

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

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

      {
        "kind": "youtube#video",
        ...
        "snippet": {
          "title": "Playing soccer",
          "description": "We play soccer in the park on Sundays.",
          "defaultLanguage": "en",
          ...
        },
        "localizations":
          "de": {
            "title": "Fußball spielen",
            "description": "Wir spielen Fußball im Park am Sonntag"
          },
          "es": {
            "title": "Jugar al fútbol",
            "description": "Nosotros jugamos fútbol en el parque los domingos",
          }
        }
      }
    • Ważne: pamiętaj, że gdy aktualizujesz zlokalizowane dane 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 przykładu powyżej, prośba musi zawierać zlokalizowane dane dotyczące języka niemieckiego, hiszpańskiego i portugalskiego.

  • Pobieram zlokalizowane wartości

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

    • Dodaj parametr hl do żądania channels.list, channelSections.list, playlists.list lub videos.list, aby pobrać zlokalizowane dane dla określonego języka aplikacji obsługiwanego przez stronę YouTube. Jeśli zlokalizowane szczegóły zasobu są dostępne w danym 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 domyślnym języku zasobu.

      Załóżmy na przykład, że żądanie videos.list pobrało dane dotyczące opisanego powyżej filmu ze zlokalizowanymi danymi w języku niemieckim i hiszpańskim. Gdyby parametr hl miał wartość de, zasób zawierałby te dane:

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

      Jeśli jednak parametr hl miałby wartość fr, obiekt snippet.localized zawierałby angielski tytuł i opis, ponieważ domyślny język zasobu to angielski, a zlokalizowane szczegóły w języku francuskim nie są dostępne.

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

      Musisz na przykład pobrać pełną listę lokalizacji, aby sprawdzić, czy zlokalizowany tekst jest dostępny w języku Appalachów.

    • 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 aktualnym językiem aplikacji YouTube, użyj tej metody, aby pobrać wszystkie lokalizacje, a następnie zastosować filtr, aby sprawdzić, czy są potrzebne zlokalizowane dane.

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

    Interfejs API obsługuje też te nowe błędy w przypadku wartości zlokalizowanych tekstów:

    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 dla zasobu, kończy się niepowodzeniem, ponieważ dla tego zasobu nie ustawiono właściwości snippet.defaultLanguage. Metody channels.update, channelSections.insert, channelSections.update, playlists.insert, playlists.update, videos.insert i videos.update obsługują ten błąd.
    badRequest (400) localizationValidationError Ten błąd oznacza, że 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. Metody channels.update, channelSections.insert, channelSections.update, playlists.insert i playlists.update obsługują ten błąd.

4 listopada 2015 r.

Ta aktualizacja zawiera następujące zmiany:

  • Aktualizacje istniejących zasobów i metod

    • Parametr order metody search.list został zaktualizowany, by poinformować, że jeśli sortujesz transmisje na żywo według parametru viewCount, wyniki interfejsu API są sortowane według transmisji widzów w czasie trwania transmisji.

    • Parametr relatedToVideoId metody search.list został zaktualizowany, aby zwrócić uwagę, że jeśli jest on skonfigurowany, jedynymi obsługiwanymi parametrami są: part, maxResults, pageToken, regionCode, relevanceLanguage, safeSearch, type (który musi być ustawiony na video) oraz 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 zostanie przesłany jako prywatny, a później upubliczniony, wartość właściwości określa czas jego ustawienia jako publicznego. Zaktualizowana definicja wyjaśnia też sposób wypełniania tej wartości 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, aby zawierała następujące informacje:

      • 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 zaplanuje publikację filmu w przeszłości, zostanie on opublikowany natychmiast. Dlatego ustawienie właściwości status.publishAt na datę i godzinę z przeszłości jest takie samo jak zmiana wartości privacyStatus filmu z private na public.
    • Właściwość contentDetails.contentRating.cncRating zasobu video określa ocenę filmu według francuskiej komisji ds. klasyfikacji filmowej. Ta usługa zastępuje właściwość contentDetails.contentRating.fmocRating, która została wycofana.

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

    • Dokumentacja metody thumbnails.set została zaktualizowana tak, aby trafnie odzwierciedlić, że treść żądania zawiera obraz miniatury, który przesyłasz i powiązujesz z filmem. Treść żądania nie zawiera zasobu thumbnail. Wcześniej z dokumentacji wynikało, że przy wywoływaniu 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 uwzględnić fakt, że metoda activities.list nie obejmuje obecnie zasobów związanych z komentarzami do nowych filmów. snippet.type i contentDetails.comment zasobu również zostały zaktualizowane.

  • Nowe i zaktualizowane błędy

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

      Szczegóły błędu
      activities.insert
      Kod odpowiedzi HTTPbadRequest (400)
      PrzyczynainvalidMetadata
      OpisWłaściwość kind nie pasuje do typu podanego identyfikatora.
      commentThreads.update
      comments.insert
      comments.update
      Kod odpowiedzi HTTPbadRequest (400)
      PrzyczynacommentTextTooLong
      OpisWstawiony lub aktualizowany zasób comment zawiera zbyt wiele znaków we właściwości snippet.topLevelComment.snippet.textOriginal.
      playlistItems.insert
      playlistItems.update
      Kod odpowiedzi HTTPforbidden (403)
      PrzyczynaplaylistItemsNotAccessible
      OpisŻądanie nie ma odpowiednich uprawnień do wstawienia, aktualizowania lub usuwania określonego elementu playlisty.
      playlists.delete
      playlists.insert
      playlists.update
      Kod odpowiedzi HTTPbadRequest (400)
      PrzyczynaplaylistForbidden
      OpisTa operacja jest zabroniona lub żądanie nie jest poprawnie 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
      OpisTen 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 obsługiwane.
      • Masz ostatnio utworzonych zbyt wiele subskrypcji. Odczekaj kilka godzin, zanim spróbujesz ponownie.
      videos.update
      Kod odpowiedzi HTTPbadRequest (400)
      PrzyczynainvalidDefaultBroadcastPrivacySetting
      OpisŻądanie próbuje określić 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 ta usługa będzie uwzględniana w zasobach video przez co najmniej rok od momentu opublikowania tego ogłoszenia. Jednak teraz wartość właściwości będzie zawsze ustawiona na 0.

7 sierpnia 2015 r.

Ta aktualizacja zawiera następujące zmiany:

  • Aktualizacje istniejących zasobów i metod

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

      Definicja wyjaśnia teraz, że jeśli tag zawiera spację, serwer interfejsu API obsługuje wartość tagu tak, jakby była ona ujęta w cudzysłów, a cudzysłowy są wliczane do limitu znaków. Dlatego tag Foo-Baz ma siedem znaków, a Foo Baza – dziewięć znaków.

    • Metoda commentThreads.insert nie obsługuje już parametru shareOnGooglePlus, który wcześniej określał, czy komentarz i odpowiedzi na niego mają być publikowane także w profilu Google+ autora. Jeśli żądanie przesyła parametr, serwer interfejsu API go ignoruje, ale w inny sposób obsługuje żą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ć listę wątków komentarzy. Wątki można porządkować według czasu lub trafności. Domyślne działanie to sortowanie według czasu.

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

    • Zaktualizowaliśmy definicję właściwości contentDetails.licensedContent zasobu video, aby doprecyzować, że treści muszą zostać wcześniej przesłane na kanał połączony z partnerem treści YouTube, a następnie zgłosić roszczenie przez partnera. Nie odzwierciedla to zmiany w rzeczywistym działaniu interfejsu API.

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

  • Nowe i zaktualizowane błędy

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

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

27 kwietnia 2015 r.

Ta aktualizacja zawiera następujące zmiany:

  • Nowe zasoby i metody

    • Nowy zasób videoAbuseReportReason zawiera informacje o przyczynie oznaczenia filmu jako zawierającego nieodpowiednie treści. Metoda videoAbuseReportReasons.list umożliwia pobranie listy wszystkich powodów, dla których filmy mogą zostać zgłoszone.

    • Nowa metoda videos.reportAbuse umożliwia zgłoszenie filmu, który zawiera nieodpowiednie treści. Treść żądania zawiera obiekt JSON określający zgłoszony film oraz przyczynę, dla której uznano, że zawiera on treści naruszające zasady. Prawidłowe przyczyny można uzyskać za pomocą opisanej powyżej metody videoAbuseReportReason.list.

      Do przewodnika po migracji dodaliśmy też przykład zgłaszania nieodpowiedniego filmu. Dzięki tej zmianie interfejs API w wersji 3 obsługuje teraz wszystkie funkcje interfejsu API w wersji 2, które ma być obsługiwane. Wszystkie te funkcje zostały również omówione w przewodniku po migracji.

  • Aktualizacje istniejących zasobów i metod

    • Nowy parametr filtra forDeveloper w metodzie search.list ogranicza wyszukiwanie tak, aby pobierać tylko filmy przesłane za pomocą aplikacji lub strony dewelopera. Parametru forDeveloper można używać w połączeniu z opcjonalnymi parametrami wyszukiwania, np. q.

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

      Gdy w żądaniu wyszukiwania parametr forDeveloper ma wartość true, serwer interfejsu API identyfikuje dewelopera na podstawie danych uwierzytelniających żądania. Dlatego deweloper może ograniczyć wyniki do filmów przesłanych za pomocą jego własnej aplikacji lub witryny, ale nie do filmów przesłanych za pomocą innych aplikacji lub witryn.

      Nowa funkcja oferuje funkcje podobne, choć nie identyczne, do funkcji tagów programisty obsługiwanych przez interfejs API w wersji 2.

    • Dzięki nowej usłudze snippet.country zasobu channel właściciele kanałów mogą powiązać swoje kanały z konkretnym krajem.

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

    • Interfejs API obsługuje teraz kierowanie zasobów typu channelSection. Kierowanie na sekcje kanału pozwala ograniczyć widoczność 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łnić wszystkie ustawienia kierowania.

    • Poprawiliśmy definicję właściwości contentDetails.duration zasobu video, aby odzwierciedlała, że wartość może odzwierciedlać godziny, dni itp.

    • Dokumentacja metod channelSections.delete, playlistItems.delete, playlists.delete, subscriptions.delete i videos.delete została poprawiona, dzięki czemu wszystkie metody, które się udają, zwracają kod odpowiedzi HTTP 204 (No Content).

  • Nowe i zaktualizowane błędy

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

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

    W przewodniku znajdziesz też informacje o kilku funkcjach komentowania, których interfejs API w wersji 2 nie obsługuje, ale które są obsługiwane przez ten interfejs. Obejmują one:

    • Pobieranie komentarzy na temat kanału
    • Pobieranie wszystkich wątków komentarzy związanych z kanałem, co oznacza, że odpowiedź interfejsu API może zawierać komentarze na temat 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 uwzględnić informacje o tym, że powiadomienia są przekazywane tylko do centrum Google PubSubHubBub, a nie do centrum Superfeedr, jak wspomniano wcześniej.

9 kwietnia 2015 r.

Ta aktualizacja zawiera następujące zmiany:

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

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

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

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

      • commentThreads.list – pobiera listę wątków komentarzy. Ta metoda służy do pobierania komentarzy powiązanych 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 – modyfikuje komentarz najwyższego poziomu.

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

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

      • comments.list – pobiera listę komentarzy. Ta metoda służy do pobierania wszystkich odpowiedzi na konkretny komentarz.
      • comments.insert – pozwala utworzyć odpowiedź na istniejący komentarz.
      • comments.update – modyfikuje komentarz.
      • comments.markAsSpam – oznacz co najmniej jeden komentarz jako spam.
      • comments.setModerationStatus – ustawia stan moderowania jednego lub wielu komentarzy. Możesz na przykład usunąć komentarz, który będzie publicznie widoczny, lub odrzucić komentarz, który nie nadaje się do wyświetlenia. Żą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 https://www.googleapis.com/auth/youtube.force-ssl interfejsu API, opisany w historii zmian z 2 kwietnia 2015 r., jest wymagany w przypadku wywołań metod comments.insert, comments.update, comments.markAsSpam, comments.setModerationStatus, comments.delete, commentThreads.insert i commentThreads.update.

  • W nowym przewodniku Subskrybowanie powiadomień push opisujemy nową obsługę powiadomień push interfejsu API w ramach PubSubHubBub, czyli protokołu między serwerami do publikowania i subskrypcji zasobów dostępnych w internecie. Twój serwer wywołań zwrotnych PubSubHubBub może otrzymywać powiadomienia z kanału Atom, gdy kanał wykona dowolne z tych działań:

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

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

  • 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 następujące błędy:

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

2 kwietnia 2015 r.

Ta aktualizacja zawiera następujące zmiany:

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

    Interfejs API obsługuje metody wyświetlania, wstawiania, aktualizacji, pobierania i usuwania ś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 komunikacji z serwerem API przez połączenie SSL.

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

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

11 marca 2015 r.

Ta aktualizacja zawiera następujące zmiany:

  • Przewodnik po migracji interfejsu YouTube Data API (v3) zawiera nową kartę o nazwie Nowa w interfejsie API w wersji 3, która zawiera listę funkcji obsługiwanych przez interfejs API w wersji 3 oraz tych, których interfejs w wersji 2 nie był obsługiwany. Wcześniej te same funkcje były dostępne na innych kartach przewodnika. Na przykład nowa funkcja wyjaśniająca, jak aktualizować dane na temat kampanii promocyjnej In-Video na kanale jest dostępna również na karcie Kanały (profile).

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

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

    • 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żywać interfejsu API w wersji 3, aby znajdować polecane filmy. W tym celu wywołaj metodę activities.list i ustaw wartość parametru home na true.

      W odpowiedzi interfejsu API zasób odpowiada rekomendowanemu filmowi, jeśli wartość właściwości snippet.type wynosi 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 kanałów

    • Pobieranie nowych filmów objętych subskrypcją – interfejs API w wersji 3 nie pobiera listy zawierającej tylko filmy, które zostały ostatnio przesłane na kanały subskrybowane przez użytkownika interfejsu API. Możesz jednak znajdować nowe filmy w subskrypcji za pomocą interfejsu API w wersji 3. W tym celu wywołaj metodę activities.list i ustaw wartość parametru home na true.

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

    • Obsługa kanałów RSS

    • Powiadomienia push o aktualizacjach plików danych – interfejs API w wersji 2 obsługiwał powiadomienia push przy użyciu protokołu Simple Update Protocol (SUP) lub PubSubHubbub, aby monitorować kanały aktywności użytkowników YouTube. Otrzymujemy powiadomienia o nowych subskrypcjach kanałów oraz powiadomieniach o filmach wideo, które zostały ocenione, udostępnione, oznaczone jako ulubione, skomentowane lub przesłane.

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

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

    • Ustawianie i pobieranie tagów programisty – interfejs API w wersji 2 umożliwiał powiązanie słów kluczowych lub tagów programisty z filmem w momencie jego przesyłania. Tagi dewelopera nie byłyby wyświetlane użytkownikom YouTube, ale właściciele filmów mogli pobierać filmy, które pasowały do określonego tagu programisty.

      Interfejs API w wersji 3 zapewni podobną, ale nie identyczną funkcję. Konkretnie programista może wyszukiwać filmy przesłane przez jego własną aplikację. Dzięki tej funkcji każdy przesłany film jest automatycznie oznaczany numerem projektu powiązanym z aplikacją dewelopera w Google Developers Console. Następnie deweloper wyszukuje filmy przy użyciu tego samego numeru projektu.

    • Porządkowanie filmów według daty publikacji, liczby wyświetleń lub oceny – w interfejsie API 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 są niedostępne.

      Jest kilka wyjątków. Nowy przesłany lub dodany do ulubionych film, polubiony lub ostatnio oglądany film są automatycznie dodawane jako pierwszy element (snippet.position=0) w przypadku tych typów playlist. Każda z tych list jest więc skutecznie sortowana w kolejności od najnowszego do najstarszego na podstawie czasu dodania elementów do listy.

      • przesłane przez użytkowników
      • ulubione filmy
      • polubione filmy
      • historia oglądania

      Zwróć jednak uwagę, że do listy „Do obejrzenia” dodano nowy element. playlista jest dodawana na końcu listy, więc lista jest posortowana od najstarszego do najnowszego elementu.

    • Przetwarzanie wsadowe – interfejs API w wersji 3 obsługuje jeden z przypadków przetwarzania wsadowego, które były obsługiwane 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órego można użyć do określenia listy rozdzielanej przecinkami identyfikatorów (identyfikatorów filmów, kanałów itp.). Korzystając z tych metod, możesz pobrać listę wielu zasobów w ramach jednego żądania.

    Po tych zmianach w przewodniku są teraz wskazane wszystkie funkcje, które były obsługiwane w starej wersji interfejsu API (v2), które zostaną wycofane w obecnej wersji API (v3).

4 marca 2015 r.

Ta aktualizacja zawiera następujące zmiany:

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

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

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

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

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

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

    Typ błędu Szczegóły błędu Opis
    notFound (404) channelNotFound Metoda channels.update zwraca ten błąd, jeśli parametr id żądania określa kanał, którego nie można znaleźć.
    badRequest (400) manualSortRequiredinvalidValue Metody playlistItems.insert i playlistItems.update zwracają ten błąd, jeśli w żądaniu zostanie podjęta próba ustawienia pozycji elementu playlisty, ale playlista nie korzysta z ręcznego sortowania. Na przykład elementy playlisty mogą być sortowane według daty lub popularności. Możesz rozwiązać ten problem, usuwając element snippet.position z zasobu wysłanego w treści żądania. Jeśli chcesz, by element playlisty miał określoną pozycję na liście, musisz najpierw zmienić ustawienie kolejności playlisty na Ręcznie. To ustawienie można dostosować w Menedżerze filmów YouTube.
    forbidden (403) channelClosed Metoda playlists.list zwraca ten błąd, jeśli parametr channelId żądania określa kanał, który został zamknięty.
    forbidden (403) channelSuspended Metoda playlists.list zwraca ten błąd, jeśli parametr channelId żądania określa kanał, który został zawieszony.
    forbidden (403) playlistForbidden Metoda playlists.list zwraca ten błąd, jeśli parametr id żądania nie obsługuje żądania lub żą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:

  • Zaktualizowaliśmy przewodnik po migracji interfejsu YouTube Data API (v3), aby wyjaśnić, jak przesyłać filmy za pomocą JavaScriptu za pomocą interfejsu API w wersji 3. Więcej informacji 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. Zwróć uwagę, że ta zmiana w przewodniku po migracji nie odzwierciedla faktycznej zmiany interfejsu API, ale raczej dostępność nowego przykładowego kodu do przesyłania filmów za pomocą JavaScriptu 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 jest już wymienione przesyłanie z poziomu przeglądarki jako funkcję, która może zostać wycofana w interfejsie API w wersji 3.

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

11 listopada 2014 r.

Ta aktualizacja zawiera następujące zmiany:

  • Limit kosztu wywołania metody search.list zmienił się na 100 jednostek.

    Ważne: w wielu przypadkach możesz użyć innych metod API, aby pobierać informacje niższym kosztem. Rozważ 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

      Wywołaj metodę channels.list, aby znaleźć właściwy identyfikator kanału. Ustaw parametr forUsername na GoogleDevelopers, a parametr part na contentDetails. W odpowiedzi interfejsu API właściwość contentDetails.relatedPlaylists.uploads określa identyfikator playlisty 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 na kanał mogą być przesyłane 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 to:

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

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

    • Właściwość invideoPromotion.useSmartTiming wskazuje, czy kampania promocyjna na kanale korzysta z funkcji inteligentnego czasu. Ta funkcja służy do wyświetlania promocji w tych momentach filmu, w których jest większa szansa na to, że będą klikane, a nie zakłócają oglądania. Ta funkcja powoduje również wybranie jednej promocji, która jest wyświetlana przy każdym filmie.

  • Zaktualizowaliśmy definicje właściwości snippet.title i snippet.categoryId zasobu video, aby doprecyzować sposób, w jaki interfejs API obsługuje wywołania metody videos.update. Jeśli wywołujesz tę metodę, aby zaktualizować część snippet zasobu video, musisz ustawić wartość dla obu tych właściwości.

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

  • Właściwość contentDetails.contentRating.oflcRating zasobu video, która identyfikuje ocenę filmu według nowozelandzkiego Urzędu ds. Filmów i Literatury, obsługuje teraz dwie 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 z grafiką kanału w YouTube właściciela kanału zawiera zbyt wiele obrazów. Właściciel kanału powinien otworzyć stronę http://photos.google.com, otworzyć stronę albumów i usunąć niektóre zdjęcia z albumu.

12 września 2014 r.

Ta aktualizacja zawiera następujące zmiany:

13 sierpnia 2014 r.

Ta aktualizacja zawiera następujące zmiany:

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

    Typ błędu Szczegóły błędu Opis
    badRequest subscriptionLimitExceeded Subskrybent określony w żądaniu przekroczył limit liczby subskrypcji. Za kilka godzin będzie można spróbować zwiększyć liczbę subskrypcji.

12 sierpnia 2014 r.

Ta aktualizacja zawiera następujące zmiany:

  • W nowym przewodniku zatytułowanym Migracja aplikacji do interfejsu YouTube Data API (v3) wyjaśniamy, jak korzystać z interfejsu YouTube Data API (v3) do wykonywania funkcji dostępnych w interfejsie YouTube Data API (v2). Starsza wersja interfejsu API została oficjalnie wycofana 4 marca 2014 r. Ten przewodnik ma na celu pomoc w migracji aplikacji, które nadal korzystają z interfejsu API w wersji 2, do najnowszej wersji.

8 lipca 2014 r.

Ta aktualizacja zawiera następujące zmiany:

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

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

18 czerwca 2014 r.

Ta aktualizacja zawiera następujące zmiany:

  • Opis każdej metody interfejsu API został zaktualizowany, aby uwzględnić koszt limitu poniesiony w związku z wywołaniem tej metody. Podobnie definicje parametrów part zostały zaktualizowane, aby określić limit kosztów każdej części, którą można pobrać za pomocą wywołania interfejsu API. Na przykład wywołanie metody subscriptions.insert wiąże się z limitem kosztu wynoszącym około 50 jednostek. Zasób subscription też składa się z 3 części (snippet, contentDetails i subscriberSnippet), a każda z nich ma koszt 2 jednostek.

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

  • W źródle video są teraz dostępne 43 nowe systemy oceny treści, które określają oceny, które filmy otrzymały od różnych krajowych agencji ocenionych.

28 maja 2014 r.

Ta aktualizacja zawiera następujące zmiany:

  • Metoda search.list obsługuje teraz parametry location i locationRadius, co umożliwia wyszukiwanie filmów powiązanych z lokalizacją geograficzną. Aby można było pobrać wyniki na podstawie lokalizacji, żądanie musi określać wartość obu parametrów. Interfejs API zwróci błąd, jeśli żądanie zawiera tylko jeden z tych 2 parametrów.

    • Parametr location określa współrzędne szerokości i długości geograficznej w środku okrągłego obszaru geograficznego.

    • Parametr locationRadius określa maksymalną odległość, w jakiej lokalizacja powiązana z filmem musi 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:

  • Zaktualizowaliśmy właściwość invideoPromotion.items[] zasobu channel, aby zaznaczyć, że zwykle na kanale można ustawić tylko jeden promowany produkt. 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 opublikowane przez właściciela kanału w obszarze aktywności na kanale.
    • postedVideos – filmy, które właściciel kanału opublikował w sekcji aktywności na kanale.
    • subscriptions – kanały, które zasubskrybował właściciel kanału.

  • Nowa właściwość contentDetails.contentRating.ifcoRating zasobu video określa ocenę, którą film otrzymał od irlandzkiego biura klasyfikacji filmów.

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

  • Zaktualizowaliśmy definicję parametru q metody search.list, aby zaznaczyć, że wyszukiwane hasło może korzystać z operatora NIE (-) w celu wykluczania filmów powiązanych z określonym wyszukiwanym hasłem. W przypadku wartości można też użyć operatora logicznego LUB (|), aby znaleźć filmy powiązane z jednym z kilku wyszukiwanych haseł.

  • Zaktualizowaliśmy definicję właściwości pageInfo.totalResults zwracaną w odpowiedzi interfejsu API na wywołanie search.list, aby zaznaczyć, że wartość jest przybliżona i może nie przedstawiać dokładnej wartości. Poza tym maksymalna wartość to 1 000 000. Nie należy używać tej wartości do tworzenia linków podziału na strony. Zamiast tego użyj wartości właściwości nextPageToken i prevPageToken, aby określić, czy chcesz wyświetlać linki podziału na strony.

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

2 maja 2014 r.

Ta aktualizacja zawiera następujące zmiany:

  • Nowy zasób i18nLanguage określa język aplikacji obsługiwany przez stronę YouTube. Język aplikacji można też określić jako język interfejsu. W przypadku strony YouTube język aplikacji może być wybierany automatycznie na podstawie ustawień konta Google, języka przeglądarki lub lokalizacji adresu IP. Użytkownik może też ręcznie wybrać odpowiedni język w stopce strony YouTube.

    Interfejs API obsługuje metodę wyświetlania listy obsługiwanych języków aplikacji. Obsługiwanych języków można używać jako wartości parametru hl przy wywoływaniu metod interfejsu API, takich jak videoCategories.list i guideCategories.list.

  • Nowy zasób i18nRegion określa obszar geograficzny, który użytkownik YouTube może wybrać jako preferowany region treści. Region treści można też określić jako język treści. W przypadku witryny YouTube region treści może być wybierany automatycznie na podstawie danych heurystycznych, takich jak domena YouTube lub lokalizacja adresu IP użytkownika. Użytkownik mógł też ręcznie wybrać odpowiedni region treści w stopce witryny YouTube.

    Interfejs API obsługuje metodę wyświetlania obsługiwanych regionów treści. Obsługiwane kody regionów mogą być używane jako wartość parametru regionCode przy wywoływaniu 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 zbiorze filmów polecanych na kanale. Na przykład sekcja może zawierać najnowsze filmy z kanału, najpopularniejsze materiały czy filmy z jednej lub kilku playlist.

    Interfejs API obsługuje metody wyświetlania, wstawienia, aktualizowania i usuwania 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, by opisać komunikaty o błędach obsługiwane przez interfejs API w przypadku tych nowych metod.

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

    Zaktualizowaliśmy też definicję obiektu suggestions zasobu video, aby wyjaśnić, że obiekt ten zostanie zwrócony tylko wtedy, gdy właściwość processingDetails.tagSuggestionsAvailability filmu lub jego właściwość processingDetails.editorSuggestionsAvailability ma wartość available.

  • Zaktualizowaliśmy dokumentację metod videos.insert i videos.update, by odzwierciedlić możliwość ustawienia właściwości status.publishAt podczas ich wywoływania.

  • Zaktualizowaliśmy definicję obiektu invideoPromotion zasobu channel, aby wyjaśnić, że obiekt może pobrać tylko właściciel kanału.

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

  • W dokumentacji znajdziesz teraz maksymalną dozwoloną długość znaków dla 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ścią właściwości jest lista, 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 następujące błędy:

    Typ błędu Szczegóły błędu Opis
    badRequest (400) invalidCriteria Metoda channels.list zwraca ten błąd, jeśli żądanie określa parametry filtra, których nie można używać razem.
    badRequest (400) channelTitleUpdateForbidden Metoda channels.update zwraca ten błąd, jeśli próbujesz zaktualizować element brandingSettings kanału i zmienić wartość właściwości brandingSettings.channel.title. (Pamiętaj, że interfejs API nie zwróci błędu, jeśli pominiesz tę właściwość).
    badRequest (400) invalidRecentlyUploadedBy Metoda channels.update zwraca ten błąd, jeśli właściwość invideoPromotion.items[].id.recentlyUploadedBy określa nieprawidłowy identyfikator kanału.
    badRequest (400) invalidTimingOffset Metoda channels.update zwraca ten błąd, jeśli część invideoPromotion określa nieprawidłowe przesunięcie czasu.
    badRequest (400) tooManyPromotedItems Metoda channels.update zwraca ten błąd, jeśli część invideoPromotion określa więcej niż dozwolona liczba promowanych produktów.
    forbidden (403) promotedVideoNotAllowed Metoda channels.update zwraca ten błąd, jeśli właściwość invideoPromotion.items[].id.videoId określa identyfikator filmu, którego nie można znaleźć lub 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 wyświetlania promowanego produktu w YouTube.
    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 publikacji.

4 marca 2014 r.

Ta aktualizacja zawiera następujące zmiany:

5 grudnia 2013 r.

Ta aktualizacja zawiera następujące zmiany:

  • Zaktualizowaliśmy dokumentację metody search.list, by odzwierciedlić potrzebę określania wartości dokładnie jednego parametru filtra podczas przesyłania żądania wyszukiwania. Zamiast tego możesz ustawić wartość dla 1 parametru filtra lub dla 1 parametru filtra.

  • Zaktualizowaliśmy definicje parametrów metody search.list, aby zaznaczyć, że jeśli określasz wartość dowolnego z tych parametrów, musisz ustawić wartość parametru type na video:

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

  • Minimalny rozmiar przesyłanych obrazów banera kanału został zmniejszony do 2048 na 1152 pikseli. (Wcześniej minimalny rozmiar wynosił 2120 na 1192 piksele). Poza tym dokumentacja zasobów channel określa maksymalne rozmiary wszystkich obrazów banerów wyświetlanych przez interfejs API. Na przykład maksymalny rozmiar obrazu brandingSettings.image.bannerTvImageUrl w przypadku aplikacji na telewizory to 2120 x 1192 piksele, ale rzeczywisty obraz może mieć 2048 x 1152 piksele. Centrum pomocy YouTube zawiera 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 uwzględniały te informacje:

    • Wartość właściwości brandingSettings.channel.description może mieć maksymalnie 1000 znaków.
    • Właściwość brandingSettings.channel.featuredChannelsTitle może mieć maksymalnie 30 znaków.
    • W usłudze brandingSettings.channel.featuredChannelsUrls[] można teraz wyświetlać listę maksymalnie 100 kanałów.
    • Jeśli jest ustawiona, wartość właściwości brandingSettings.channel.unsubscribedTrailer musi określać identyfikator filmu publicznego lub niepublicznego należącego 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 widoczna podczas wyświetlania promocji. Można go ustawić tylko wtedy, gdy żądanie do interfejsu API ustawiające 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ę filmów przedstawianą przez Australijską Radę ds. Klasyfikacji (Australian Classification Board, ACB) w przypadku programów telewizyjnych dla dzieci lub od 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ł w ramach kanadyjskiego systemu klasyfikacji programów telewizyjnych i francuskojęzycznego systemu ocen Régie du cinéma, stosowanego odpowiednio w prowincji Quebec.

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

  • Dodaliśmy przykłady kodu dla tych metod:

24 października 2013 r.

Ta aktualizacja zawiera następujące zmiany:

  • Interfejs API obejmuje 2 dodatkowe funkcje, które mają pomagać w znajdowaniu i promowaniu transmisji na żywo:

    Nowa właściwość snippet.liveBroadcastContent w wynikach wyszukiwania wskazuje, czy zasób filmu lub kanału zawiera treści na żywo. Prawidłowe wartości właściwości to upcoming, active i none.

    • Nowa właściwość snippet.liveBroadcastContent zasobu video wskazuje, czy film jest nadchodzącą czy aktywną transmisją na żywo. Poniższa lista zawiera możliwe wartości tej usługi:

      • upcoming – to transmisja na żywo, która jeszcze się nie rozpoczęła.
      • active – film jest transmitowaną na żywo.
      • none – film nie jest nadchodzącej ani trwającej transmisji na żywo. Będzie to wartość właściwości w przypadku zakończonych transmisji, które są nadal widoczne w YouTube.

    • Nowa właściwość liveStreamingDetails zasobu video to obiekt zawierający metadane transmisji wideo na żywo. Aby pobrać te metadane, dodaj liveStreamingDetails do listy części zasobów wartości parametru part. Metadane zawierają te nowe właściwości:

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

    1 października 2013 r. udostępniliśmy dwie inne funkcje służące do identyfikowania 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 określa, czy YouTube ma wysłać powiadomienie o nowym filmie do użytkowników, którzy subskrybują kanał tego filmu. Domyślna wartość tego parametru to True. Oznacza ona, że subskrybenci będą powiadamiani o nowo przesłanych filmach. Właściciel kanału, który przesyła wiele filmów, może jednak ustawić 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 zmodyfikować podczas wywoływania metody channels.update, została zaktualizowana, tak aby zawierała właściwości invideoPromotion.items[].customMessage i invideoPromotion.items[].websiteUrl. Dodatkowo lista została zmodyfikowana, aby zidentyfikować właściwości brandingSettings, które można modyfikować. Te właściwości brandingSettings można było już modyfikować, więc zmiana w dokumentacji nie odzwierciedla zmian w istniejących funkcjach interfejsu API.

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

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

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

  • Definicja właściwości snippet.liveBroadcastContent, która jest częścią wyników wyszukiwania, została poprawiona, aby odzwierciedlić, ż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) – dzieciom powinno towarzyszyć osoba dorosła.
    • mibacVm6 (V.M.6) – tylko od 6 lat.
    • 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 widoczna podczas wyświetlania promocji. To pole można ustawić tylko wtedy, gdy żądanie do interfejsu API ustawiające wartość jest wysyłane w imieniu właściciela treści. Więcej informacji znajdziesz w parametrze onBehalfOfContentOwner.

1 października 2013 r.

Ta aktualizacja zawiera następujące zmiany:

  • Nowy obiekt auditDetails zasobu channel zawiera dane o kanale, które sieć wielokanałowa oceni podczas podejmowania decyzji o zaakceptowaniu lub odrzuceniu danego kanału. Pamiętaj, że każde żądanie interfejsu API, które pobiera tę część zasobu, musi zawierać token autoryzacji zawierający zakres https://www.googleapis.com/auth/youtubepartner-channel-audit. Poza tym każdy token korzystający z tego zakresu musi zostać unieważniony, gdy sieć wielokanałowa zdecyduje się zaakceptować lub odrzucić kanał lub w ciągu 2 tygodni od daty jego wydania.

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

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

  • Zasób channel zawiera 3 nowe właściwości – brandingSettings.image.bannerTvLowImageUrl, brandingSettings.image.bannerTvMediumImageUrl, brandingSettings.image.bannerTvHighImageUrl – określające 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 na żywo. Prawidłowe wartości właściwości to upcoming, active i none.

    • W przypadku zasobu video wartość upcoming oznacza, że materiał jest transmisją na żywo, która jeszcze się nie rozpoczęła, a wartość active – że jest to transmisja na żywo.
    • W przypadku zasobu channel wartość upcoming oznacza, że na kanale jest zaplanowana transmisja, która jeszcze się nie rozpoczęła, a wartość acive oznacza, że na kanale trwa już transmisja na żywo.

  • W zasobie watermark właściwość targetChannelId zmieniła się z obiektu w ciąg znaków. Zamiast właściwości podrzędnej określającej identyfikator kanału w YouTube, do którego prowadzi obraz znaku wodnego, właściwość targetChannelId określa teraz samą wartość. 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 zdarzeń.

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

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

    Typ błędu Szczegóły błędu Opis
    badRequest invalidImage Metoda thumbnails.set zwraca ten błąd, jeśli przesłana zawartość 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 tego filmu.

27 sierpnia 2013 r.

Ta aktualizacja zawiera następujące zmiany:

  • Nowy zasób watermark identyfikuje obraz, który wyświetla się podczas odtwarzania filmów z określonego kanału. Możesz też określić kanał docelowy, do którego będzie odsyłany obraz, a także określić czas wyświetlania znaku wodnego podczas odtwarzania filmów oraz czas jego widoczności.

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

    W dokumentacji o błędach opisano komunikaty o błędach obsługiwane przez interfejs API w szczególności w przypadku metod watermarks.set i watermarks.unset.

  • Nowa właściwość statistics.hiddenSubscriberCount zasobu channel zawiera wartość logiczną wskazującą, czy liczba subskrybentów kanału jest ukryta. Jeśli liczba subskrybentów kanału jest widoczna publicznie, wartość właściwości wynosi false.

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

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

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

    Typ błędu Szczegóły błędu Opis
    forbidden insufficientPermissions Zakresy powiązane z tokenem OAuth 2.0 podanym dla żądania nie wystarczają 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łady kodu dla tych metod:

    Zwróć uwagę, że przykład w Pythonie dla metody playlistItems.insert również został usunięty, ponieważ zademonstrowana przez niego funkcja jest teraz obsługiwana przez metodę videos.rate.

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

    Typ błędu Szczegóły błędu Opis
    badRequest invalidMine Parametru mine nie można używać w żądaniach, w których uwierzytelniony użytkownik jest partnerem YouTube. Musisz usunąć parametr mine, uwierzytelnić się jako użytkownik YouTube, usuwając parametr onBehalfOfContentOwner, lub działać jako jeden z kanałów partnera, podając parametr onBehalfOfContentOwnerChannel, jeśli jest on dostępny w przypadku wywoływanej 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 wyróżniający się kolor, który pasuje do zawartości kanału. Wartość właściwości to znak funta (#), po którym następuje sześcioznakowy ciąg szesnastkowy, np. #2793e6.

  • Umożliwia on teraz określenie, czy subskrypcja dotyczy wszystkich działań na kanale czy tylko nowo przesłanych filmów. Nowa właściwość contentDetails.activityType zasobu subscription określa typy działań, 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 służące do pobierania wykresu najpopularniejszych filmów w YouTube:

    • Parametr chart identyfikuje wykres, który chcesz pobrać. Obecnie jedyną obsługiwaną wartością jest mostPopular. Pamiętaj, że parametru 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ę wideo, dla której należy pobrać wykres. 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ą pojawiać się w filmie lub pojawiać się w nim.

  • Nazwa właściwości recordingDetails.location.elevation zasobu video została zmieniona na recordingDetails.location.altitude, a nazwa jej 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 ramach różnych schematów ocen, w tym klasyfikacji MPAA, TVPG itd. Dla każdego systemu ocen interfejs API obsługuje teraz wartość oceny wskazującą, że film nie został oceniony. Pamiętaj, że w przypadku ocen MPAA podana jest ocena „bez oceny”. ocena jest często używana do identyfikowania nieskróconych wersji filmów, w przypadku których wersja wycięta filmu otrzymała oficjalną ocenę.

  • Nowa właściwość contentDetails.contentRating.ytRating zasobu video identyfikuje treści z ograniczeniami wiekowymi. Wartość właściwości to ytAgeRestricted, jeśli YouTube rozpozna film jako zawierający treści nieodpowiednie dla użytkowników poniżej 18 roku życia. Jeśli brakuje właściwości lub wartość właściwości 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 z parametrem 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.

  • Dokumentacja metody channels.update została zaktualizowana, aby odzwierciedlić fakt, że tej metody można 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żesz ustawić dla obiektu invideoPromotion zasobu channel.

  • error documentation opisuje te nowe błędy:

    Typ błędu Szczegóły błędu Opis
    forbidden accountDelegationForbidden Ten błąd nie dotyczy konkretnej metody interfejsu API. Wskazuje on, że uwierzytelniony użytkownik nie jest upoważniony do działania w imieniu określonego konta Google.
    forbidden authenticatedUserAccountClosed Ten błąd nie dotyczy konkretnej metody interfejsu API. Oznacza to, że konto YouTube uwierzytelnionego użytkownika zostało zamknięte. Jeśli użytkownik działa w imieniu innego konta Google, ten błąd oznacza, że to konto zostało 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 konto zostało zawieszone.
    forbidden authenticatedUserNotChannel Ten błąd nie dotyczy konkretnej metody interfejsu API. Wskazuje on, że serwer interfejsu API nie może zidentyfikować kanału powiązanego z żądaniem do interfejsu API. Jeśli żądanie jest autoryzowane i korzysta z parametru onBehalfOfContentOwner, ustaw też parametr onBehalfOfContentOwnerChannel.
    forbidden cmsUserAccountNotFound Ten błąd nie dotyczy konkretnej metody interfejsu API. Użytkownik CMS nie może działać w imieniu podanego 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 wskazuje nieobsługiwany lub niedostępny wykres wideo.
    notFound videoNotFound Metoda videos.update zwraca ten błąd, co oznacza, ż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 YouTube.

  • Metoda activities.list obsługuje teraz parametr regionCode, który instruuje interfejs API tak, aby zwracał wyniki istotne dla określonego kraju. YouTube korzysta z tej wartości, gdy poprzednia aktywność autoryzowanego użytkownika w YouTube nie zapewnia wystarczającej ilości informacji do wygenerowania strumienia aktywności.

  • Zasoby playlisty zawierają teraz właściwość snippet.tags. Usługa będzie zwracana tylko autoryzowanym użytkownikom, którzy pobierają dane o swoich playlistach. Autoryzowani użytkownicy mogą też ustawiać tagi playlisty przy wywoływaniu metod playlists.insert lub playlists.update.

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

    Ten parametr wskazuje, że dane uwierzytelniające żądania wskazują użytkownika YouTube CMS działającego 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 YouTube.

    Ten parametr jest przeznaczony dla dostawców treści, którzy mają wiele różnych kanałów YouTube i nimi zarządzają. Umożliwia on partnerom uwierzytelnianie jednorazowe i uzyskiwanie dostępu do wszystkich danych o filmach i kanałach bez konieczności podawania danych uwierzytelniających dla każdego kanału.

    W kontekście tej wersji parametr umożliwia teraz partnerowi w zakresie treści wstawianie, aktualizowanie i usuwanie filmów na dowolnym z należących do niego kanałów w YouTube.

  • error documentation opisuje te nowe błędy:

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

  • W nowym przewodniku Praca z identyfikatorami kanałów wyjaśniamy, jak interfejs API używa identyfikatorów kanałów. Przewodnik może być szczególnie przydatny dla deweloperów, którzy przechodzą z poprzedniej wersji interfejsu API i używają aplikacji, które wysyłają żądania treści do użytkownika default lub opierają się na założeniu, że każdy kanał YouTube ma unikalną nazwę użytkownika, co już nie jest prawdą.

22 maja 2013 r.

Ta aktualizacja zawiera następujące zmiany:

14 maja 2013 r.

Ta aktualizacja zawiera następujące zmiany:

  • Na niezależnych stronach znajduje się teraz lista przykładów kodu dla systemów Java, .NET, PHP i Ruby.

  • Strona z przykładowym kodem w języku Python zawiera teraz przykłady dodawania subskrypcji, tworzenia playlisty i aktualizowania filmów.

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 korzystać z kampanii promocyjnej w filmach, aby wyświetlać w odtwarzaczu miniaturki promowanego filmu podczas odtwarzania jego filmów.

    Aby pobrać te dane, uwzględnij invideoPromotion w wartości parametru part w żądaniu channels.list.

  • Za pomocą nowej metody channels.update można aktualizować dane dotyczące kampanii promocyjnych 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 powiązanego już z nazwą użytkownika YouTube lub kontem Google+. Użytkownik, który ma jeden z tych linków, ma już publiczną tożsamość YouTube, co jest wymagane do wykonania kilku czynności, takich jak przesyłanie filmów.

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

  • Interfejs API obsługuje teraz metodę videos.getRating, która pobiera oceny nadane przez uwierzytelnionego użytkownika liście filmów lub ich większej liczby.

  • Nowy parametr myRating metody videos.list umożliwia pobranie listy filmów, które uwierzytelnił użytkownik z oceną like lub dislike.

    Parametr myRating i id są teraz uznawane za parametry filtra. Oznacza to, że żądanie do interfejsu API musi określać dokładnie 1 z tych parametrów. Wcześniej w przypadku tej metody wymagany był parametr id.

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

  • Wraz z wprowadzeniem parametru myRating zaktualizowaliśmy też metodę videos.list, aby obsługiwała podział na strony. Pamiętaj jednak, że parametry stronicowania są obsługiwane tylko w przypadku żądań korzystających z parametru myRating. (Parametry i informacje dotyczące tempa nie są obsługiwane w przypadku żądań korzystających z parametru id).

    • Parametr maxResults określa maksymalną liczbę filmów, jaką interfejs API może zwrócić w zestawie wyników, a parametr pageToken określa w zestawie wyników konkretną stronę, 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 takie informacje jak łączna liczba wyników czy liczba wyników 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 zawiera token, który można wykorzystać do pobrania konkretnej strony z zestawu wyników.

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

    • autoLevels – ustaw tę wartość na true, aby serwis YouTube automatycznie poprawił oświetlenie i kolory w filmie.
    • stabilize – ustaw tę wartość na true, aby YouTube korygował obraz przez usunięcie drżenia kamery spowodowanej ruchem kamery.

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

    • playlistItem – właściwość określa nazwę kanału, na który został dodany element playlisty.
    • playlist – ta właściwość określa nazwę kanału, na którym została utworzona playlista.
    • subscription – właściwość określa nazwę kanału, który subskrybujesz.

  • Dodaliśmy przykłady kodu 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ą dla żadnej z tych właściwości:

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

  • Zwracany jest błąd metody playlistItems.insert, gdy playlista zawiera już maksymalną dozwoloną liczbę elementów, a została zaktualizowana. 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 pozwala użytkownikowi ustawić ocenę like lub dislike dla filmu lub usunąć ocenę z niego.

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

  • Miniatury są teraz oznaczone w dokumentacji interfejsu API jako oddzielne zasoby, a nowa metoda thumbnails.set umożliwia przesłanie do YouTube niestandardowej miniatury filmu i ustawienie jej dla filmu.

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

    Ta zmiana nie ma tak naprawdę wpływu na istniejące zasoby, które zwracają miniatury obrazów. Miniatury są zwracane w tych zasobach w taki sam sposób jak wcześniej, jednak w dokumentacji znajdują się teraz nazwy różnych rozmiarów miniatur, które mogą być zwracane przez interfejs API.

  • Nowa część brandingSettings zasobu channel zawiera opis ustawień, tekstu oraz obrazów, które będą wyświetlane 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 jego stan prywatności.

  • 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 umożliwia wyszukiwanie tylko w przypadku filmów uwierzytelnionego użytkownika.

    • Parametr order umożliwia teraz sortowanie wyników alfabetycznie według tytułu (order=title) lub według liczby filmów w kolejności malejącej (order=videoCount).

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

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

    Typ błędu Szczegóły błędu Opis
    badRequest invalidCategoryId Właściwość snippet.categoryId określa nieprawidłowy identyfikator kategorii. Użyj metody videoCategories.list, aby pobrać obsługiwane kategorie.
    badRequest invalidRecordingDetails metadata specifies invalid recording details.
    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 parametrów obsługiwanych w metodach 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 tych zasobów:

    • activity – właściwość określa nazwę kanału odpowiedzialnego za aktywność.
    • search – właściwość określa nazwę kanału powiązanego z zasobem wskazanym w wyniku wyszukiwania.
    • video – 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 w celu pobrania wszystkich filmów lub tylko filmów albo tylko odcinków programów.

  • Zaktualizowaliśmy definicję części recordingDetails zasobu video, aby zaznaczyć, że obiekt jest zwracany w przypadku filmu tylko wtedy, gdy ustawiono dla niego dane geolokalizacji lub czas nagrywania.

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

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

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

      Ten parametr jest przeznaczony dla dostawców treści, którzy mają wiele różnych kanałów YouTube i nimi zarządzają. Umożliwia on partnerom uwierzytelnianie jednorazowe i uzyskiwanie dostępu do wszystkich danych o filmach i kanałach bez konieczności podawania danych uwierzytelniających dla każdego kanału.

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

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

    • Parametr forContentOwner, który jest obsługiwany przez metodę search.list, informuje interfejs API, aby ograniczyć wyniki wyszukiwania tak, aby zawierały tylko zasoby należące do właściciela treści określonego w parametrze 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 fragmenty fileDetails, processingDetails i suggestions zawierają informacje dla właścicieli filmów o przesłanych przez nich filmach. Dane te są bardzo przydatne w aplikacjach, które umożliwiają przesyłanie filmów. Obejmują one:

      • stan i postęp przetwarzania
      • błędy lub inne problemy napotkane podczas przetwarzania filmu;
      • dostępność miniatur
      • sugestie dotyczące poprawy jakości filmu lub metadanych.
      • szczegółowe informacje o oryginalnym pliku przesłanym do YouTube

      Wszystkie te elementy może pobrać tylko właściciel filmu. Na liście poniżej znajdziesz krótki opis nowych części, a dokumentacja zasobów video zawiera definicje wszystkich właściwości zawartych w poszczególnych częściach.

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

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

        Ten obiekt jest przeznaczony do ankietowania, dzięki czemu użytkownik, który przesłał film, może śledzić postęp przetwarzania przesłanego pliku wideo przez YouTube.

      • 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. Właściwości te można pobierać przy użyciu nieuwierzytelnionych żądań.

      • dimension – wskazuje, czy film jest dostępny w 2D czy 3D.
      • definition – wskazuje, czy film jest dostępny w rozdzielczości standardowej czy wysokiej.
      • caption – wskazuje, czy do filmu są dostępne napisy.
      • licensedContent – wskazuje, czy film zawiera treści, które zostały objęte roszczeniem przez partnera w zakresie treści YouTube.

    • Część status zawiera 2 nowe właściwości. Właściciele filmów mogą ustawiać wartości dla obu właściwości podczas wstawiania lub aktualizowania filmu. Właściwości te można też pobierać przy użyciu 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.

  • Zaktualizowaliśmy definicję parametru part w metodach videos.list, videos.insert i videos.update, aby wyświetlać listę nowo dodanych elementów opisanych powyżej, a także części recordingDetails, która została przez przypadek pominięta.

  • Nowa właściwość contentDetails.googlePlusUserId zasobu channel określa identyfikator profilu Google+ powiązany 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. Miniatury są obecnie zwracane w zasobach activity, channel, playlist, playlistItem, search result, subscription i video.

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

    Interfejs API zwraca błąd notFound, jeśli filmu wskazanego przez parametr nie można znaleźć na playliście.

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

  • Usunięto właściwość snippet.channelId zasobu channel. Właściwość id zasobu zawiera tę samą wartość.

30 stycznia 2013 r.

Ta aktualizacja zawiera następujące zmiany:

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

16 stycznia 2013 r.

Ta aktualizacja zawiera następujące zmiany:

  • Przykładowe fragmenty kodu są teraz dostępne dla 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 doda film do automatycznie wygenerowanego kanału YouTube. (YouTube algorytmicznie identyfikuje tematy, które są najpopularniejsze w YouTube, 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 ....
    • Nazwa parametru relatedToVideo została zmieniona na relatedToVideoId.
    • Parametr published został zastąpiony 2 nowymi parametrami: publishedAfter i publishedBefore, które opisaliśmy poniżej.

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

    Nazwa parametru Wartość Opis
    channelId string Zwróć zasoby utworzone przez podany kanał.
    publishedAfter datetime Zwróć zasoby utworzone po określonym czasie.
    publishedBefore datetime Zwróć zasoby utworzone przed podanym czasem.
    regionCode string Zwraca zasoby dla określonego kraju.
    videoCategoryId string Przefiltruj wyniki wyszukiwania filmów, aby uwzględniały tylko filmy powiązane z określoną kategorią.
    videoEmbeddable string Filtruj wyniki wyszukiwania filmów, aby uwzględniały tylko te filmy, które można odtwarzać w odtwarzaczu umieszczonym na stronie internetowej. Ustaw wartość parametru na true, aby pobierać tylko filmy do umieszczenia.
    videoSyndicated string Przefiltruj wyniki wyszukiwania filmów, aby uwzględniały tylko te treści, które można odtwarzać poza YouTube.com. Aby pobierać tylko rozpowszechniane filmy, ustaw wartość tego parametru na true.
  • Niektóre zasoby interfejsu API obsługują 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 Przypisany przez YouTube identyfikator elementu playlisty
    activity contentDetails.channelItem object Obiekt zawierający informacje o zasobie, który został dodany do kanału. Ta właściwość występuje tylko wtedy, gdy snippet.type ma wartość channelItem.
    activity contentDetails.channelItem.resourceId object Obiekt identyfikujący zasób, który został dodany do kanału. Podobnie jak inne właściwości resourceId, zawiera właściwość kind, która określa typ zasobu, np. film lub playlistę. Zawiera też dokładnie jedną z kilku właściwości – videoId, playlistId itd. – która określa identyfikator jednoznacznie identyfikujący zasób.
    channel status object Ten obiekt zawiera informacje o stanie prywatności kanału.
    channel status.privacyStatus string Status 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 potrzebne do odtworzenia playlisty w odtwarzaczu umieszczonym na stronie internetowej.
    playlist player.embedHtml string Tag <iframe> umieszczający odtwarzacz wideo, który odtwarza 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 geolokalizacyjne powiązane z filmem.
    video recordingDetails.location.latitude double Szerokość geograficzna w stopniach.
    video recordingDetails.location.longitude double Długość geograficzna w stopniach.
    video recordingDetails.location.elevation double Wysokość nad Ziemią w metrach.
    video recordingDetails.locationDescription string Opis tekstowy miejsca, w którym film został nagrany.
    video recordingDetails.recordingDate datetime Data i godzina nagrania filmu. Wartość jest podana w formacie ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ).
  • Dokumentacja kilku metod interfejsu API identyfikuje teraz właściwości, które muszą być określone w treści żądania lub aktualizowane na podstawie wartości zawartych w treści żądania. Poniższa tabela zawiera te metody oraz właściwości wymagane lub możliwe do modyfikacji.

    Uwaga: w dokumentacji innych metod mogą się już znajdować właściwości wymagane oraz możliwe do modyfikacji.

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

  • Niektóre metody interfejsu API obsługują nowe typy błędów. W tabeli poniżej znajdziesz informacje o metodzie i nowo obsługiwanych błędach:

    Metoda Typ błędu Szczegóły błędu Opis
    guideCategories.list notFound notFound Nie udało się znaleźć kategorii przewodnika określonej przez parametr id. Użyj metody guideCategories.list, aby pobrać listę prawidłowych wartości.
    playlistItems.delete forbidden playlistItemsNotAccessible Żądanie nie jest prawidłowo autoryzowane do usunięcia określonego elementu playlisty.
    videoCategories.list notFound videoCategoryNotFound Nie można znaleźć kategorii filmu określonej przez parametr id. Użyj metody videoCategories.list, aby pobrać listę prawidłowych wartości.