Ta strona zawiera listę zmian interfejsu YouTube Data API (v3) oraz aktualizacji dokumentacji. Zasubskrybuj ten dziennik zmian.
22 sierpnia 2022 r.
Poprawiono adnotacje dotyczące typów video.statistics w ciągach znaków bez podpisu.
5 sierpnia 2022 r.
W YouTube zmienił się sposób generowania identyfikatorów napisów. W ramach tej zmiany przypisujemy nowe identyfikatory napisów do wszystkich ścieżek napisów. Ta zmiana może być niezgodna wstecznie w przypadku aplikacji, które przechowują wartości caption_id
, ale nie będzie miała wpływu na aplikacje, które nie przechowują wartości caption_id
.
Od teraz do 1 grudnia 2022 roku metody captions.list
, captions.update
, captions.download
i captions.delete
będą obsługiwać zarówno stare, jak i nowe identyfikatory ścieżek napisów. Jednak od 1 grudnia 2022 r. YouTube przestanie obsługiwać stare identyfikatory ścieżek napisów. Wywołanie dowolnej z tych metod za pomocą starego identyfikatora ścieżki napisów spowoduje błąd captionNotFound
.
Aby przygotować się na tę zmianę, od 1 grudnia 2022 r. musisz całkowicie zastąpić wszystkie zapisane dane ścieżek napisów. Oznacza to, że w przypadku każdego filmu, dla którego przechowujesz dane ścieżek napisów, usuń obecnie zapisane dane, a następnie wywołaj metodę captions.list
, aby pobrać bieżący zestaw ścieżek napisów do filmu i zapisać dane w odpowiedzi interfejsu API w zwykły sposób.
12 lipca 2022 r.
Warunki korzystania z usług YouTube API zostały zaktualizowane. Aby uzyskać więcej informacji, zapoznaj się z Warunkami korzystania z usług interfejsu YouTube API – historia zmian.
27 kwietnia 2022 r.
Zaktualizowaliśmy opis metody videos.insert
, aby zwrócić uwagę, że maksymalny rozmiar przesyłanych plików wzrósł z 128 GB do 256 GB.
8 kwietnia 2022 r.
Definicje parametrów myRecentSubscribers
i mySubscribers
metody metody subscriptions.list
zostały zaktualizowane, aby zwrócić uwagę, że maksymalna liczba subskrybentów zwracanych przez interfejs API może być ograniczona.
Ta zmiana dotyczy dokumentacji, a nie sposobu działania interfejsu API.
15 grudnia 2021 r.
W związku z ogłoszeniem z 18 listopada 2021 r. w połączeniu ze zmianami dotyczącymi zliczania kliknięć „Nie podoba mi się” na całej platformie YouTube właściwość statistics.dislikeCount
zasobu video
stanie się prywatna.
Więcej informacji o tej zmianie znajdziesz na oficjalnym blogu YouTube.
18 listopada 2021 r.
W związku ze zmianami dotyczącymi liczby negatywnych ocen filmów na całej platformie YouTube 13 grudnia 2021 r. właściwość video
zasobu stanie się statistics.dislikeCount
. Oznacza to, że właściwość pojawi się w odpowiedzi interfejsu API z punktu końcowego videos.list
tylko wtedy, gdy właściciel filmu uwierzytelni się w interfejsie API.
Ta zmiana nie ma wpływu na punkt końcowy videos.rate
.
Deweloperzy, którzy nie wyświetlają publicznie liczby negatywnych ocen, a potrzebują liczby ocen negatywnych dla swojego klienta API, mogą złożyć wniosek o dołączenie do listy dozwolonych. Aby poprosić o zwolnienie, musisz wypełnić ten formularz.
Więcej informacji o tej zmianie znajdziesz na oficjalnym blogu YouTube.
2 lipca 2021 r.
Uwaga: to jest powiadomienie o wycofaniu usługi.
Punkt końcowy commentThreads.update
został wycofany i nie jest już obsługiwany.
Zduplikowana funkcja tego punktu końcowego dostępna przez inne punkty końcowe interfejsu API. Zamiast tego możesz wywołać comments.update
commentThreads
– wykonaj wywołanie pomocnicze do metody commentThreads.list
.
1 lipca 2021 r.
Wszyscy deweloperzy korzystający z usług API YouTube muszą przejść kontrolę zgodności interfejsu API,aby uzyskać więcej niż domyślny przydział 10 tys. jednostek. Do tej pory deweloperzy przeprowadzali zarówno proces kontroli zgodności, jak i prośby o dodatkowe przydziały jednostek, wypełniając i przesyłając formularz dotyczący interfejsu API kontroli i limitu YouTube API.
Aby wyjaśnić te procesy i lepiej spełniać wymagania deweloperów korzystających z naszych usług interfejsu API, dodajemy 3 nowe formularze oraz przewodnik po ich wypełnianiu:
- Formularz próśb o sprawdzenie konta deweloperów: deweloperzy, którzy przeszli już kontrolę zgodności z interfejsami API, mogą wypełnić i skrócić ten krótki formularz, by poprosić o przyznanie przedłużenia limitu.
- Formularz odwołania: deweloperzy, których projekty interfejsu API nie przeszły kontroli zgodności (lub odmówili zwiększenia jednostki reklamowej), mogą wypełnić i przesłać ten formularz.
- Zmiana formularza kontrolnego: ten formularz muszą wypełnić i przesłać deweloperzy lub dowolny podmiot obsługujący klienta API w imieniu dewelopera, który doświadczył zmiany kontroli (np. w wyniku zakupu lub sprzedaży akcji, fuzji przedsiębiorstw bądź innego rodzaju transakcji firmowej) powiązanej z projektem interfejsu API. Dzięki temu zespół YouTube ds. API będzie mógł aktualizować nasze rekordy, sprawdzać zgodność z przepisami dotyczącymi wykorzystania nowych projektów przez interfejs API oraz sprawdzać aktualny przydział przydziału przez dewelopera.
Każdy nowy formularz zawiera informacje na temat zamierzonego wykorzystania interfejsu API YouTube, dzięki czemu jesteśmy w stanie lepiej Ci pomóc.
Więcej informacji znajdziesz w naszym nowym przewodniku po audytach zgodności z interfejsem API.
12 maja 2021 r.
Uwaga: to jest powiadomienie o wycofaniu usługi.
Ta aktualizacja obejmuje następujące zmiany w interfejsach API:
-
Właściwość
contentDetails.relatedPlaylists.favorites
zasobuchannel
została wycofana. Funkcje ulubionych filmów są już wycofane na kilka lat, zgodnie z informacją 28 kwietnia 2016 r. dotyczącą historii zmian.Przed tą aktualizacją interfejs API nadal tworzył nową playlistę, jeśli klient interfejsu API próbował dodać film do nieistniejącej playlisty. W takim przypadku playlista nie będzie już tworzona, a interfejs API zwróci błąd. Próby zmiany ulubionych playlist przez dodanie, zmodyfikowanie lub usunięcie elementów także zostaną wycofane w poprzednich ogłoszeniach i w każdej chwili mogą zwracać błędy.
-
Poniższe właściwości zasobu
channel
zostały wycofane. Te właściwości nie są już obsługiwane w interfejsie YouTube Studio ani w YouTube. Z tego powodu nie są już obsługiwane przez interfejs API.brandingSettings.channel.defaultTab
brandingSettings.channel.featuredChannelsTitle
brandingSettings.channel.featuredChannelsUrls[]
brandingSettings.channel.profileColor
brandingSettings.channel.showBrowseView
brandingSettings.channel.showRelatedChannels
Wszystkie usługi zostały usunięte z reprezentacji zasobu
channel
, a ich definicje zostały usunięte z listy usług. Dodatkowo błędy powiązane z tymi właściwościami zostały usunięte z dokumentacji danej metody. -
Poniższe właściwości zasobu
channelSection
zostały wycofane. Te właściwości nie są już obsługiwane w interfejsie YouTube Studio ani w YouTube. Z tego powodu nie są już obsługiwane przez interfejs API.snippet.style
snippet.defaultLanguage
snippet.localized.title
localizations
localizations.(key)
localizations.(key).title
targeting
targeting.languages[]
targeting.regions[]
targeting.countries[]
W związku z tą zmianą parametr
hl
metodychannelSection.list
nie jest już obsługiwany, ponieważ obsługiwane przez nią funkcje nie są obsługiwane.Wszystkie usługi zostały usunięte z reprezentacji zasobu
channelSection
, a ich definicje zostały usunięte z listy usług. Dodatkowo błędy powiązane z tymi właściwościami zostały usunięte z dokumentacji danej metody. -
W przypadku właściwości
snippet.type
zasobuchannelSection
wyłączyliśmy te wartości. Te wartości nie są już obsługiwane na stronach kanałów w YouTube, dlatego nie są już obsługiwane przez interfejs API.likedPlaylists
likes
postedPlaylists
postedVideos
recentActivity
recentPosts
-
Właściwość
snippet.tags[]
zasobuplaylist
została wycofana. Ta usługa nie jest już obsługiwana w YouTube i dlatego nie jest już obsługiwana przez interfejs API.
9 lutego 2021 r.
Zasób playlistItem
obsługuje 2 nowe właściwości:
- Właściwość
snippet.videoOwnerChannelId
określa identyfikator kanału, który przesłał film z playlisty. - Właściwość
snippet.videoOwnerChannelTitle
wskazuje nazwę kanału, który przesłał film z playlisty.
28 stycznia 2021 r.
Ta aktualizacja zawiera następujące zmiany:
-
Metody
playlistItems.delete
,playlistItems.insert
,playlistItems.list
,playlistItems.update
,playlists.delete
,playlists.list
iplaylists.update
obsługują nowy błądplaylistOperationUnsupported
. Błąd występuje wtedy, gdy żądanie próbuje wykonać operację, która jest niedozwolona w przypadku konkretnej playlisty. Na przykład użytkownik nie może usunąć filmu z przesłanej playlisty ani usunąć samej playlisty.We wszystkich przypadkach ten błąd zwraca kod odpowiedzi HTTP
400
(nieprawidłowe żądanie). -
Błędy
watchHistoryNotAccessible
iwatchLaterNotAccessible
metodyplaylistItems.list
zostały usunięte z dokumentacji. Chociaż historia oglądania i listy Do obejrzenia nie są dostępne w interfejsie API, te błędy nie są zwracane przez interfejs API.
15 października 2020 r.
Do zasad dla deweloperów dodaliśmy 2 nowe sekcje:
- Nowa Sekcja III.E.4.i zawiera dodatkowe informacje o danych zbieranych i wysyłanych za pomocą wbudowanego odtwarzacza YouTube. Ponosisz odpowiedzialność za wszelkie dane użytkownika, które przesyłasz do nas za pomocą dowolnego umieszczonego w YouTube odtwarzacza, zanim użytkownik wejdzie z nim w interakcję, aby wskazać zamiar odtwarzania. Możesz ograniczyć dane udostępniane YouTube, zanim użytkownik wejdzie w interakcję z odtwarzaczem, ustawiając opcję autoodtwarzania na wartość fałsz.
- Nowa sekcja III.E.4.j dotyczy sprawdzania treści przeznaczonych dla dzieci przed umieszczeniem ich na stronach i w aplikacjach. Twoim obowiązkiem jest informowanie o tym, że filmy umieszczone w Twoim kliencie API są przeznaczone dla dzieci oraz że traktowane są odpowiednio dane zebrane z odtwarzacza umieszczonego na stronie. W związku z tym musisz sprawdzić stan treści za pomocą usługi YouTube Data API, zanim umieścisz je w kliencie interfejsu API za pomocą odtwarzaczy umieszczonych w YouTube.
Nowy przewodnik Jak znaleźć stan filmu MadeForKids został wyjaśniony za pomocą usługi YouTube Data API, jak sprawdzić stan treści przeznaczonych dla dzieci.
W związku z tymi zmianami do dokumentacji na temat parametrów umieszczonych na stronie dodaliśmy przypomnienie, że jeśli włączysz autoodtwarzanie, odtwarzanie będzie odbywać się bez interakcji użytkownika z odtwarzaczem, a zbieranie i udostępnianie danych dotyczących odtwarzania odbywa się podczas wczytywania strony.
8 października 2020 r.
Ta aktualizacja obejmuje 3 małe zmiany dotyczące zasobu channel
:
- Obiekt
snippet.thumbnails
, który identyfikuje miniatury miniatur kanału, może być pusty w przypadku nowo utworzonych kanałów. Może to potrwać do 1 dnia. - Właściwość
statistics.videoCount
odzwierciedla liczbę publicznych filmów na kanale, nawet właścicieli. Jest to zgodne z liczbą wyświetlaną na stronie YouTube. - Słowa kluczowe związane z kanałami, które zostały określone we właściwości
brandingSettings.channel.keywords
, mogą zostać skrócone, jeśli przekraczają maksymalną dozwoloną długość 500 znaków lub zawierają cudzysłowy bez zmiany znaczenia ("
). Limit 500 znaków nie jest limitem dla poszczególnych słów kluczowych, ale limitem dla wszystkich słów kluczowych. Działa to tak samo jak w witrynie YouTube.
9 września 2020 r.
Uwaga: to jest powiadomienie o wycofaniu usługi.
Ta aktualizacja obejmuje następujące zmiany interfejsu API. Wszystkie zmiany zaczną obowiązywać 9 września 2020 r. lub po tej dacie. Dlatego deweloperzy nie powinni już korzystać z wymienionych poniżej funkcji API.
-
Te zasoby, metody, parametry i właściwości zasobów interfejsu API są wycofywane natychmiast i nie będą działać po dacie tego ogłoszenia:
- Te właściwości zasobu
channel
:- Właściwość
statistics.commentCount
- Obiekt
brandingSettings.image
i wszystkie jego właściwości podrzędne - Lista
brandingSettings.hints
i wszystkie jej usługi podrzędne
- Właściwość
- Parametr filtra
categoryId
metodychannels.list
- Zasób
guideCategories
i metodaguideCategories.list
- Te właściwości zasobu
-
Odpowiedzi interfejsu API metody
channels.list
nie zawierają już właściwościprevPageToken
, jeśli żądanie interfejsu API ustawia parametrmanagedByMe
natrue
. Ta zmiana nie wpływa na właściwośćprevPageToken
w przypadku pozostałych żądańchannels.list
ani na właściwośćnextPageToken
w przypadku żadnych żądań. -
Zarówno właściwości
contentDetails.relatedPlaylists.watchLater
, jak icontentDetails.relatedPlaylists.watchHistory
zasobuchannel
zostały wycofane 11 sierpnia 2016 roku. Obsługa metodplaylistItems.insert
iplaylistItems.delete
w przypadku tych playlist została już całkowicie wycofana, a ich 2 właściwości zostały usunięte z dokumentacji. -
Parametr
mySubscribers
metodychannels.list
, który został wycofany 30 lipca 2013 roku, został usunięty z dokumentacji. Aby pobrać listę subskrybentów kanału uwierzytelnionego użytkownika, użyj metodysubscriptions.list
i parametrumySubscribers
. -
Obiekt
invideoPromotion
zasobuchannel
i wszystkie jego właściwości podrzędne, które zostały ogłoszone jako wycofane 27 listopada 2017 roku, zostały usunięte z dokumentacji.
29 lipca 2020 r.
Uprościliśmy proces naliczania limitu żądań interfejsu API, usuwając dodatkowy koszt powiązany z parametrem part
. Od razu będziemy naliczać opłatę podstawową za wywołaną metodę. Więcej informacji o uproszczonym limicie znajdziesz tutaj.
W wyniku tej zmiany większość wywołań interfejsu API ma nieco mniejszy koszt. W przypadku niektórych wywołań interfejsu API koszty nadal będą takie same. Ta zmiana nie powoduje zwiększenia kosztu wywołań interfejsu API. Najbardziej prawdopodobne jest, że przydzielony Ci limit, który widać w Google Cloud Console, pójdzie nieco dalej.
Zdecydowanie zalecamy, aby wszyscy deweloperzy ukończyli kontrolę zgodności swoich projektów, aby zapewnić nieprzerwany dostęp do usług interfejsu API YouTube.
Wpis dotyczący historii zmian został pierwotnie opublikowany 20 lipca 2020 roku.
28 lipca 2020 r.
Wszystkie filmy przesłane przez punkt końcowy videos.insert
z niezweryfikowanych projektów API utworzonych po 28 lipca 2020 r. będą dostępne wyłącznie w trybie wyświetlania prywatnego. Aby usunąć to ograniczenie, każdy projekt musi przeprowadzić audyt w celu potwierdzenia zgodności z Warunkami korzystania z usługi.
Twórcy, którzy używają niezweryfikowanego interfejsu API do przesyłania filmów, otrzymają e-maila z informacją o zablokowaniu filmu jako prywatnego oraz tego, że mogą uniknąć ograniczenia, korzystając z oficjalnego lub klienta.
Ta zmiana nie dotyczy obecnie projektów interfejsu API utworzonych przed 28 lipca 2020 r. Zalecamy jednak, aby wszyscy deweloperzy przeprowadzili kontrolę zgodności swoich projektów, aby zapewnić nieprzerwany dostęp do usług interfejsu API YouTube.
21 lipca 2020 r.
[Aktualizacja 28 lipca 2020 r.] Aktualizacja dokumentacji, do której odwołuje się ten wpis w historii zmian, została ponownie opublikowana 28 lipca 2020 r.
Wczoraj opublikowaliśmy aktualizację dokumentacji związaną z procesem naliczania opłat. Jednak ze względu na nieprzewidziane okoliczności zmiana limitu jeszcze nie obowiązuje. W związku z tym dokumentacja została cofnięta ze względu na dokładność. Aby uniknąć pomyłek, wpis historii zmian wyjaśniający zmianę został usunięty i wkrótce zostanie ponownie opublikowany.
7 lipca 2020 r.
Uwaga: to jest powiadomienie o wycofaniu usługi.
Parametry autoLevels
i stabilize
metody videos.insert
zostały wycofane, a ich parametry zostały usunięte z dokumentacji. Ich wartości są ignorowane i nie mają wpływu na sposób przetwarzania nowych filmów.
15 czerwca 2020 r.
Nowy przewodnik Zgodność z zasadami dla deweloperów w YouTube zawiera wskazówki i przykłady, które mają pomóc Ci zapewnić zgodność klientów interfejsu API z konkretnymi częściami Warunków i zasad korzystania z interfejsów API YouTube (Warunki korzystania z interfejsu API).
Ten przewodnik zawiera informacje o tym, jak YouTube egzekwuje niektóre aspekty Warunków korzystania z interfejsu API, ale nie zastępuje żadnych istniejących dokumentów. Ten przewodnik zawiera odpowiedzi na niektóre z najczęstszych pytań deweloperów dotyczących kontroli zgodności z interfejsami API. Mamy nadzieję, że ułatwi to proces rozwijania funkcji, pomagając zrozumieć, jak interpretujemy i egzekwujemy nasze zasady.
4 czerwca 2020 r.
Uwaga: jest to aktualizacja dotycząca wcześniejszego wycofania ogłoszenia.
Funkcja newslettera kanału została całkowicie wycofana. Ogłosiliśmy tę zmianę 17 kwietnia 2020 r. i od teraz będzie ona obowiązywać. Z tego powodu metoda activities.insert
nie jest już obsługiwana i metoda activities.list
nie zwraca już biuletynów kanału. Więcej informacji znajdziesz w Centrum pomocy YouTube.
17 kwietnia 2020 r.
Uwaga: to jest powiadomienie o wycofaniu usługi.
YouTube wycofuje funkcję newslettera kanału. W efekcie metoda activities.insert
zostanie wycofana, a metoda activities.list
przestanie wyświetlać biuletyny kanału. Zmiany zaczną obowiązywać w interfejsie API 18 maja 2020 r. lub później. Więcej informacji znajdziesz w Centrum pomocy YouTube.
31 marca 2020 r.
Ta aktualizacja zawiera następujące zmiany:
-
Nowe materiały i metody
-
Nowy zasób
member
reprezentuje osobę wspierającą kanał w YouTube. Członek zespołu oferuje twórcom cykliczne wsparcie finansowe i specjalne korzyści. wspierający mogą na przykład rozmawiać na czacie, gdy twórca włączy tryb tylko dla wspierających.Ten zasób zastępuje zasób
sponsor
, który jest udokumentowany w interfejsie YouTube Live Streaming API. Zasóbsponsor
został wycofany i klienty interfejsu API powinny zaktualizować wywołania metodysponsors.list
, aby korzystały z metodymembers.list
. -
Nowy zasób
membershipsLevel
określa poziom cen zarządzany przez twórcę, który autoryzował żądanie do interfejsu API. MetodamembershipsLevels.list
pobiera listę wszystkich poziomów wspierania twórcy.
-
10 stycznia 2020 r.
Interfejs API obsługuje teraz możliwość identyfikowania treści skierowanych do dzieci, nazywanych przez YouTube „przeznaczonymi dla dzieci”. Więcej informacji o treściach przeznaczonych dla dzieci znajdziesz w Centrum pomocy YouTube.
Zasoby channel
i video
obsługują 2 nowe właściwości, które umożliwiają twórcom treści i widzom identyfikowanie treści przeznaczonych dla dzieci:
-
Właściwość
selfDeclaredMadeForKids
pozwala twórcom treści określić, czy kanał lub film są przeznaczone dla dzieci.
W przypadku kanałów możesz ustawić tę właściwość podczas wywoływania metodychannels.update
. W przypadku filmów ta właściwość może być określona podczas wywoływania metodvideos.insert
lubvideos.update
.
Uwaga: ta właściwość jest uwzględniana w odpowiedziach API zawierających zasobychannel
lubvideo
tylko wtedy, gdy właściciel kanału autoryzował żądanie do interfejsu API. -
Właściwość
madeForKids
umożliwia każdemu użytkownikowi pobranie stanu „przeznaczone dla dzieci” kanału lub filmu. Stan może być określany na przykład na podstawie wartości właściwościselfDeclaredMadeForKids
. Więcej informacji o określaniu odbiorców kanału, filmów i transmisji znajdziesz w Centrum pomocy YouTube.
Zaktualizowaliśmy również Warunki korzystania z usług YouTube API i zasady dla deweloperów. Aby uzyskać więcej informacji, zapoznaj się z Warunkami korzystania z usług interfejsu YouTube API – historia zmian. Zmiany Warunków korzystania z usług interfejsu API YouTube i zasad dla deweloperów zaczną obowiązywać 10 stycznia 2020 r. czasu pacyficznego.
10 września 2019 r.
Zaktualizowaliśmy dokumentację dotyczącą interfejsów API, aby odzwierciedlić zmianę sposobu raportowania liczby subskrybentów w YouTube, w związku z czym w odpowiedziach na interfejsy API. W wyniku tej zmiany liczba subskrybentów zwracana przez usługę YouTube Data API zostanie zaokrąglona w dół do 3 znaczących liczb dla subskrybentów przekraczających 1000 osób. Ta zmiana wpływa na właściwość statistics.subscriberCount zasobu channel
.
Uwaga: ta zmiana ma wpływ na tę wartość nawet wtedy, gdy użytkownik wyśle autoryzowane żądanie dotyczące danych z własnego kanału. Właściciele kanałów mogą nadal sprawdzać dokładną liczbę subskrybentów w YouTube Studio.
Jeśli na przykład kanał ma 123 456 subskrybentów, właściwość statistics.subscriberCount
będzie zawierać wartość 123000
.
Poniższa tabela przedstawia przykłady zaokrąglania liczby subskrybentów w odpowiedziach na interfejs API i w przypadku innych publicznie dostępnych interfejsów YouTube:
Przykładowa liczba subskrybentów | YouTube Data API | Publicznie widoczne UI YouTube |
---|---|---|
1234 | 1230 | 1,23 tys. |
12 345 | 12300 | 12,3 tys. |
123 456 | 123000 | 123 tys. |
1 234 567 | 1230000 | 1,23 mln |
12 345 678 | 12300000 | 12,3 mln |
123 456 789 | 123000000 | 123 mln |
4 kwietnia 2019 r.
Ta aktualizacja zawiera następujące zmiany:
-
Dokumentacja dokumentacji interfejsu API została zaktualizowana, aby lepiej wyjaśnić typowe przypadki użycia w przypadku każdej metody i dostarczać dynamiczne, wysokiej jakości przykłady kodu za pomocą widżetu Eksplorator interfejsów API. Przykład znajdziesz w dokumentacji metody
channels.list
. Na stronach, które opisują metody interfejsu API, znajdują się teraz 2 nowe elementy:-
Widżet Eksplorator interfejsów API pozwala wybrać zakresy autoryzacji, wpisać przykładowe wartości parametrów i właściwości, a następnie wysyłać rzeczywiste żądania do interfejsu API i wyświetlać rzeczywiste odpowiedzi interfejsu API. Widżet oferuje również widok pełnoekranowy z pełnymi przykładami kodu, które dynamicznie aktualizują się zgodnie z podanymi zakresami i wartościami.
-
W sekcji Typowe przypadki użycia opisano jeden lub więcej typowych przypadków użycia metody opisanej na stronie. Na przykład możesz wywołać metodę
channels.list
, by pobrać dane dotyczące konkretnego kanału lub kanału obecnego użytkownika.W tej sekcji możesz użyć linków, aby w eksploratorze interfejsów API podać przykładowe wartości, które mogą być przydatne w Twoim przypadku, albo aby otworzyć ten interfejs z tymi wartościami. Te zmiany mają na celu ułatwienie wyświetlenia przykładów kodu, które mają zastosowanie bezpośrednio do przypadku użycia, który próbujesz zaimplementować we własnej aplikacji.
Przykładowe kody są obecnie obsługiwane w językach Java, JavaScript, PHP, Python i curl.
-
-
Narzędzie Przykładowe fragmenty kodu zostało zaktualizowane o nowy interfejs użytkownika, który oferuje wszystkie powyższe funkcje. Przy użyciu tego narzędzia możesz poznawać przypadki użycia różnych metod, wczytywać wartości do eksploratora interfejsów API oraz otwierać eksplorator interfejsów API na pełnym ekranie, aby pobierać przykłady kodu w języku Java, JavaScript, PHP i Python.
W związku z nią usunęliśmy strony, na których wcześniej znajdowały się dostępne przykłady kodu w językach Java, JavaScript, PHP i Python.
-
Zaktualizowano krótkie przewodniki dla języka Java, JavaScript, PHP i Pythona. Zaktualizowane przewodniki wyjaśniają, jak uruchomić jedną próbkę z kluczem interfejsu API, a drugą z identyfikatorem klienta OAuth 2.0, korzystając z przykładów kodu z eksploratora interfejsów API.
Te zmiany zastępują interaktywne narzędzie dodane do dokumentacji interfejsu API w 2017 roku.
9 lipca 2018 r.
Ta aktualizacja zawiera następujące zmiany:
-
Zaktualizowaliśmy definicję właściwości
snippet.thumbnails
zasobuchannel
, aby zwrócić uwagę, że podczas wyświetlania miniatur w aplikacji kod powinien używać adresów URL obrazów dokładnie w takiej postaci, w jakiej są one zwracane w odpowiedziach interfejsu API. Na przykład aplikacja nie powinna używać domenyhttp
zamiast domenyhttps
w adresie URL zwracanym w odpowiedzi interfejsu API.Od lipca 2018 roku adresy URL miniatur kanałów będą dostępne tylko w domenie
https
– tak właśnie wyglądają adresy URL w odpowiedziach interfejsu API. Po tym czasie możesz zobaczyć uszkodzone obrazy w aplikacji, jeśli spróbujesz załadować obrazy z YouTube z domenyhttp
. -
Uwaga: to jest powiadomienie o wycofaniu usługi.
Właściwość
recordingDetails.location.altitude
zasobuvideo
została wycofana. Nie ma gwarancji, że filmy wyświetlą wartości dla tej właściwości. I podobnie, nawet jeśli żądania API usiłują ustawić wartość tej właściwości, możliwe, że dane przychodzące nie zostaną zapisane.
22 czerwca 2018 r.
Przewodnik po implementacji, znany wcześniej jako „Przewodnik po implementacji i migracji”, został zaktualizowany, aby usunąć instrukcje migracji z interfejsu API v2 do interfejsu API v3. Ponadto usunęliśmy instrukcje dotyczące funkcji, które zostały wycofane w interfejsie API v3, takich jak ulubione filmy.
27 listopada 2017 roku
Ta aktualizacja zawiera następujące zmiany:
-
Uwaga: to jest powiadomienie o wycofaniu usługi.
YouTube wycofuje funkcje Polecane filmy i Polecane strony, które są obsługiwane w interfejsie API za pomocą obiektu
invideoPromotion
w zasobiechannel
. W związku z tym ten obiekt, w tym wszystkie jego usługi podrzędne, jest wycofywany.Dane usługi
invideoPromotion
możesz pobierać i konfigurować do 14 grudnia 2017 r. Po tym terminie:- Próba pobrania części
invideoPromotion
przy wywołaniuchannels.list
spowoduje zwrócenie pustego elementuinvideoPromotion
lub nie zwróci w ogóle żadnych danychinvideoPromotion
. - Próby zaktualizowania danych
invideoPromotion
przy wywołaniu metodychannels.update
zwrócą zrealizowaną odpowiedź co najmniej do 27 maja 2018 roku, ale będą one traktowane jako brak operacji, co oznacza, że nie wykonają aktualizacji.
Po 27 maja 2018 roku żądania mogą zwracać komunikaty o błędach, np. że
invalidPromotion
jest nieprawidłowa. - Próba pobrania części
16 listopada 2017 roku
Ta aktualizacja zawiera następujące zmiany:
-
Narzędzie do interaktywnego fragmentu kodu obsługuje teraz przykładowe fragmenty kodu Node.js. Próbki są też widoczne w dokumentacji prawie wszystkich metod interfejsu API, np.
channels.list
.Niestandardowe fragmenty kodu zostały zaprojektowane tak, by stworzyć punkt początkowy aplikacji Node.js do różnych zastosowań. Ta funkcja jest podobna do kodu z krótkiego przewodnika po Node.js. Przykłady zawierają jednak pewne funkcje, których nie ma w krótkim wprowadzeniu:
- Funkcja
removeEmptyParameters
pobiera listę par klucz-wartość odpowiadających parametrom żądania w interfejsie API i usuwa te, które nie mają wartości. - Funkcja
createResource
pobiera listę par klucz-wartość odpowiadających właściwościom zasobu interfejsu API. Następnie przekształca właściwości w obiekt JSON, którego można używać w operacjachinsert
iupdate
. Przykład poniżej pokazuje zestaw nazw i wartości właściwości oraz obiekt JSON, który zostanie dla nich wygenerowany:# Key-value pairs: {'id': 'ABC123', 'snippet.title': 'Resource title', 'snippet.description': 'Resource description', 'status.privacyStatus': 'private'} # JSON object: { 'id': 'ABC123', 'snippet': { 'title': 'Resource title', 'description': 'Resource description', }, 'status': { 'privacyStatus': 'private' } }
Wszystkie takie przykłady zostały zaprojektowane do pobierania i uruchamiania lokalnie. Aby uzyskać więcej informacji, zapoznaj się z wymaganiami wstępnymi dotyczącymi uruchamiania lokalnych przykładów pełnego kodu w instrukcjach narzędzia fragmentu kodu.
- Funkcja
25 października 2017 roku
Ta aktualizacja zawiera następujące zmiany:
-
Przykładowy kod w języku Python w interaktywnym narzędziu do dodawania fragmentów kodu został zaktualizowany i korzysta z bibliotek
google-auth
orazgoogle-auth-oauthlib
zamiast bibliotekioauth2client
, która została wycofana.Oprócz tej zmiany narzędzie zawiera teraz również pełne fragmenty kodu dla zainstalowanych aplikacji Pythona i aplikacji internetowych w Pythonie, które korzystają z nieco innych procesów autoryzacji. Aby zobaczyć pełne przykłady (i tę zmianę):
- Otwórz narzędzie do interaktywnego fragmentu kodu lub zapoznaj się z dokumentacją dowolnej metody interfejsu API, np.
channels.list
. - Kliknij kartę
Python
nad przykładowym kodem. - Kliknij przełącznik nad kartami, aby przełączyć się z całego fragmentu na pełną próbkę.
- Na karcie powinna być teraz widoczna kompletny przykładowy kod, który korzysta z procesu autoryzacji
InstalledAppFlow
. Opis powyżej zawiera wyjaśnienie oraz link do przykładu aplikacji na serwerze WWW. - Kliknij link, aby przełączyć się na przykład serwera WWW. Ta próbka korzysta z platformy aplikacji internetowej Flask i innego procesu autoryzacji.
Wszystkie takie przykłady zostały zaprojektowane do pobierania i uruchamiania lokalnie. Jeśli chcesz uruchomić przykładowy kod, zapoznaj się z instrukcjami dotyczącymi uruchamiania lokalnych przykładów pełnego kodu w instrukcjach narzędzia fragmentu kodu.
- Otwórz narzędzie do interaktywnego fragmentu kodu lub zapoznaj się z dokumentacją dowolnej metody interfejsu API, np.
29 sierpnia 2017 r.
Ta aktualizacja zawiera następujące zmiany:
- Definicja parametru
forContentOwner
metodysearch.list
została zaktualizowana. Pamiętaj, że jeśli parametr jest ustawiony natrue
, parametrtype
musi być ustawiony navideo
. - Zaktualizowaliśmy definicję parametru
regionCode
metodysearch.list
, by doprecyzować, że ogranicza on wyniki wyszukiwania do filmów, które można oglądać w określonym regionie. - W YouTube zaktualizowano logo i ikony marki. Nowe logo „opracowane we współpracy z YouTube” można pobrać ze strony wskazówek dotyczących promowania marki. Inne nowe logo i ikony YouTube są też wyświetlane na tej stronie i można je pobrać ze strony marki YouTube.
24 lipca 2017 roku
Ta aktualizacja zawiera następujące zmiany:
- Dostępny jest nowy krótki przewodnik po interfejsie YouTube Data API na iOS. Przewodnik zawiera instrukcje korzystania z interfejsu YouTube Data API w prostej aplikacji na system iOS, która została opisana w celu – C lub Swift.
- Narzędzie do interaktywnego fragmentu kodu interfejsu YouTube Data API zawiera teraz dokumentację wyjaśniającą niektóre funkcje tego narzędzia:
- Wykonywanie żądań do interfejsu API
- Przełączanie się między fragmentami kodu a pełnymi przykładami kodu
- Korzystanie z tych samych funkcji
- Wczytuję istniejące zasoby (metody aktualizacji)
Uwaga: to narzędzie zostało też umieszczone w dokumentacji referencyjnej dotyczącej metod interfejsu API (przykład).
1 czerwca 2017 r.
Ta aktualizacja zawiera następujące zmiany:
-
Uwaga: to jest powiadomienie o wycofaniu usługi.
Poniższe
video
właściwości zasobu są wycofywane. Chociaż właściwości te będą obsługiwane do 1 grudnia 2017 roku, nie możemy zagwarantować, że do tego czasu filmy będą zwracać wartości tych usług. Analogicznie żądaniavideos.insert
ivideos.update
, które ustawiają te wartości właściwości, nie będą generować błędów przed tą datą, ale możliwe, że dane przychodzące nie zostaną zapisane.
17 maja 2017 roku
Ta aktualizacja zawiera następujące zmiany:
-
Zaktualizowaliśmy dokumentację referencyjną interfejsu API, aby zwiększyć wszechstronność i interaktywność fragmentów kodu. Strony, które wyjaśniają metody interfejsu API, takie jak
channels.list
czyvideos.rate
, mają teraz interaktywne narzędzie, które pozwala wyświetlać i dostosowywać fragmenty kodu w języku Java, JavaScript, PHP, Python, Ruby, Apps Script i Go.W każdej z nich narzędzie wyświetla fragmenty kodu w przypadku co najmniej 1 przypadku użycia. Przypadki użycia opisują każdy typ tej metody. Możesz na przykład wywołać metodę
channels.list
, by pobrać dane o konkretnym kanale lub kanale bieżącego użytkownika.Możesz też korzystać z przykładowych kodów:
-
Modyfikuj wartości parametrów i właściwości, a fragmenty kodu są dynamicznie aktualizowane zgodnie z podanymi przez Ciebie wartościami.
-
Przełącz między fragmentami kodu a pełnymi przykładami. Fragment kodu pokazuje część kodu, która wywołuje metodę interfejsu API. Pełny przykład zawiera ten fragment oraz stały kod do autoryzacji i wysyłania żądań. Pełne przykłady można skopiować i uruchomić z wiersza poleceń lub lokalnego serwera WWW.
-
Realizuj żądania, klikając przycisk. (Aby wykonać żądania, musisz upoważnić narzędzie do wywoływania interfejsu API w Twoim imieniu).
Pamiętaj, że to narzędzie zastąpiło narzędzie APIs Explorer na stronach, na których jest dostępne. (Na każdej stronie wyświetlany jest link, dzięki któremu możesz wczytać żądanie, nad którym pracujesz w narzędziu APIs Explorer).
-
-
Do narzędzia Data API Fragments dodaliśmy też nowy interfejs, który udostępnia te same funkcje co opisane powyżej. Najważniejsze nowe funkcje dostępne na tej stronie to:
- Obsługa żądań do interfejsu API zapisu danych.
- Obsługa próbek Java.
- Bardziej elastyczny i kompleksowy kod stały do autoryzacji użytkowników i tworzenia żądań do interfejsu API.
27 kwietnia 2017 r.
Ta aktualizacja zawiera następujące zmiany:
- Nowe krótkie przewodniki wyjaśniają, jak skonfigurować prostą aplikację, która wysyła żądania do interfejsu YouTube Data API. Przewodniki są obecnie dostępne w systemach Android, Apps Script, Go, Java, JavaScript, Node.js, PHP, Python i Ruby.
30 marca 2017 r.
Ta aktualizacja zawiera następujące zmiany:
- Nowa właściwość
topicDetails.topicCategories[]
zasobuchannel
zawiera listę adresów URL Wikipedii opisujących zawartość kanału. Adresy URL odpowiadają identyfikatorom tematów zwracanym we właściwościtopicDetails.topicIds[]
zasobu. - Nowa właściwość
contentDetails.videoPublishedAt
zasobuplaylistItem
określa czas publikacji filmu w YouTube. Zasób zawiera już właściwośćsnippet.publishedAt
, która wskazuje czas dodania elementu do playlisty. - Podobnie jak zasób
channel
zasóbvideo
zwraca teraz właściwośćtopicDetails.topicCategories[]
, która zawiera listę adresów URL Wikipedii opisujących zawartość filmu. W przypadku zasobówvideo
adresy URL odpowiadają identyfikatorom tematów zwracanym we właściwościtopicDetails.relevantTopicIds[]
zasobu. - Nowa właściwość
contentDetails.contentRating.mpaatRating
zasobuvideo
określa ocenę, którą Motion Picture Association of America otrzymała od zwiastuna filmu lub podglądu.
27 lutego 2017 r.
Zgodnie z zapowiedzią z 11 sierpnia 2016 r. YouTube zmienia listę obsługiwanych identyfikatorów tematów na listę wyselekcjonowaną. Pełna lista obsługiwanych identyfikatorów tematów znajduje się we właściwościach topicDetails
zasobu channel
i video
, a także w parametrze topicId
metody search.list
.
Na liście wybranych zmian jest kilka zmian:
- Te tematy zostały dodane jako podtemat
Society
:Nazwa identyfikator tematu Biznes /m/09s1f
Zdrowie /m/0kt51
Obiekty wojskowe /m/01h6rj
Polityka /m/05qt0
Religia /m/06bvp
- Temat
Animated cartoon
, wcześniejszy element podrzędny elementuEntertainment
, został usunięty. - Temat
Children's music
, wcześniejszy element podrzędny elementuMusic
, został usunięty.
W wyniku tej zmiany tematy związane z filmami są teraz zawsze zwracane w wartości właściwości topicDetails.relevantTopicIds[]
zasobu video
.
29 listopada 2016 r.
Ta aktualizacja zawiera następujące zmiany:
-
Na liście identyfikatorów tematów wprowadziliśmy 3 małe zmiany, które będą obsługiwane od 10 lutego 2017 roku:
- Kategoria
Professional wrestling
, która była wcześniej podrzędna wobec kategoriiSports
, jest teraz podrzędna wobec kategoriiEntertainment
. - Kategoria
TV shows
, która jest elementem podrzędnym w kategoriiEntertainment
, jest nowa. - Kategoria
Health
, wcześniej należąca do wydawcy podrzędnegoLifestyle
, została usunięta.
Pamiętaj też, że istnieje kilka kategorii nadrzędnych (
Entertainment
,Gaming
,Lifestyle
,Music
iSports
). Każdy film powiązany z kategorią podrzędną, na przykładTennis
, też zostanie powiązany z kategorią nadrzędną (Sports
). - Kategoria
10 listopada 2016 r.
Ta aktualizacja zawiera następujące zmiany:
-
Zgodnie z ogłoszeniem z 11 sierpnia 2016 r., wycofanie Freebase i Freebase API wymaga wprowadzenia kilku zmian związanych z identyfikatorami tematów. Identyfikatory tematów identyfikują tematy powiązane z zasobami
channel
ivideo
. Możesz też użyć parametru wyszukiwaniatopicId
, aby znaleźć kanały lub filmy związane z określonym tematem.10 lutego 2017 r. YouTube zacznie zwracać niewielki zestaw identyfikatorów tematów zamiast znacznie bardziej szczegółowego zestawu dotychczasowych identyfikatorów. Nie ma też gwarancji, że kanały i filmy zostaną powiązane z jakimikolwiek tematami, co jest zgodne z obecnym zachowaniem interfejsu API.
Aby umożliwić Ci przygotowanie klientów interfejsu API na te zmiany, zaktualizowaliśmy definicje tych parametrów i właściwości interfejsu API, tak aby zawierały listę identyfikatorów tematów, które będą obsługiwane po tym czasie. Pamiętaj, że lista kategorii jest taka sama we wszystkich usługach.
- Właściwość
topicDetails.topicIds[]
zasobuchannel
. - Właściwość
topicDetails.relevantTopicIds[]
zasobuvideo
. - Parametr
topicId
metodysearch.list
.
- Właściwość
-
Uwaga: to jest powiadomienie o wycofaniu usługi.
Te właściwości są wycofywane:
- Właściwość
topicDetails.topicIds[]
zasobuchannel
. Ta usługa będzie obsługiwana do 10 listopada 2017 r. - Właściwość
topicDetails.relevantTopicIds[]
zasobuvideo
. Ta usługa będzie obsługiwana do 10 listopada 2017 r. - Właściwość
topicDetails.topicIds[]
zasobuvideo
. Po 10 lutego 2017 roku ta właściwość nie będzie zawierać wartości. (Po tym terminie wartość właściwościtopicDetails.relevantTopicIds[]
będzie wskazywać wszystkie tematy powiązane z filmem).
- Właściwość
-
Ponieważ program Freebase został już wycofany, przewodnik Searching with Freebase Topics (Wyszukiwanie z użyciem tematów bezpłatnych) został usunięty z dokumentacji. Ten przewodnik zawiera przykładowy kod, który pokazuje, jak aplikacja współdziała z interfejsem API Freebase.
Ponadto z dokumentacji metody
search.list
usunęliśmy kilka przykładów kodu związanych z identyfikatorami tematów.
2 listopada 2016 r.
Ta aktualizacja zawiera następujące zmiany:
-
Nowe właściwości i parametry
-
Zasób
video
zawiera kilka nowych właściwości:-
Właściwość
player.embedHtml
zawiera tag<iframe>
, którego możesz użyć do umieszczenia na stronie odtwarzacza odtwarzającego film. Nowe właściwościplayer.embedHeight
iplayer.embedWidth
określają wymiary umieszczonego odtwarzacza. Te właściwości są zwracane tylko wtedy, gdy żądanie API określa wartość co najmniej jednego parametrumaxHeight
lubmaxWidth
. Te 2 nowe parametry zostały omówione w dalszej części tego wpisu historii zmian. -
Nowa właściwość
hasCustomThumbnail
wskazuje, czy przesyłający przesłał niestandardową miniaturę filmu. Pamiętaj, że ta właściwość jest widoczna tylko dla przesyłającego. -
Nowy element
fpbRatingReasons[]
wskazuje, dlaczego film otrzymał ocenę FPB (RPA). -
Nowy element
mcstRating
określa ocenę filmu, którą otrzymał on w Wietnamie.
-
-
Metoda
videos.list
obsługuje 2 nowe parametry:maxHeight
imaxWidth
. Podczas pobierania częściplayer
w zasobachvideo
możesz użyć jednego z tych parametrów lub obu tych parametrów.Domyślnie wysokość obiektu
<iframe>
zwróconego we właściwościplayer.embedHtml
wynosi 360 pikseli. Szerokość jest dostosowywana do współczynnika proporcji filmu, dzięki czemu umieszczony odtwarzacz nie ma czarnych ramek. Jeśli na przykład film ma współczynnik proporcji 16:9, szerokość odtwarzacza wynosi 640 pikseli.Dzięki nowym parametrom możesz określić, że zamiast wymiarów domyślnych kod powinien używać wysokości lub szerokości odpowiedniej do układu aplikacji. Serwer interfejsu API odpowiednio skaluje wymiary odtwarzacza, aby zapewnić, że osadzony odtwarzacz nie ma czarnych ramek. Oba parametry określają maksymalne wymiary umieszczonego odtwarzacza. Jeśli więc określisz oba parametry, jeden z nich może być mniejszy niż maksymalna dozwolona wartość dla tego wymiaru.
Załóżmy na przykład, że film ma współczynnik proporcji 16:9. Jeśli tag
maxHeight
lubmaxWidth
nie jest ustawiony, tagplayer.embedHtml
zawiera odtwarzacz o wymiarach 640 x 360.- Jeśli parametr
maxHeight
ma wartość720
, a parametrmaxWidth
nie jest skonfigurowany, interfejs API zwraca odtwarzacz 1280 x 720. - Jeśli parametr
maxWidth
ma wartość960
, a parametrmaxHeight
nie jest skonfigurowany, interfejs API zwraca odtwarzacz 960 x 540. - Jeśli parametr
maxWidth
jest ustawiony na960
, a parametrmaxHeight
to450
, interfejs API zwróci odtwarzacz 800 x 450.
Opisane powyżej nowe właściwości
player.embedHeight
iplayer.embedWidth
określają wymiary odtwarzacza. - Jeśli parametr
-
-
Aktualizacje dotychczasowych metod, właściwości i parametrów
-
Zaktualizowaliśmy opis zasobu
channelSection
, aby poinformować, że kanał może utworzyć maksymalnie 10 półek bez ustawienia danych kierowania i maksymalnie 100 półek z danymi kierowania.Dodatkowo właściwość
targeting
zasobuchannelSection
została zaktualizowana, aby uwzględniała fakt, że opcje kierowania można ustawiać tylko za pomocą interfejsu API. Opcje kierowania są usuwane, jeśli sekcja kanału została zmodyfikowana za pomocą interfejsu w witrynie YouTube. -
Poprawiono definicję właściwości
snippet.name
zasobui18nLanguage
, tak by odzwierciedlała nazwę języka w wersji zapisanej w parametrzehl
metodyi18nLanguage.list
. -
Zaktualizowano właściwość
contentDetails.note
zasobuplaylistItem
, aby odzwierciedlała, że maksymalna długość właściwości to 280 znaków. -
Właściwości
contentDetails.startAt
icontentDetails.endAt
zasobuplaylistItem
zostały wycofane. Te pola są ignorowane, jeśli zostały ustawione w żądaniachplaylistItems.insert
lubplaylistItems.update
. -
Metody
playlistItems.delete
iplaylistItems.update
obsługują teraz parametronBehalfOfContentOwner
, który jest już obsługiwany w przypadku kilku innych metod. Żądania korzystające z tej metody muszą też być autoryzowane za pomocą tokena zapewniającego dostęp do zakresuhttps://www.googleapis.com/auth/youtubepartner
. -
Parametry
publishedBefore
ipublishedAfter
metody metodysearch.list
zostały zaktualizowane, by wskazać, że wartości tych parametrów są włączone. Jeśli więc jest ustawiony parametrpublishedBefore
, interfejs API zwróci zasoby utworzone przed lub o określonej godzinie. -
Właściwość
contentDetails.contentRating.grfilmRating
zasobuvideo
obsługuje 3 dodatkowe wartości:grfilmK12
,grfilmK15
igrfilmK18
. -
Zaktualizowaliśmy opis metody
videos.insert
, aby zwrócić uwagę, że maksymalny rozmiar przesyłanych plików wzrósł z 64 GB do 128 GB.
-
-
Nowe i zaktualizowane błędy
-
Interfejs API obsługuje następujące nowe błędy:
Typ błędu Szczegóły błędu Opis forbidden (403)
homeParameterDeprecated
Metoda activities.list
zwraca ten błąd, aby wskazać, że dane o aktywności na stronie głównej użytkownika nie są dostępne za pomocą tego interfejsu API. Ten błąd może wystąpić, jeśli w nieautoryzowanym żądaniu ustawisz parametrhome
na wartośćtrue
.invalidValue (400)
invalidContentDetails
Metoda playlistItems.insert
zwraca ten błąd, aby wskazać, że obiektcontentDetails
w żądaniu jest nieprawidłowy. Przyczyną tego błędu jest to, że polecontentDetails.note
jest dłuższe niż 280 znaków.forbidden (403)
watchHistoryNotAccessible
Metoda playlistItems.list
zwraca ten błąd, by wskazać, że żądanie próbowało pobrać elementy playlisty „Historia oglądania”, ale nie udało się ich pobrać za pomocą interfejsu API.forbidden (403)
watchLaterNotAccessible
Metoda playlistItems.list
zwraca ten błąd, aby wskazać, że żądanie próbowało pobrać elementy playlisty „Do obejrzenia”, ale nie można ich pobrać za pomocą interfejsu API.badRequest (400)
uploadLimitExceeded
Metoda videos.insert
zwraca ten błąd, wskazując, że na kanale przekroczono liczbę filmów, które można przesłać.forbidden (403)
forbiddenEmbedSetting
Metoda videos.update
zwraca ten błąd, aby wskazać, że żądanie do interfejsu API próbuje ustawić nieprawidłowe ustawienie umieszczenia filmu. Pamiętaj, że niektóre kanały mogą nie mieć uprawnień do oferowania osadzonych odtwarzaczy podczas transmisji na żywo. Więcej informacji znajdziesz w Centrum pomocy YouTube. -
Metoda
playlistItems.insert
nie zwraca już błędu, jeśli wstawisz zduplikowany film do playlisty. Ten błąd wcześniej występował w przypadku niektórych playlist, np. ulubionych filmów, które nie zezwalały na duplikaty, ale nie są już obsługiwane. Ogólnie playlisty umożliwiają tworzenie duplikatów filmów.
-
-
Inne aktualizacje
-
Zaktualizowaliśmy wpis w historii zmian z 15 września 2016 r., aby wyjaśnić, że za każdym razem, gdy odpowiedź zawiera właściwości
contentDetails.relatedPlaylists.watchHistory
icontentDetails.relatedPlaylists.watchLater
zasobuchannel
, zawsze zawierają one odpowiednio wartościHL
iWL
. Ponadto są one uwzględniane tylko wtedy, gdy autoryzowany użytkownik pobiera dane o jego kanale.
-
15 września 2016 r.
Ta aktualizacja zawiera następujące zmiany:
-
11 sierpnia 2016 roku w aktualizacji historii zmian pojawiły się zmiany związane z identyfikatorami tematów, w tym zmiana zestawu obsługiwanych identyfikatorów tematów od 10 lutego 2017 roku. Lista tematów, które będą obsługiwane, zostanie opublikowana 10 listopada 2016 r.
-
Zmiany te zostały wprowadzone. W aktualizacji historii zmian z 11 sierpnia 2016 roku pojawiły się te informacje:
-
Jeśli metoda
activities.list
jest wywoływana z parametremhome
ustawionym natrue
, odpowiedź interfejsu API zawiera teraz elementy podobne do tych, które widzą niezalogowani użytkownicy YouTube na stronie głównej.To drobna zmiana, która ma zapewnić lepsze wrażenia użytkownikom niż w aktualizacji historii zmian 11 sierpnia 2016 r. Z tej aktualizacji wynika, że żądania używające parametru
home
zwracają pustą listę. -
Usługi
contentDetails.relatedPlaylists.watchHistory
icontentDetails.relatedPlaylists.watchLater
zasobuchannel
zawierają teraz wartościHL
iWL
dla wszystkich kanałów.Dla jasności: właściwości te są widoczne tylko dla autoryzowanego użytkownika, który pobiera dane o jego kanale. Te właściwości zawsze zawierają wartości
HL
iWL
, nawet gdy autoryzowany użytkownik pobiera dane o swoim kanale. Dlatego nie można pobierać za pomocą interfejsu API historii oglądania ani identyfikatorów playlist do obejrzenia.Dodatkowo w odpowiedzi na prośby o pobranie szczegółów playlisty (
playlists.list
) lub elementów playlisty (playlistItems.list
) z historii oglądania kanału lub playlisty typu „Do obejrzenia” wyświetlają się teraz puste listy. Dzieje się tak w przypadku nowych wartościHL
iWL
, a także tych z historii oglądania lub identyfikatorów późniejszych playlist, które zostały zapisane przez klienta API.
-
-
Obiekt
fileDetails.recordingLocation
zasobuvideo
i jego właściwości podrzędne nie są już zwracane. Wcześniej dane te (takie jak nadrzędny obiektfileDetails
) mógł pobierać tylko właściciel filmu.
11 sierpnia 2016 r.
Ta aktualizacja zawiera następujące zmiany:
-
Nowo opublikowane Warunki korzystania z usług interfejsu API YouTube („Zaktualizowane Warunki”) przedstawione szczegółowo na blogu YouTube Developers and Blog zawierają wiele aktualizacji bieżących Warunków korzystania z usługi. Oprócz zaktualizowanych warunków, które wejdą w życie 10 lutego 2017 r., ta aktualizacja zawiera kilka dokumentów dodatkowych, które wyjaśniają zasady, których muszą przestrzegać deweloperzy.
Pełny zestaw nowych dokumentów został opisany w historii zmian w zaktualizowanych warunkach. Ponadto przyszłe zmiany w zaktualizowanych Warunkach lub dodatkowych dokumentach będą również omówione w historii zmian. Za pomocą linku w tym dokumencie możesz zasubskrybować zmiany w kanale RSS dotyczące informacji o historii zmian.
-
Wycofanie Freebase i Freebase API spowoduje kilka zmian związanych z identyfikatorami tematów. Identyfikatory tematów są używane w następujących zasobach i metodach interfejsu API:
- Część
topicDetails
zasobuchannel
określa tematy powiązane z kanałem. - Część
topicDetails
zasobuvideo
określa tematy powiązane z filmem. - Parametr
topicId
metodysearch.list
umożliwia wyszukiwanie filmów lub kanałów związanych z określonym tematem.
Zmiany w tych funkcjach:
-
Od 10 lutego 2017 r. YouTube zacznie zwracać niewielki zestaw identyfikatorów tematów zamiast znacznie bardziej szczegółowego zestawu zwracanych do tej pory identyfikatorów. Ten zestaw obsługiwanych kategorii będzie służyć do kategoryzacji wysokiego poziomu, np. Sport czy Koszykówka, ale nie wskaże konkretnych drużyn ani zawodników. Ogłosimy zbiór obsługiwanych tematów, aby umożliwić Ci przygotowanie się na tę zmianę.
-
Wszystkie pobrane identyfikatory tematów Freebase będą mogły być używane do wyszukiwania treści do 10 lutego 2017 roku. Po upływie tego czasu możliwe będzie jednak pobieranie wyników tylko na podstawie mniejszej liczby tematów zidentyfikowanych w poprzednim elemencie.
-
Jeśli po 10 lutego 2017 r. spróbujesz wyszukać wyniki za pomocą identyfikatora tematu, który nie należy do mniejszego zestawu obsługiwanych identyfikatorów tematów, interfejs API zwróci pusty zestaw wyników.
- Część
-
12 września 2016 r. wycofamy kilka pól i parametrów interfejsu API:
-
Parametr
home
metodyactivities.list
umożliwił autoryzowanym użytkownikom pobranie kanału aktywności, który byłby widoczny na stronie głównej YouTube tego użytkownika. Żądania, które używają tego parametru po 12 września 2016 r., zwróci pustą listę. -
Właściwości
contentDetails.relatedPlaylists.watchHistory
icontentDetails.relatedPlaylists.watchLater
zasobuchannel
są widoczne tylko dla autoryzowanego użytkownika, który pobiera dane o swoim kanale. Po 12 września 2016 r. parametrcontentDetails.relatedPlaylists.watchHistory
zwróci wartośćHL
, a właściwośćcontentDetails.relatedPlaylists.watchLater
zwróci wartośćWL
dla wszystkich kanałów.Prośby o pobranie szczegółów playlisty (
playlists.list
) z historii oglądania kanału lub playlisty Do obejrzenia zostaną puste po 12 września 2016 r. Po tym czasie prośby o pobranie playlisty (playlistItems.list
) z tej playlisty również zwrócą pustą listę. Dotyczy to nowych wartości,HL
iWL
, a także wszystkich historii oglądania i identyfikatorów playlist do obejrzenia, które zostały wcześniej zapisane przez klienta API. -
Po 12 września 2016 r. obiekt
video
zasobufileDetails.recordingLocation
ani jego właściwości podrzędne nie będą zwracane. Tylko właściciel filmu może pobrać te dane, ponieważ obiekt nadrzędnyfileDetails
może pobrać tylko właściciel filmu.
-
13 czerwca 2016 r.
Ta aktualizacja zawiera następujące zmiany:
-
Właściwość
contentDetails.googlePlusUserId
zasobuchannel
została wycofana. Wcześniej usługa była dostępna tylko wtedy, gdy kanał był powiązany z profilem Google+. Po wycofaniu usługa nie będzie już uwzględniana w żadnych zasobachchannel
. -
Właściwość
snippet.authorGoogleplusProfileUrl
zasobucomment
została wycofana. Wcześniej usługa była dostępna tylko wtedy, gdy kanał był powiązany z profilem Google+. Po wycofaniu usługa nie będzie już uwzględniana w żadnych zasobachcomment
.
Żadna z tych właściwości nie zostanie zwrócona po wycofaniu, dlatego obie zostały usunięte z odpowiedniej dokumentacji zasobu.
31 maja 2016 r.
Ta aktualizacja zawiera następujące zmiany:
-
Nowy parametr
myRecentSubscribers
metodysubscriptions.list
pobiera listę subskrybentów kanału uwierzytelnionego użytkownika w odwrotnej kolejności chronologicznej według czasu zasubskrybowania kanału.Pamiętaj, że nowy parametr umożliwia pobieranie tylko 1000 ostatnich subskrybentów do kanału uwierzytelnionego użytkownika. Aby pobrać pełną listę subskrybentów, użyj parametru
mySubscribers
. Ten parametr, który nie zwraca określonej liczby subskrybentów, nie ogranicza liczby subskrybentów, których można pobrać. -
Zaktualizowaliśmy definicję właściwości
snippet.thumbnails.(key)
dotyczącą zasobów activity, playlistItem, playlist, wyników wyszukiwania, miniatur i video. Pamiętaj, że w przypadku niektórych filmów dostępne są dodatkowe rozmiary miniatur.- Obraz
standard
ma 640 pikseli szerokości i 480 pikseli wysokości. - Obraz
maxres
ma 1280 pikseli szerokości i 720 pikseli wysokości.
- Obraz
-
Zaktualizowaliśmy definicję parametru
part
metodychannelSection.list
, by zwrócić uwagę, że częśćtargeting
można pobrać w kosztach jednostek2
. -
Metoda
videos.list
zwraca teraz błąd niedozwolony (403
), gdy nieprawidłowo autoryzowane żądanie próbuje pobrać częścifileDetails
,processingDetails
lubsuggestions
zasobuvideo
. Te części są dostępne tylko dla właściciela filmu.
17 maja 2016 r.
Nowe narzędzie Fragmenty kodu interfejsu Data API udostępnia krótkie fragmenty kodu typowe przypadki użycia interfejsu YouTube Data API. Fragmenty kodu są obecnie dostępne dla wszystkich metod API tylko do odczytu w Apps Script, Go, JavaScript, PHP, Python i Ruby.
W przypadku każdej metody narzędzie wyświetla przykłady kodu z co najmniej 1 przypadku użycia. Na przykład zawiera 5 fragmentów kodu dla metody search.list
:
- Wyświetl filmy według słowa kluczowego
- Wyświetl filmy według lokalizacji
- Wyświetlenie listy wydarzeń na żywo
- Wyszukaj filmy uwierzytelnionego użytkownika
- Wyświetl listę podobnych filmów
W każdym przypadku użycia narzędzie wyświetla parametry użyte w żądaniu do interfejsu API. Wartości parametrów możesz zmieniać. W takim przypadku narzędzie aktualizuje fragmenty kodu, aby były zgodne z podanymi przez Ciebie wartościami parametrów.
Na koniec narzędzie wyświetla odpowiedź interfejsu API dla każdego żądania. Jeśli parametry żądania zostały zmodyfikowane, odpowiedź interfejsu API jest oparta na podanych przez Ciebie wartościach parametrów. Pamiętaj, że musisz upoważnić narzędzie do przesyłania żądań w Twoim imieniu w celu wyświetlenia odpowiedzi interfejsu API.
28 kwietnia 2016 r.
Ta aktualizacja zawiera następujące zmiany:
-
Nowa właściwość
contentDetails.projection
zasobuvideo
określa format projekcji filmu. Prawidłowe wartości właściwości to360
irectangular
. -
Właściwości
recordingDetails.location
ifileDetails.recordingLocation
zasobuvideo
zostały zaktualizowane, by wyjaśnić różnicę między nimi:- Właściwość
recordingDetails.location
wskazuje lokalizację, którą właściciel filmu chce powiązać z filmem. Ta lokalizacja jest możliwa do edytowania, można ją wyszukać w filmach publicznych i może być wyświetlana użytkownikom w przypadku filmów publicznych. - Wartość właściwości
fileDetails.recordingLocation
jest stała i reprezentuje lokalizację powiązaną z oryginalnym, przesłanym plikiem wideo. Wartość jest widoczna tylko dla właściciela filmu.
- Właściwość
-
Zaktualizowano definicję właściwości
contentDetails.relatedPlaylists.favorites
zasobuchannel
, aby zwrócić uwagę, że wartość właściwości może zawierać identyfikator playlisty odnoszący się do pustej playlisty i nie można jej pobrać. Wynika to z tego, że funkcja ulubionych filmów została już wycofana. Pamiętaj, że ta usługa nie podlega zasadom wycofywania interfejsu API. -
Definicja błędu
ineligibleAccount
, która może zostać zwrócona przez metodęcomments.insert
,comments.update
,commentThreads.insert
lubcommentThreads.update
, została zaktualizowana, aby uwzględnić fakt, że ten błąd występuje, gdy konto YouTube użyte do autoryzacji żądania do interfejsu API nie zostało scalone z kontem Google użytkownika.
20 kwietnia 2016 r.
Ta aktualizacja zawiera następujące zmiany:
-
Zaktualizowaliśmy definicję parametru
part
metodychannels.update
, tak aby uwzględniała również wartośćlocalizations
tego parametru. -
Sekcja Wykorzystanie limitu w przewodniku dla początkujących została zaktualizowana i zawiera link do Konsoli Google Developers, gdzie możesz sprawdzić swój aktualny limit.
16 marca 2016 r.
Ta aktualizacja zawiera następujące zmiany:
-
Aktualizacje dotychczasowych zasobów i metod
-
Zaktualizowaliśmy dokumentację dotyczącą zasobu
channelBanner
, aby zwrócić uwagę, że zalecany rozmiar obrazu przesłanego banera kanału to 2560 x 1440 pikseli. Minimalny rozmiar (2048 x 1152 pikseli) się nie zmienił. -
Nowa właściwość
snippet.customUrl
zasobuchannel
określa niestandardowy URL powiązany z kanałem. (Nie wszystkie kanały mają niestandardowe adresy URL). Centrum pomocy YouTube wyjaśnia wymagania dotyczące uzyskiwania niestandardowego adresu URL oraz sposobu konfiguracji adresu URL. -
Obiekt
brandingSettings.watch
zasobuchannel
i wszystkie jego właściwości podrzędne zostały wycofane. -
Odpowiedź interfejsu API dotycząca żądania
search.list
zawiera teraz właściwośćregionCode
. Właściwość określa kod regionu, który został użyty w zapytaniu. Kod regionu nakazuje interfejsowi API zwracanie wyników wyszukiwania dla określonego kraju.Wartość właściwości to dwuliterowy kod ISO kraju, który określa region. Metoda
i18nRegions.list
zwraca listę obsługiwanych regionów. Wartością domyślną jestUS
. Jeśli wskażesz region, którego nie obsługujemy, YouTube może nadal wybrać do zapytania inny region niż wartość domyślna. -
Zaktualizowaliśmy definicje właściwości
snippet.label
isnippet.secondaryReasons[].label
zasobuvideoAbuseReportReason
, aby zaznaczyć, że zawierają one zlokalizowany tekst etykiety z powodu nadużycia.Dodatkowo metoda
videoAbuseReportReasons.list
obsługuje teraz parametrhl
, który określa język, w którym należy używać tekstu etykiety w odpowiedzi interfejsu API. Domyślna wartość parametru toen_US
. -
Nowa właściwość
contentDetails.contentRating.ecbmctRating
zasobuvideo
określa ocenę filmu przez indyjską radę Oceny i klasyfikacji Ministerstwa Kultury i Turystyki.Poza tym właściwości interfejsu API innych systemów ocen obsługują te nowe wartości:
contentDetails.contentRating.fpbRating
(RPA)
Ocena: 10; wartość właściwości:fpb10
contentDetails.contentRating.moctwRating
(Tajwan)
Ocena: R-12; wartość właściwości:moctwR12
contentDetails.contentRating.moctwRating
(Tajwan)
Ocena: R-15; wartość właściwości:moctwR15
-
Właściwość
liveStreamingDetails.activeLiveChatId
zasobuvideo
zawiera identyfikator aktywnego czatu na żywo powiązanego z filmem. Wartość właściwości jest widoczna tylko wtedy, gdy film jest transmitowany na żywo i ma włączony czat na żywo. Po zakończeniu transmisji i zakończeniu czatu na żywo usługa nie jest już zwracana. -
Właściwość
status.rejectionReason
zasobuvideo
obsługuje nową wartość właściwościlegal
.
-
-
Interfejs API obsługuje następujące nowe błędy:
Typ błędu Szczegóły błędu Opis badRequest (400)
notEditable
Metody channelSections.insert
,channelSections.update
ichannelSections.delete
zwracają ten błąd, aby wskazać, że nie można utworzyć, zaktualizować lub usunąć określonej sekcji kanału.badRequest (400)
styleRequired
Metody channelSections.insert
ichannelSections.update
zwracają ten błąd, aby wskazać, że zasóbchannelSection
przesłany w żądaniu do interfejsu API musi mieć określoną wartość właściwościsnippet.style
.badRequest (400)
typeRequired
Metody channelSections.insert
ichannelSections.update
zwracają ten błąd, aby wskazać, że zasóbchannelSection
przesłany w żądaniu do interfejsu API musi mieć określoną wartość właściwościsnippet.type
.badRequest (400)
processingFailure
Metoda commentThreads.list
zwraca ten błąd, aby wskazać, że serwer interfejsu API nie mógł przetworzyć żądania. Może to być błąd przejściowy, ale zwykle wskazuje, że dane wejściowe żądania są nieprawidłowe. Sprawdź strukturę zasobucommentThread
w treści żądania, aby upewnić się, że jest on prawidłowy.forbidden (403)
commentsDisabled
Metoda commentThreads.list
zwraca ten błąd, wskazując, że film zidentyfikowany przez parametrvideoId
wyłączył komentarze.badRequest (400)
commentTextTooLong
Metoda commentThreads.insert
zwraca ten błąd, aby wskazać, że wstawiony zasóbcomment
zawiera zbyt wiele znaków we właściwościsnippet.topLevelComment.snippet.textOriginal
.invalidValue (400)
videoAlreadyInAnotherSeriesPlaylist
Metoda playlistItems.insert
zwraca ten błąd, wskazując, że film, który próbujesz dodać do playlisty, znajduje się już na innej playliście serialu. Aby dowiedzieć się więcej o playlistach seriali, zajrzyj do Centrum pomocy YouTube.badRequest (400)
subscriptionForbidden
Metoda subscriptions.insert
zwraca ten błąd, jeśli oznacza to, że masz już maksymalną liczbę subskrypcji lub utworzono zbyt wiele nowych subskrypcji. W drugim przypadku po kilku godzinach możesz spróbować ponownie.badRequest (400)
invalidCategoryId
Metoda videos.update
zwraca ten błąd, aby wskazać, że właściwośćsnippet.categoryId
w przesłanym zasobievideo
zawiera nieprawidłowy identyfikator kategorii. Aby pobrać obsługiwane kategorie, użyj metodyvideoCategories.list
.badRequest (400)
invalidDescription
Metoda videos.update
zwraca ten błąd, aby wskazać, że właściwośćsnippet.description
w przesłanym zasobievideo
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 zasobievideo
określa nieprawidłowy czas publikacji.badRequest (400)
invalidRecordingDetails
Metoda videos.update
zwraca ten błąd, aby wskazać, że obiektrecordingDetails
w przesłanym zasobievideo
określa nieprawidłowe szczegóły nagrania.badRequest (400)
invalidTags
Metoda videos.update
zwraca ten błąd, aby wskazać, że właściwośćsnippet.tags
w przesłanym zasobievideo
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 zasobievideo
wskazuje nieprawidłowy lub pusty tytuł filmu.badRequest (400)
invalidVideoMetadata
Metoda videos.update
zwraca ten błąd, aby wskazać, że metadane żądania są nieprawidłowe. Ten błąd występuje, gdy żądanie aktualizuje częśćsnippet
zasobuvideo
, ale nie ustawia wartości obu właściwościsnippet.title
isnippet.categoryId
.
18 grudnia 2015 r.
Przepisy Unii Europejskiej (UE) wymagają udzielenia określonych zgód od użytkowników z UE i uzyskania ich zgody na wykorzystanie danych. Dlatego w przypadku użytkowników z Unii Europejskiej musisz przestrzegać Polityki w zakresie zgody użytkownika z UE. Dodaliśmy to powiadomienie w Warunkach korzystania z interfejsu YouTube API.
19 listopada 2015 r.
Interfejs API obsługuje teraz możliwość ustawiania i pobierania zlokalizowanego tekstu we właściwościach snippet.title
i snippet.description
zasobów playlist
i video
, we właściwości snippet.title
zasobu channelSection
oraz we właściwości snippet.description
zasobu channel
.
-
Ustawianie przetłumaczonych tytułów i opisów
Zlokalizowane wartości zasobu możesz ustawić, wywołując metodę
insert
lubupdate
dla tego zasobu. Aby ustawić zlokalizowane wartości dla zasobu, wykonaj obie te czynności:-
Sprawdź, czy wartość jest ustawiona we właściwości
snippet.defaultLanguage
zasobu. Ta właściwość określa język właściwościsnippet.title
isnippet.description
zasobu. Jego wartością może być dowolny obsługiwany język aplikacji lub większość innych kodów języka w formacie ISO 639-1:2002. Jeśli np. prześlesz film, który ma tytuł i opis w języku angielskim, ustaw właściwośćsnippet.defaultLanguage
naen
.Uwaga dotycząca aktualizowania zasobów
channel
: aby ustawić właściwośćsnippet.defaultLanguage
dla zasobuchannel
, musisz w rzeczywistości zaktualizować właściwośćbrandingSettings.channel.defaultLanguage
. -
Dodaj obiekt
localizations
do aktualizowanego zasobu. Każdy klucz obiektu to ciąg znaków, który identyfikuje język aplikacji lub kod języka w standardzie ISO 639-1:2002, a każdy klucz jest mapowany na obiekt zawierający zlokalizowany tytuł (i opis) zasobu.Przykładowy fragment kodu poniżej zawiera domyślny język zasobu. Dodaje też do filmów przetłumaczone tytuły i opisy w języku niemieckim i hiszpańskim:
{ "kind": "youtube#video", ... "snippet": { "title": "Playing soccer", "description": "We play soccer in the park on Sundays.", "defaultLanguage": "en", ... }, "localizations": "de": { "title": "Fußball spielen", "description": "Wir spielen Fußball im Park am Sonntag" }, "es": { "title": "Jugar al fútbol", "description": "Nosotros jugamos fútbol en el parque los domingos", } } }
Ważne: pamiętaj, że gdy zaktualizujesz zlokalizowane dane zasobu, żądanie do interfejsu API musi zawierać wszystkie zlokalizowane wersje danych. Jeśli na przykład w kolejnym przykładzie wyślesz żądanie dodania danych w języku portugalskim do filmu, żądanie musi zawierać dane zlokalizowane na język niemiecki, hiszpański i portugalski.
-
-
Pobieranie zlokalizowanych wartości
Interfejs API obsługuje 2 sposoby pobierania zlokalizowanych wartości dla zasobu:
-
Dodaj parametr
hl
do żądaniachannels.list
,channelSections.list
,playlists.list
lubvideos.list
, aby pobrać zlokalizowane dane dla konkretnego języka aplikacji obsługiwanego przez stronę YouTube. Jeśli szczegółowe informacje o zasobach są dostępne w tym języku, obiektsnippet.localized
będzie zawierać zlokalizowane wartości. Jeśli jednak szczegóły dotyczące lokalizacji nie będą dostępne, obiektsnippet.localized
będzie zawierał szczegóły zasobów w języku domyślnym zasobu.Załóżmy na przykład, że żądanie
videos.list
zostało pobrane dla filmu opisanego powyżej ze zlokalizowanymi danymi z Niemiec i Hiszpanii. Jeśli parametrhl
miałby wartośćde
, zasób zawierałby te dane:{ "kind": "youtube#video", ... "snippet": { "title": "Playing soccer", "description": "We play soccer in the park on Sundays.", "defaultLanguage": "en", "localized": { "title": "Fußball spielen", "description": "Wir spielen Fußball im Park am Sonntag" } ... } }
Jeśli jednak parametr
hl
jest ustawiony nafr
, obiektsnippet.localized
będzie zawierać angielski tytuł i opis, ponieważ domyślny język zasobu jest ustawiony na angielski, a zlokalizowane wersje francuskie są niedostępne.Ważne: parametrhl
obsługuje tylko wartości identyfikujące języki aplikacji, które obsługuje witryna YouTube. Aby określić, czy zlokalizowany tekst jest dostępny w innych językach, musisz pobrać częśćlocalizations
zasobu i filtra, aby określić, czy taki tekst istnieje.
Na przykład musisz pobrać pełną listę lokalizacji, aby określić, czy zlokalizowany tekst jest dostępny w języku Appalachów.
-
Podczas pobierania zasobu w parametrze
part
podajlocalizations
, aby pobrać wszystkie zlokalizowane informacje o tym zasobie. Jeśli pobierasz zlokalizowane dane w języku, który nie jest bieżącym językiem aplikacji YouTube, musisz użyć tego sposobu, aby pobrać wszystkie lokalizacje, a następnie odfiltrować dane, aby określić, czy istnieją odpowiednie zlokalizowane dane.
-
-
Błędy związane ze zlokalizowanymi wartościami tekstowymi
Interfejs API obsługuje też następujące nowe błędy dotyczące zlokalizowanych wartości tekstowych:
Typ błędu Szczegóły błędu Opis badRequest (400)
defaultLanguageNotSetError
Ten błąd oznacza, że żądanie, które próbuje wstawić lub zaktualizować obiekt localizations
zasobu, kończy się niepowodzeniem, ponieważ nie ustawiono właściwościsnippet.defaultLanguage
dla tego zasobu. Metodychannels.update
,channelSections.insert
,channelSections.update
,playlists.insert
,playlists.update
,videos.insert
ivideos.update
obsługują ten błąd.badRequest (400)
localizationValidationError
Ten błąd oznacza, że jedna z wartości obiektu localizations
zasobu nie przeszła weryfikacji. Ten błąd może wystąpić na przykład w przypadku, gdy obiekt zawiera nieprawidłowy kod języka. Metodychannels.update
,channelSections.insert
,channelSections.update
,playlists.insert
iplaylists.update
obsługują ten błąd.
4 listopada 2015 r.
Ta aktualizacja zawiera następujące zmiany:
-
Aktualizacje dotychczasowych zasobów i metod
-
Parametr
order
metodysearch.list
został zaktualizowany w taki sposób, aby pamiętać, że jeśli posortujesz transmisje na żywo według wartościviewCount
, wyniki w interfejsie API zostaną posortowane według liczby jednoczesnych transmisji i będą nadal aktywne. -
Parametr
relatedToVideoId
metodysearch.list
został zaktualizowany, aby pamiętać, że jeśli jest ustawiony, jedyne obsługiwane parametry topart
,maxResults
,pageToken
,regionCode
,relevanceLanguage
,safeSearch
,type
(musi być ustawione navideo
) ifields
. Ta aktualizacja nie odzwierciedla zmiany w działaniu interfejsu API. -
Definicja właściwości
snippet.publishedAt
zasobuvideo
została zmieniona tak, że wartość właściwości, która określa datę i godzinę publikacji filmu, może być inna niż data przesłania filmu. Jeśli np. prześlesz film jako prywatny, a później ustawisz go jako publiczny, wartość właściwości określa czas, przez jaki film został oznaczony jako publiczny. Zaktualizowana definicja wyjaśnia też, w jaki sposób wartość jest uzupełniana w przypadku filmów prywatnych i niepublicznych.Ta zmiana nie odzwierciedla zmiany w działaniu interfejsu API.
-
Definicja właściwości
status.publishAt
zasobuvideo
została zaktualizowana:- Jeśli podczas wywoływania metody
videos.update
ustawisz wartość tej właściwości, musisz też ustawić wartość właściwościstatus.privacyStatus
naprivate
, nawet jeśli film jest już prywatny. - Jeśli prośba o zaplanowanie publikacji filmu ma jakiś termin w przeszłości, zostanie on opublikowany natychmiast. W efekcie ustawienie właściwości
status.publishAt
na datę i godzinę jest takie samo jak zmiana ustawieniaprivacyStatus
filmu zprivate
napublic
.
- Jeśli podczas wywoływania metody
-
Właściwość
contentDetails.contentRating.cncRating
zasobuvideo
określa ocenę filmu według francuskiej Komisji Delegacji. Ta usługa zastępuje usługęcontentDetails.contentRating.fmocRating
, która została już wycofana. -
Definicja atrybutu brandingSettings.channel.keywords zasobu
channel
została poprawnie zaktualizowana, aby prawidłowo odzwierciedlić, że wartość właściwości zawiera listę ciągów znaków rozdzielanych spacjami, a nie listę rozdzieloną przecinkami, jak wcześniej udokumentowano. Ta aktualizacja nie odzwierciedla zmiany w działaniu interfejsu API. -
Zaktualizowano dokumentację metody
thumbnails.set
, aby dokładnie odzwierciedlała ona, że treść żądania zawiera miniaturę, którą przesyłasz i powiążesz z filmem. Treść żądania nie zawiera zasobuthumbnail
. Wcześniej w dokumentacji wskazano, że przy wywołaniu tej metody nie należy podawać treści żądania. Ta aktualizacja nie odzwierciedla zmiany w działaniu interfejsu API. -
Zaktualizowaliśmy opis zasobu
activity
, aby odzwierciedlał fakt, że metodaactivities.list
nie obejmuje obecnie zasobów związanych z nowymi komentarzami do filmów. Zaktualizowano też zasobysnippet.type
icontentDetails.comment
zasobu.
-
-
Nowe i zaktualizowane błędy
-
Interfejs API obsługuje teraz następujące błędy:
Szczegóły błędu activities.insert
Kod odpowiedzi HTTP badRequest (400)
Przyczyna invalidMetadata
Opis Właściwość kind
nie pasuje do typu podanego identyfikatora.commentThreads.update
comments.insert
comments.update
Kod odpowiedzi HTTP badRequest (400)
Przyczyna commentTextTooLong
Opis Wstawiony lub zaktualizowany zasób comment
zawiera zbyt wiele znaków we właściwościsnippet.topLevelComment.snippet.textOriginal
.playlistItems.insert
playlistItems.update
Kod odpowiedzi HTTP forbidden (403)
Przyczyna playlistItemsNotAccessible
Opis Żądanie nie ma uprawnień do wstawiania, aktualizowania lub usuwania podanego elementu playlisty. playlists.delete
playlists.insert
playlists.update
Kod odpowiedzi HTTP badRequest (400)
Przyczyna playlistForbidden
Opis Ta operacja jest zabroniona lub żądanie nie jest prawidłowo autoryzowane. search.list
Kod odpowiedzi HTTP badRequest (400)
Przyczyna invalidLocation
Opis Wartość parametru location
lublocationRadius
została nieprawidłowo sformatowana.search.list
Kod odpowiedzi HTTP badRequest (400)
Przyczyna invalidRelevanceLanguage
Opis Wartość parametru relevanceLanguage
jest nieprawidłowo sformatowana.subscriptions.insert
Kod odpowiedzi HTTP badRequest (400)
Przyczyna subscriptionForbidden
Opis Ten błąd występuje, gdy spełniony jest dowolny z tych warunków: - Subskrypcja, którą próbujesz utworzyć, już istnieje
- Masz już maksymalną liczbę subskrypcji
- Próbujesz zasubskrybować własny kanał, co nie jest obsługiwane.
- Ostatnio utworzono za dużo subskrypcji i musisz poczekać kilka godzin, zanim spróbujesz ponownie.
videos.update
Kod odpowiedzi HTTP badRequest (400)
Przyczyna invalidDefaultBroadcastPrivacySetting
Opis Żądanie próbuje skonfigurować nieprawidłowe ustawienie prywatności dla transmisji domyślnej.
-
28 sierpnia 2015 r.
Ta aktualizacja zawiera następujące zmiany:
-
Aktualizacje dotychczasowych zasobów i metod
-
Właściwość
statistics.favoriteCount
zasobuvideo
została wycofana.Zgodnie z naszymi zasadami wycofywania ta usługa będzie nadal uwzględniana w zasobach usługi
video
przez co najmniej rok od ogłoszenia. Wartość właściwości jest teraz zawsze ustawiona na0
.
-
7 sierpnia 2015 r.
Ta aktualizacja zawiera następujące zmiany:
-
Aktualizacje dotychczasowych zasobów i metod
-
Zaktualizowaliśmy definicję właściwości
snippet.tags[]
zasobuvideo
, by podać więcej informacji o tym, jak serwer interfejsu API oblicza długość wartości usługi. Ta aktualizacja nie odzwierciedla zmiany w działaniu interfejsu API.W szczególności oznacza to, że jeśli tag zawiera spację, serwer API obsługuje wartość tagu tak, jakby była ujęta w cudzysłów, a cudzysłowy wliczają się do limitu znaków. Dlatego w celu ograniczenia liczby znaków tag Foo-Baz zawiera 7 znaków, a tag Foo Baz – 9 znaków.
-
Metoda
commentThreads.insert
nie obsługuje już parametrushareOnGooglePlus
, który wcześniej określał, czy komentarz i odpowiedzi na niego powinny być również opublikowane w profilu Google+ autora. Jeśli żądanie przesyła parametr, serwer API ignoruje ten parametr, ale obsługuje żądanie.
-
18 czerwca 2015 r.
Ta aktualizacja zawiera następujące zmiany:
-
Aktualizacje dotychczasowych zasobów i metod
-
Nowy parametr
order
metodycommentThreads.list
określa kolejność, w jakiej odpowiedź interfejsu API powinna wyświetlać listę komentarzy. Wątki można sortować według czasu lub trafności. Domyślnie są one uporządkowane według czasu. -
Nowa właściwość
snippet.defaultAudioLanguage
zasobuvideo
określa język używany w domyślnej ścieżce dźwiękowej filmu. -
Zaktualizowaliśmy definicję właściwości
contentDetails.licensedContent
zasobu zasobuvideo
, aby doprecyzować, że treści muszą być pierwotnie przesłane na kanał powiązany z partnerem YouTube, a potem zgłoszono do niego roszczenie. Nie oznacza to zmiany rzeczywistego działania interfejsu API. -
Metody
captions.delete
,captions.download
,captions.insert
,captions.list
icaptions.update
obsługują teraz parametronBehalfOfContentOwner
, który jest już obsługiwany w przypadku kilku innych metod. Żądania korzystające z tej metody muszą też być autoryzowane za pomocą tokena zapewniającego dostęp do zakresuhttps://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 HTTP badRequest (400)
Przyczyna emailNotVerified
Opis Przed wystawieniem oceny użytkownik musi potwierdzić swój adres e-mail. videos.rate
Kod odpowiedzi HTTP badRequest (400)
Przyczyna videoPurchaseRequired
Opis Wypożyczone filmy mogą być oceniane tylko przez użytkowników, którzy je wypożyczyli. -
Metody
subscriptions.delete
isubscriptions.insert
nie obsługują już błędówaccountClosed
iaccountSuspended
.
-
27 kwietnia 2015 r.
Ta aktualizacja zawiera następujące zmiany:
-
Nowe materiały i metody
-
Nowy zasób
videoAbuseReportReason
zawiera informacje o przyczynie zgłoszenia filmu jako naruszającego zasady. MetodavideoAbuseReportReasons.list
pozwala pobrać listę wszystkich przyczyn, dla których filmy mogły zostać zgłoszone. -
Nowa metoda
videos.reportAbuse
umożliwia zgłaszanie filmów zawierających nieodpowiednie treści. Treść żądania zawiera obiekt JSON, który określa zgłoszony film, a także powód, dla którego film jest uznawany za naruszający zasady. Prawidłowe przyczyny można uzyskać przy użyciu opisanej powyżej metodyvideoAbuseReportReason.list
.W przewodniku po migracji zaktualizowaliśmy też sekcję dotyczącą zgłaszania filmu naruszającego zasady. Po tej zmianie interfejs API w wersji 3 będzie teraz obsługiwać wszystkie funkcje interfejsu API w wersji 2, które mają być zaplanowane. Omówienie tych funkcji znajdziesz w przewodniku po migracji.
-
-
Aktualizacje dotychczasowych zasobów i metod
-
Nowy parametr filtra
forDeveloper
w metodziesearch.list
ogranicza wyszukiwanie tylko do filmów przesłanych za pomocą aplikacji lub witryny dewelopera. ParametrforDeveloper
może być używany w połączeniu z opcjonalnymi parametrami wyszukiwania, takimi jakq
.Do tej funkcji do każdego przesłanego filmu jest automatycznie przypisywany numer projektu powiązany z aplikacją dewelopera w Google Developers Console.
Gdy żądanie wyszukiwania następnie określa parametr
forDeveloper
natrue
, serwer API używa identyfikatora autoryzacji żądania do identyfikacji dewelopera. W związku z tym deweloper może ograniczać wyniki do filmów przesłanych za pomocą własnej aplikacji lub witryny, ale nie do filmów przesłanych przy użyciu innych aplikacji lub stron.Ta nowa funkcja oferuje funkcje podobne do tagów programisty, ale nie takie same jak obsługiwane w wersji 2 interfejsu API.
-
Nowa właściwość
snippet.country
zasobuchannel
umożliwia właścicielom kanałów powiązanie ich z określonym krajem.Uwaga: aby ustawić właściwość
snippet.country
dla zasobuchannel
, musisz w rzeczywistości zaktualizować właściwośćbrandingSettings.channel.country
. -
Interfejs API obsługuje teraz kierowanie na zasoby
channelSection
. Kierowanie na sekcje kanału pozwala ograniczyć widoczność sekcji treści do użytkowników, którzy spełniają określone kryteria.Interfejs API udostępnia 3 opcje kierowania reklam. Aby sekcja kanału była widoczna, użytkownik musi spełniać wszystkie ustawienia kierowania.
-
targeting.languages[]
: lista języków aplikacji YouTube. Użytkownicy, którzy wybrali jeden z tych języków, mogą zobaczyć odpowiednią sekcję kanału. -
targeting.regions[]
: lista preferowanych regionów treści w YouTube. Sekcja kanału jest widoczna dla użytkowników, którzy wybrali jeden z tych regionów, a także dla użytkowników, którzy zostali automatycznie wybrani w jednym z tych regionów. -
targeting.countries[]
: lista krajów, w których widoczna jest sekcja kanału. Każda wartość na liście to kod kraju w formacie ISO 3166-1 alfa-2.
-
-
Poprawiono definicję właściwości
contentDetails.duration
zasobuvideo
, aby odzwierciedlić fakt, że wartość może odzwierciedlać godziny, dni itd. -
Skorygowaliśmy dokumentację metod
channelSections.delete
,playlistItems.delete
,playlists.delete
,subscriptions.delete
ivideos.delete
, aby potwierdzić, że po wykonaniu tych czynności wszystkie te metody zwracają kod odpowiedzi HTTP204
(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
ichannelSections.update
zwracają ten błąd, jeśli wstawiony zasóbchannelSection
zawiera nieprawidłową wartość właściwościtargeting.countries[]
.badRequest (400)
targetInvalidLanguage
Metody channelSections.insert
ichannelSections.update
zwracają ten błąd, jeśli wstawiony zasóbchannelSection
zawiera nieprawidłową wartość właściwościtargeting.languages[]
.badRequest (400)
targetInvalidRegion
Metody channelSections.insert
ichannelSections.update
zwracają ten błąd, jeśli wstawiony zasóbchannelSection
zawiera nieprawidłową wartość właściwościtargeting.regions[]
.badRequest (400)
operationNotSupported
Metoda comments.insert
zwraca ten błąd, jeśli użytkownik interfejsu API nie może wstawić komentarza w odpowiedzi na komentarz najwyższego poziomu zdefiniowany przez właściwośćsnippet.parentId
. W zasobiecommentThread
właściwośćsnippet.canReply
wskazuje, czy bieżący przeglądający może odpowiedzieć w wątku.badRequest (400)
invalidChannelId
Metoda search.list
zwraca ten błąd, jeśli parametrchannelId
w żądaniu określa nieprawidłowy identyfikator kanału.badRequest (400)
subscriptionForbidden
Metoda subscriptions.insert
zwraca ten błąd, jeśli użytkownik interfejsu API próbuje zasubskrybować własny kanał. -
Metoda
captions.update
nie obsługuje już błędówinvalidMetadata
ivideoNotFound
.
-
16 kwietnia 2015 r.
Ta aktualizacja zawiera następujące zmiany:
-
Zaktualizowaliśmy przewodnik po migracji, aby wyjaśnić, jak przenieść aplikacje przy użyciu funkcji komentarzy w interfejsie API w wersji 2.
Ten przewodnik zawiera też kilka funkcji komentowania, których interfejs API w wersji 2 nie obsługuje, ale które są obsługiwane w tym interfejsie. Są to między innymi:
- Pobieranie komentarzy do kanału
- Pobieranie wszystkich wątków komentarzy dotyczących kanału oznacza, że odpowiedź interfejsu API może zawierać komentarze na temat kanału lub dowolnych filmów.
- Aktualizowanie tekstu komentarza
- Oznaczanie komentarza jako spamu
- Ustawianie stanu moderowania komentarza
-
Przewodnik Subskrybowanie powiadomień push został zaktualizowany, aby odzwierciedlić fakt, że powiadomienia są przekazywane tylko do centrum Google PubSubHubBub, a nie do centrum Superfeedr.
9 kwietnia 2015 r.
Ta aktualizacja zawiera następujące zmiany:
-
Nowe zasoby interfejsu API
commentThread
icomment
pozwalają pobierać, wstawiać, aktualizować, usuwać i moderować komentarze.-
Zasób
commentThread
zawiera informacje na temat wątku komentarza w YouTube, który składa się z komentarza najwyższego poziomu i ewentualnych odpowiedzi do tego komentarza. ZasóbcommentThread
może reprezentować komentarze do filmu lub kanału.Komentarze najwyższego poziomu i odpowiedzi to w rzeczywistości zasoby
comment
zagnieżdżone w zasobiecommentThread
. Pamiętaj, że zasóbcommentThread
nie musi zawierać wszystkich odpowiedzi na komentarz i musisz użyć metodycomments.list
, jeśli chcesz pobrać wszystkie odpowiedzi na dany komentarz. Oprócz tego niektóre komentarze nie zawierają odpowiedzi.Interfejs API obsługuje następujące metody w przypadku zasobów
commentThread
:commentThreads.list
– pobierz listę wątków komentarzy. Dzięki tej metodzie możesz pobrać komentarze dotyczące konkretnego filmu lub kanału.commentThreads.insert
– utwórz nowy komentarz najwyższego poziomu. (Użyj metodycomments.insert
, aby odpowiedzieć na istniejący komentarz).commentThreads.update
– modyfikuj komentarz najwyższego poziomu.
-
Zasób
comment
zawiera informacje na temat pojedynczego komentarza w YouTube. Zasóbcomment
może reprezentować komentarz dotyczący filmu lub kanału. Może to też być komentarz najwyższego poziomu lub odpowiedź na komentarz najwyższego poziomu.Interfejs API obsługuje następujące metody w przypadku zasobów
comment
:comments.list
– pobieranie listy komentarzy. Przy użyciu tej metody możesz pobrać wszystkie odpowiedzi na dany komentarz.comments.insert
– utwórz odpowiedź na istniejący komentarz.comments.update
– modyfikuj komentarz.comments.markAsSpam
– oznacz co najmniej 1 komentarz jako spam.comments.setModerationStatus
– określ stan moderowania co najmniej jednego komentarza. Możesz na przykład usunąć komentarz z grupy publicznej lub odrzucić go jako nieodpowiednią do wyświetlania. Żądanie do interfejsu API musi zostać autoryzowane przez właściciela kanału lub filmu powiązanego z komentarzami.comments.delete
– usuń komentarz.
Pamiętaj, że nowy zakres interfejsu API
https://www.googleapis.com/auth/youtube.force-ssl
, który jest opisany w historii zmian z 2 kwietnia 2015 r., jest wymagany do wywoływania metodcomments.insert
,comments.update
,comments.markAsSpam
,comments.setModerationStatus
,comments.delete
,commentThreads.insert
icommentThreads.update
. -
-
W nowym przewodniku Subskrybowanie powiadomień push znajdziesz opis nowej obsługi interfejsów API w przypadku powiadomień push poprzez PubSubHubBub – protokół serwer-serwer do publikowania i subskrypcji zasobów dostępnych w internecie. Serwer wywołania zwrotnego PubSubHubBub może otrzymywać powiadomienia z kanału Atom, gdy kanał wykonuje dowolną z tych czynności:
- przesyła film.
- aktualizuje tytuł filmu
- aktualizuje opis filmu
-
Zaktualizowaliśmy też przewodnik po migracji, w którym dodaliśmy nową obsługę powiadomień push. Ponieważ jednak interfejs API w wersji 2 obsługuje wiele innych typów powiadomień push, które nie są obsługiwane w interfejsie API v3, wzmianka o obsłudze PubSubHubBub nadal znajduje się w sekcji Wycofane tego przewodnika.
-
Nowy zakres interfejsu
https://www.googleapis.com/auth/youtube.force-ssl
API jest teraz prawidłowym zakresem dla każdej metody interfejsu API, która wcześniej obsługiwała zakreshttps://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ść parametrurating
. -
Metoda
subscriptions.insert
nie obsługuje już błędusubscriptionLimitExceeded
, który wcześniej informował, że subskrybent określony w żądaniu przekroczył limit liczby subskrypcji.
2 kwietnia 2015 r.
Ta aktualizacja zawiera następujące zmiany:
-
Nowy zasób
captions
reprezentuje ścieżkę napisów w YouTube. Ścieżka napisów jest powiązana dokładnie z jednym filmem w YouTube.Interfejs API obsługuje metody wyświetlania, wstawiania, aktualizowania, pobierania i usuwania napisów.
-
Zaktualizowaliśmy też przewodnik po migracji, aby wyjaśnić, jak przenieść aplikacje, które nadal korzystają z funkcji napisów w interfejsie API w wersji 2.
-
Nowy zakres interfejsu
https://www.googleapis.com/auth/youtube.force-ssl
API wymaga komunikacji z serwerem API przez połączenie SSL.Ten nowy zakres zapewnia taki sam dostęp jak zakres
https://www.googleapis.com/auth/youtube
. Te 2 zakresy działają tak samo, ponieważ serwer interfejsu YouTube API jest dostępny tylko przez punkt końcowy HTTPS. W związku z tym chociaż zakreshttps://www.googleapis.com/auth/youtube
nie wymaga połączenia SSL, nie ma żadnego innego sposobu umożliwiającego wysłanie żądania do interfejsu API.Nowy zakres jest wymagany do wywołań wszystkich metod zasobu
caption
.
11 marca 2015 r.
Ta aktualizacja zawiera następujące zmiany:
-
Przewodnik po interfejsie YouTube Data API (v3) zawiera nową kartę o nazwie New in v3 API (Nowa w interfejsie API v3), która zawiera listę funkcji obsługiwanych przez ten interfejs API oraz tych, które nie są obsługiwane w wersji 2. Te same funkcje były wcześniej dostępne na innych kartach przewodnika. Na przykład nowa funkcja wyjaśniająca, jak zaktualizować dane kampanii reklamowej wideo, jest dostępna również na karcie Kanały (profile).
-
Zaktualizowaliśmy przewodnik po migracji interfejsu YouTube Data API (v3), aby poinformować, że interfejs API w wersji 3 obsługuje tę funkcję interfejsu API w wersji 2:
-
Zaktualizowaliśmy przewodnik po migracji interfejsu YouTube Data API (v3), aby poinformować, że następujące funkcje interfejsu API w wersji 2 nie będą obsługiwane:
-
Pobierz rekomendacje filmów – interfejs API w wersji 3 nie pobiera listy zawierającej tylko filmy zalecane dla bieżącego użytkownika interfejsu API. Możesz jednak wyszukiwać filmy za pomocą interfejsu API v3, wywołując metodę
activities.list
i ustawiając wartość parametruhome
natrue
.Jeśli odpowiedź właściwości
snippet.type
torecommendation
, zasób odpowiada zalecanym filmom. W takim przypadku właściwościcontentDetails.recommendation.reason
icontentDetails.recommendation.seedResourceId
zawierają informację o tym, dlaczego dany film został polecony. Pamiętaj, że nie możemy zagwarantować, że odpowiedź będzie zawierać konkretną liczbę polecanych filmów. -
Pobieranie nowych filmów z subskrypcji – interfejs API w wersji 3 nie pobiera listy złożonej wyłącznie z filmów, które zostały ostatnio przesłane na kanały subskrybowane przez użytkownika. Aby znaleźć nowe filmy za pomocą subskrypcji, możesz jednak użyć interfejsu API w wersji 3, wywołując metodę
activities.list
i ustawiając wartość parametruhome
natrue
.Jeśli wartość właściwości
snippet.type
toupload
, w odpowiedzi interfejsu API zasób odpowiada nowemu filmowi z subskrypcją. Pamiętaj, że nie możemy zagwarantować, że odpowiedź będzie zawierać konkretną liczbę nowych filmów z subskrypcji. -
Powiadomienia push o aktualizacjach kanałów – interfejs v2 API do obsługi powiadomień push wykorzystuje protokół Simple Update (SUP) lub PubSubHubbub do monitorowania kanałów aktywności użytkowników w YouTube. Powiadomiliśmy o nowych subskrypcjach kanałów oraz o tym, kiedy filmy zostały ocenione, udostępnione, dodane do ulubionych, skomentowane lub przesłane.
Interfejs API v3 będzie obsługiwać powiadomienia push za pomocą protokołu PubSubHubbub, ale dotyczy tylko przesyłania filmów i aktualizacji tytułów i opisów filmów.
-
Lokalizacja kanału – interfejs API w wersji 2 używał tagu
<yt:location>
do identyfikacji lokalizacji użytkownika wskazanej w profilu publicznym YouTube. Choć niektórzy deweloperzy używali tego pola do powiązania kanału z konkretnym krajem, dane tego pola nie mogły być wykorzystywane do tego celu. -
Ustawianie lub pobieranie tagów programisty – interfejs API w wersji 2 umożliwiał powiązanie słów kluczowych lub tagów programisty z filmem w momencie przesyłania filmu. Tagi programisty nie będą wyświetlane użytkownikom YouTube, ale właściciele filmów mogą pobierać filmy, które pasują do określonego tagu programisty.
Interfejs API w wersji 3 będzie zawierał podobną, ale nieidencyjną funkcję. Programista będzie mógł wyszukać filmy przesłane przez jego aplikację. Do tej funkcji do każdego przesłanego filmu jest automatycznie przypisywany numer projektu powiązany z aplikacją dewelopera w Google Developers Console. Następnie wyszukuje filmy, używając tego samego numeru projektu.
-
Wyświetlanie listy filmów według daty publikacji, liczby wyświetleń lub oceny – w interfejsie API w wersji 2 parametr
orderby
pozwala sortować filmy na playliście według pozycji, czasu trwania, daty publikacji, tytułu i kilku innych wartości. W interfejsie API w wersji 3 elementy playlisty są zwykle sortowane w kolejności rosnącej. Inne opcje sortowania są niedostępne.Istnieje kilka wyjątków. W przypadku poniższych typów playlist nowy film, ulubiony film, polubiony lub ostatnio oglądany film jest automatycznie dodawany jako pierwszy element (
snippet.position
=0
). Każda z tych list jest sortowana w kolejności od najnowszego do najstarszego elementu na podstawie czasu dodania elementów do listy.- przesłane przez użytkownika
- ulubione filmy
- polubione filmy
- historia oglądania
Pamiętaj jednak, że nowy element dodany do playlisty „Do obejrzenia” jest dodawany jako ostatni element na tej liście, więc lista jest posortowana od najstarszego do najnowszego.
-
Przetwarzanie wsadowe – interfejs API w wersji 3 obsługuje jeden z przypadków użycia wsadowego. Metody
channels.list
,channelSections.list
,guideCategories.list
,playlistItems.list
,playlists.list
,subscriptions.list
,videoCategories.list
ivideos.list
interfejsu API w wersji 3 obsługują parametrid
, którego można używać do określania listy identyfikatorów rozdzielonych przecinkami (identyfikatorów filmów, identyfikatorów kanałów itp.). Korzystając z tych metod, możesz pobrać listę wielu zasobów za pomocą jednego żądania.
Po tych zmianach przewodnik zawiera informacje o wszystkich funkcjach obsługiwanych w starej wersji (2), która zostanie wycofana w obecnej wersji tego interfejsu (v3).
-
4 marca 2015 r.
Ta aktualizacja zawiera następujące zmiany:
-
Metody
channelSections.delete
ichannelSections.update
obsługują teraz parametronBehalfOfContentOwner
, który jest już obsługiwany w przypadku kilku innych metod. -
Te usługi i ich usługi podrzędne zostały wycofane:
brandingSettings.image.backgroundImageUrl
brandingSettings.image.largeBrandedBannerImageImapScript
brandingSettings.image.largeBrandedBannerImageUrl
brandingSettings.image.smallBrandedBannerImageImapScript
brandingSettings.image.smallBrandedBannerImageUrl
Uwaga: żadna z tych usług nie podlegała zasadom wycofywania interfejsu API.
-
Nowa właściwość
contentDetails.contentRating.contentDetails.contentRating.djctqRatingReasons
zasobuvideo
określa przyczyny, dla których film otrzymał ocenę DJCQT (Brazylia). -
Interfejs API obsługuje teraz następujące błędy:
Typ błędu Szczegóły błędu Opis notFound (404)
channelNotFound
Metoda channels.update
zwraca ten błąd, jeśli parametrid
żądania określa kanał, którego nie można znaleźć.badRequest (400)
manualSortRequiredinvalidValue
Metody playlistItems.insert
iplaylistItems.update
zwracają ten błąd, jeśli żądanie próbuje ustawić pozycję elementu playlisty, ale playlista nie jest sortowana ręcznie. Na przykład elementy na playliście mogą być sortowane według daty lub popularności. Możesz naprawić ten błąd, usuwając elementsnippet.position
z zasobu wysyłanego w treści żądania. Jeśli chcesz, aby element playlisty miał określoną pozycję, najpierw musisz zmienić jej kolejność na Ręcznie. To ustawienie można dostosować w Menedżerze filmów w YouTube.forbidden (403)
channelClosed
Metoda playlists.list
zwraca ten błąd, jeśli parametrchannelId
żądania określa kanał, który został zamknięty.forbidden (403)
channelSuspended
Metoda playlists.list
zwraca ten błąd, jeśli parametrchannelId
żądania określa kanał, który został zawieszony.forbidden (403)
playlistForbidden
Metoda playlists.list
zwraca ten błąd, jeśli parametrid
żądania nie obsługuje żądania lub nie jest ono prawidłowo autoryzowane.notFound (404)
channelNotFound
Metoda playlists.list
zwraca ten błąd, jeśli parametrchannelId
żądania określa kanał, którego nie można znaleźć.notFound (404)
playlistNotFound
Metoda playlists.list
zwraca ten błąd, jeśli parametrid
żądania określa playlistę, której nie można znaleźć.notFound (404)
videoNotFound
Metoda videos.list
zwraca ten błąd, jeśli parametrid
żą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ść parametrurating
.
2 marca 2015 r.
Ta aktualizacja zawiera następujące zmiany:
-
Metoda
search.list
obsługuje teraz parametrrelevanceLanguage
, który pozwala uzyskiwać wyniki najbardziej odpowiednie dla danego języka.Zaktualizowaliśmy też Przewodnik po migracji interfejsu YouTube Data API (v3), by wyjaśnić, jak korzystać z tego nowego parametru. Ten parametr służy do wypełniania luki w funkcjach występujących między bieżącą wersją interfejsu API (v3) a poprzednią wersją (v2), która została już wycofana.
-
Zaktualizowaliśmy też przewodnik po migracji interfejsu YouTube Data API (v3), aby wskazać, że w przypadku filmów, zwiastunów, seriali i programów telewizyjnych oraz odcinków seriali bądź programów telewizyjnych zastąpiliśmy specjalne pola kanałów i metadanych dostępne w wersji 2.
14 stycznia 2015 r.
Ta aktualizacja zawiera następujące zmiany:
-
Zaktualizowaliśmy przewodnik po migracji interfejsu YouTube Data API (v3), by wyjaśnić, jak korzystać z interfejsu API w wersji 3 do przesyłania filmów przy użyciu kodu JavaScript. (więcej informacji znajdziesz w sekcji Przesyłanie filmów). Ta funkcja jest porównywalna z funkcją przesyłania na podstawie przeglądarki obsługiwaną przez interfejs API w wersji 2. Ta zmiana w przewodniku po migracji nie odzwierciedla faktycznej zmiany w interfejsie API, ale wskazuje na dostępność nowego przykładowego kodu do przesyłania filmów przy użyciu kodu JavaScript po stronie klienta.
Biorąc pod uwagę obsługę przesyłania filmów przy użyciu biblioteki klienta JavaScript i narzędzia CORS, w przewodniku po migracji nie ma już funkcji przesyłania opartej na przeglądarce jako funkcji, która może zostać wycofana w interfejsie API w wersji 3.
-
Dokumentacja metody
videos.insert
została zaktualizowana o nową wersję kodu JavaScript opisaną powyżej. Zaktualizowaliśmy też listę przykładowych kodów JavaScript interfejsu YouTube Data API (v3).
11 listopada 2014 r.
Ta aktualizacja zawiera następujące zmiany:
-
Limit kosztu wywołania metody
search.list
został zmieniony na 100 jednostek.Ważne: w wielu przypadkach możesz użyć innych metod interfejsu API do pobrania informacji przy niższych kosztach. Na przykład te 2 sposoby na znalezienie filmów przesłanych na kanał GoogleDevelopers
-
Koszt limitu: 100 jednostek
Wywołaj metodę
search.list
i wyszukajGoogleDevelopers
. -
Koszt limitu: 6 jednostek
Wywołaj metodę
channels.list
, by znaleźć odpowiedni identyfikator kanału. Ustaw parametrforUsername
naGoogleDevelopers
, a parametrpart
nacontentDetails
. W odpowiedzi interfejsu API właściwośćcontentDetails.relatedPlaylists.uploads
określa identyfikator playlisty przesłanych filmów.Następnie wywołaj metodę
playlistItems.list
i ustaw parametrplaylistId
na przechwycony identyfikator, a parametrpart
nasnippet
.
-
8 października 2014 r.
Ta aktualizacja zawiera następujące zmiany:
-
Zasób
channel
zawiera 2 nowe właściwości:-
Właściwość
status.longUploadsStatus
wskazuje, czy na kanale można przesyłać filmy dłuższe niż 15 minut. Ta właściwość jest zwracana tylko wtedy, gdy właściciel kanału autoryzował żądanie do interfejsu API. Prawidłowe wartości właściwości:allowed
– kanał może przesyłać filmy dłuższe niż 15 minut.eligible
– kanał może przesyłać filmy dłuższe niż 15 minut, ale najpierw musi włączyć tę funkcję.disallowed
– kanał nie może przesyłać filmów dłuższych niż 15 minut.
Więcej informacji o tych wartościach znajdziesz w definicji właściwości. Szczegółowe informacje o tej funkcji znajdziesz też w Centrum pomocy YouTube.
-
Właściwość
invideoPromotion.useSmartTiming
wskazuje, czy kampania promocyjna kanału wykorzystuje „inteligentny czas”. Ta funkcja stara się pokazywać promocje w miejscu filmu, w którym jest większe prawdopodobieństwo, że użytkownik zostanie kliknięty, i ma to mniejsze szanse na zakłócenia oglądania. Ta funkcja daje również możliwość skorzystania z 1 promocji na każdy film.
-
-
Definicje właściwości
snippet.title
isnippet.categoryId
zasobuvideo
zostały zaktualizowane, by wyjaśnić sposób, w jaki interfejs API obsługuje wywołania metodyvideos.update
. Jeśli wywołujesz tę metodę aktualizowania częścisnippet
zasobuvideo
, musisz ustawić wartość dla obu tych właściwości.Jeśli spróbujesz zaktualizować część
snippet
zasobuvideo
i nie ustawisz wartości dla obu tych właściwości, interfejs API zwróci błądinvalidRequest
. Opis tego błędu również został zaktualizowany. -
Właściwość
contentDetails.contentRating.oflcRating
zasobuvideo
, która określa ocenę filmu w Nowej Zelandii przy Urzędzie Filmowym i Literii, obsługuje teraz 2 nowe oceny:oflcRp13
ioflcRp16
. Odpowiadają one odpowiednio ocenomRP13
iRP16
. -
Metoda
channelBanners.insert
obsługuje teraz ten błąd:Typ błędu Szczegóły błędu Opis badRequest
bannerAlbumFull
Album właściciela kanału w YouTube zawiera za dużo obrazów. Właściciel kanału powinien otworzyć stronę http://photos.google.com, przejść na stronę albumów i usunąć niektóre zdjęcia z tego albumu.
12 września 2014 r.
Ta aktualizacja zawiera następujące zmiany:
-
Limit kosztu wywołania metody
search.list
zmienił się z 1 na 2 jednostki oprócz kosztu określonych części zasobów.
13 sierpnia 2014 r.
Ta aktualizacja zawiera następujące zmiany:
-
Metoda
subscriptions.insert
obsługuje teraz ten błąd:Typ błędu Szczegóły błędu Opis badRequest
subscriptionLimitExceeded
Subskrybent określony w prośbie przekroczył limit liczby subskrypcji. Za kilka godzin można wypróbować kolejne subskrypcje.
12 sierpnia 2014 r.
Ta aktualizacja zawiera następujące zmiany:
-
Nowy przewodnik zatytułowany Migracja aplikacji do YouTube Data API (v3) wyjaśnia, jak korzystać z interfejsu YouTube Data API (v3) w celu korzystania z funkcji dostępnych w YouTube Data API (v2). Starsza wersja interfejsu API została oficjalnie wycofana 4 marca 2014 r. Ten przewodnik ma na celu pomóc użytkownikom w migracji aplikacji nadal korzystających z interfejsu API w wersji 2 do najnowszej wersji.
8 lipca 2014 r.
Ta aktualizacja zawiera następujące zmiany:
-
Metoda
playlists.insert
obsługuje teraz ten błąd:Typ błędu Szczegóły błędu Opis badRequest
maxPlaylistExceeded
Ten błąd występuje, jeśli nie można utworzyć playlisty, ponieważ na kanale jest już maksymalna dozwolona liczba playlist.
18 czerwca 2014 r.
Ta aktualizacja zawiera następujące zmiany:
-
Opis każdej metody interfejsu API został zaktualizowany, tak aby uwzględniał limit kosztów wywołany przez wywołanie tej metody. Analogicznie zaktualizowaliśmy definicje parametrów
part
, by określić koszt przydziału każdej części, którą można pobrać w wywołaniu interfejsu API. Na przykład wywołanie metodysubscriptions.insert
ma limit wynoszący ok. 50 jednostek. Zasóbsubscription
składa się również z 3 części (snippet
,contentDetails
isubscriberSnippet
). Każda z nich kosztuje 2 jednostki.Pamiętaj, że koszty limitu mogą ulec zmianie bez ostrzeżenia.
-
Zasób
video
obsługuje teraz 43 nowe systemy oceny treści, które identyfikują oceny filmów dodawane przez różne krajowe agencje oceniające.
28 maja 2014 r.
Ta aktualizacja zawiera następujące zmiany:
-
Metoda
search.list
obsługuje teraz parametrylocation
ilocationRadius
, które pozwalają wyszukiwać filmy powiązane z lokalizacją geograficzną. W żądaniu musi być określona wartość obydwu parametrów, by pobierać wyniki na podstawie lokalizacji. Interfejs API zwróci błąd, jeśli żądanie zawiera tylko jeden z tych 2 parametrów.-
Parametr
location
określa szerokość i długość geograficzną pośrodku okrągłego obszaru geograficznego. -
Parametr
locationRadius
określa maksymalną odległość, jaka od lokalizacji filmu może być ustawiona, by odsunąć go od środka w wynikach wyszukiwania.
-
13 maja 2014 r.
Ta aktualizacja zawiera następujące zmiany:
-
Zaktualizowano właściwość
invideoPromotion.items[]
zasobuchannel
, aby zwrócić uwagę, że zazwyczaj można ustawić tylko jeden promowany produkt na kanale. Jeśli spróbujesz wstawić zbyt wiele promowanych produktów, interfejs API zwróci błądtooManyPromotedItems
zawierający kod stanu HTTP400
. -
Zasób
channelSection
może teraz zawierać informacje o kilku nowych typach polecanych treści. Właściwośćsnippet.type
zasobuchannelSection
obsługuje teraz te wartości:postedPlaylists
– playlisty opublikowane przez właściciela kanału w strumieniu aktywności.postedVideos
– filmy opublikowane przez właściciela kanału w strumieniu aktywności.subscriptions
– kanały, które subskrybuje właściciel kanału
-
Nowa właściwość
contentDetails.contentRating.ifcoRating
zasobuvideo
określa ocenę, jaką otrzymał film w Irlandzkim Urzędzie Klasyfikacji Filmów. -
Zaktualizowaliśmy definicję właściwości
position.cornerPosition
zasobuwatermark
, aby zaznaczyć, że znak wodny jest zawsze widoczny w prawym górnym rogu odtwarzacza. -
Zaktualizowaliśmy definicję parametru
q
metodysearch.list
, aby zwrócić uwagę, że wyszukiwane hasło może używać operatora NIE (-
) do wykluczania filmów powiązanych z konkretnym hasłem. Możesz też użyć operatora logicznego LUB (|
), aby znaleźć filmy powiązane z jednym z kilku wyszukiwanych haseł. -
Zaktualizowaliśmy definicję właściwości
pageInfo.totalResults
, która jest zwracana w odpowiedzi interfejsu API na wywołaniesearch.list
, aby pokazać, że wartość jest przybliżona i może nie odzwierciedlać dokładnej wartości. Dodatkowo maksymalna wartość to 1 000 000. Tej wartości nie należy używać do tworzenia linków do stron. Zamiast tego użyj wartości właściwościnextPageToken
iprevPageToken
, aby określić, czy pokazywać linki do podziału na strony. -
Metody
watermarks.set
iwatermarks.unset
zostały zaktualizowane, tak aby odzwierciedlały fakt, że interfejs API zwraca kod odpowiedzi HTTP204
w przypadku udanych żądań wysłanych do tych metod.
2 maja 2014 r.
Ta aktualizacja zawiera następujące zmiany:
-
Nowy zasób
i18nLanguage
określa język aplikacji, który obsługuje witryna YouTube. Język aplikacji można też określić jako język interfejsu. W przypadku witryny YouTube język aplikacji może być wybierany automatycznie na podstawie ustawień konta Google, języka przeglądarki lub lokalizacji adresu IP. Użytkownik może też ręcznie wybrać żądany język interfejsu użytkownika ze stopki witryny.Interfejs API obsługuje metodę wyświetlania listy obsługiwanych języków aplikacji. Obsługiwane języki mogą być używane jako wartość parametru
hl
przy wywoływaniu metod interfejsu API, takich jakvideoCategories.list
iguideCategories.list
. -
Nowy zasób
i18nRegion
określa obszar geograficzny, który użytkownik YouTube może wybrać jako preferowany region treści. Region treści można też określić jako język treści. W przypadku witryny YouTube region treści może być wybierany automatycznie na podstawie heurystyki, takiej jak domena YouTube lub lokalizacja adresu IP użytkownika, oraz użytkownik może ręcznie wybrać żądany region treści ze stopki witryny YouTube.Interfejs API obsługuje metodę wyświetlania listy obsługiwanych regionów treści. Obsługiwane kody regionów mogą być używane jako wartość parametru
regionCode
podczas wywoływania metod interfejsu API, np.search.list
,videos.list
,activities.list
ivideoCategories.list
.
7 kwietnia 2014 r.
Ta aktualizacja zawiera następujące zmiany:
-
Nowy zasób
channelSection
zawiera informacje o zestawie filmów, które poleca kanał. Sekcja może na przykład zawierać najnowsze filmy na kanale, najpopularniejsze filmy lub filmy z co najmniej jednej playlisty.Interfejs API obsługuje metody wyświetlania, wstawiania, aktualizowania i usuwania kanałów. Możesz pobrać listę sekcji kanału uwierzytelnionego użytkownika, podając jego identyfikator lub listę unikalnych identyfikatorów.
Zaktualizowaliśmy też dokumentację błędów, by opisała komunikaty o błędach obsługiwane przez interfejs API w przypadku tych nowych metod.
-
Zaktualizowano definicję obiektu
fileDetails
zasobuvideo
, aby wyjaśnić, że obiekt ten jest zwracany tylko wtedy, gdy właściwośćprocessingDetails.fileDetailsAvailability
filmu ma wartośćavailable
.Analogicznie zaktualizowaliśmy definicję obiektu
suggestions
zasobuvideo
, aby wyjaśnić, że ten obiekt jest zwracany tylko wtedy, gdy właściwośćprocessingDetails.tagSuggestionsAvailability
filmu lub jego właściwośćprocessingDetails.editorSuggestionsAvailability
mają wartośćavailable
. -
Zaktualizowaliśmy dokumentację dotyczącą metod
videos.insert
ivideos.update
, aby poinformować, że można wywoływać właściwośćstatus.publishAt
podczas wywoływania tych metod. -
Definicja obiektu
invideoPromotion
zasobuchannel
została zaktualizowana, aby wyjaśnić, że obiekt może pobrać tylko właściciel kanału. -
Lista parametrów metody
videos.rate
została zaktualizowana w taki sposób, aby nie obsługiwała parametruonBehalfOfContentOwner
. To był błąd dokumentacji, ponieważ żądaniavideos.rate
, które ustawiały ten parametr, zwracają błąd500
.
31 marca 2014 r.
Ta aktualizacja zawiera następujące zmiany:
-
Nowa właściwość
status.publishAt
zasobuvideo
pozwala określić datę i godzinę publikacji filmu prywatnego. Tę właściwość można ustawić tylko wtedy, gdy stan prywatności filmu toprivate
, a film nie został opublikowany. Ta nowa usługa nie podlega zasadom wycofywania.
13 marca 2014 r.
Ta aktualizacja zawiera następujące zmiany:
-
Interfejs API obsługuje teraz część
contentOwnerDetails
zasobuchannel
. Nowa część zawiera dane kanału ważne dla partnerów YouTube połączonych z kanałem, w tym identyfikator właściciela treści połączonego z kanałem oraz datę i godzinę połączenia właściciela treści i kanału. Pamiętaj, że ta nowa część nie podlega zasadom wycofywania. -
Dokumentacja przedstawia teraz maksymalną długość znaków w przypadku tych właściwości:
Zasób Właściwość Maksymalna długość channel
invideoPromotion.items[].customMessage
40 znaków video
snippet.title
100 znaków video
snippet.description
5000 bajtów video
snippet.tags
500 znaków. Pamiętaj, że wartość właściwości jest listą, a przecinki między nimi są wliczane do limitu. -
Właściwość
brandingSettings.watch.featuredPlaylistId
zasobuchannel
została wycofana. Jeśli spróbujesz ustawić jego wartość, interfejs API zwróci błąd. -
Do listy wartości, które można ustawić podczas wstawiania lub aktualizowania filmu, dodano
video
właściwości: -
Dokumentacja błędów określa teraz kod odpowiedzi HTTP dla każdego typu błędu.
-
Interfejs API obsługuje teraz następujące błędy:
Typ błędu Szczegóły błędu Opis badRequest (400)
invalidCriteria
Metoda channels.list
zwraca ten błąd, jeśli żądanie określa parametry filtra, których nie można używać razem ze sobą.badRequest (400)
channelTitleUpdateForbidden
Metoda channels.update
zwraca ten błąd, gdy próbujesz zaktualizować częśćbrandingSettings
kanału i zmienić wartość właściwościbrandingSettings.channel.title
. (Pamiętaj, że interfejs API nie zwróci błędu, jeśli pominiesz właściwość).badRequest (400)
invalidRecentlyUploadedBy
Metoda channels.update
zwraca ten błąd, jeśli właściwośćinvideoPromotion.items[].id.recentlyUploadedBy
określa nieprawidłowy identyfikator kanału.badRequest (400)
invalidTimingOffset
Metoda channels.update
zwraca ten błąd, jeśli częśćinvideoPromotion
określa nieprawidłowe przesunięcie czasowe.badRequest (400)
tooManyPromotedItems
Metoda channels.update
zwraca ten błąd, jeśli częśćinvideoPromotion
zawiera więcej niż dozwolona liczba promowanych produktów.forbidden (403)
promotedVideoNotAllowed
Metoda channels.update
zwraca ten błąd, jeśli właściwośćinvideoPromotion.items[].id.videoId
określa identyfikator filmu, którego nie można znaleźć lub nie można użyć jako promowanego elementu.forbidden (403)
websiteLinkNotAllowed
Metoda channels.update
zwraca ten błąd, jeśli właściwośćinvideoPromotion.items[].id.websiteUrl
określa nieprawidłowy adres URL.required (400)
requiredTimingType
Metoda channels.update
zwraca ten błąd, jeśli żądanie nie określa domyślnych ustawień czasu, gdy YouTube ma wyświetlić promowany produkt.required (400)
requiredTiming
Metoda channels.update
musi określać obiektinvideoPromotion.items[].timing
dla każdego promowanego elementu.required (400)
requiredWebsiteUrl
Metoda channels.update
musi określać właściwośćinvideoPromotion.items[].id.websiteUrl
dla każdego promowanego produktu.badRequest (400)
invalidPublishAt
Metoda videos.insert
zwraca ten błąd, jeśli metadane żądania wskazują nieprawidłowy czas publikacji.
4 marca 2014 r.
Ta aktualizacja zawiera następujące zmiany:
-
Interfejs YouTube Data API w wersji 3 podlega teraz zasadom wycofywania opisanym w Warunkach korzystania z interfejsów API YouTube. Uwaga: strona zawierająca listę interfejsów API, które podlegają zasadom wycofywania, nie uwzględnia zasad interfejsu API w wersji 3.
5 grudnia 2013 r.
Ta aktualizacja zawiera następujące zmiany:
-
Dokumentacja metody
search.list
została zaktualizowana tak, aby prawidłowo podawać, że podczas przesyłania żądania wyszukiwania nie musisz określać wartości dokładnie jednego parametru filtra. Zamiast tego możesz ustawić wartość 0 parametrów filtra lub 1 parametr filtra. -
Definicje parametrów metody
search.list
zostały zmienione tak, aby trzeba było ustawić wartość parametrutype
navideo
, jeśli podasz też wartość dowolnego z tych parametrów:eventType
videoCaption
videoCategoryId
videoDefinition
videoDimension
videoDuration
videoEmbeddable
videoLicense
videoSyndicated
videoType
-
Minimalny rozmiar przesyłanych obrazów banera kanału został zmniejszony do 2048 x 1152 pikseli. Wcześniej minimalny rozmiar wynosił 2120 na 1192 piksele.) Pamiętaj też, że w dokumentacji zasobów
channel
podane są maksymalne rozmiary wszystkich obrazów banera wyświetlanych przez interfejs API. Na przykład maksymalny rozmiar obrazu w aplikacjachbrandingSettings.image.bannerTvImageUrl
to 2120 × 1192 piksele, ale rzeczywisty obraz może mieć rozmiar 2048 na 1152 piksele. Centrum pomocy YouTube zawiera dodatkowe wskazówki, które pomogą Ci zoptymalizować grafikę kanału pod kątem wyświetlania na różnych rodzajach urządzeń. -
Zaktualizowaliśmy kilka definicji właściwości zasobu
channel
, aby uwzględnić te informacje:- Wartość właściwości
brandingSettings.channel.description
może mieć maksymalnie 1000 znaków. - Właściwość
brandingSettings.channel.featuredChannelsTitle
może mieć maksymalnie 30 znaków. - Właściwość
brandingSettings.channel.featuredChannelsUrls[]
może teraz zawierać maksymalnie 100 kanałów. - Wartość właściwości
brandingSettings.channel.unsubscribedTrailer
musi mieć identyfikator filmu publicznego lub niepublicznego, którego właścicielem jest właściciel kanału.
- Wartość właściwości
-
Metoda
channels.update
obsługuje teraz aktualizacje właściwościinvideoPromotion.items[].promotedByContentOwner
. Ta właściwość wskazuje, czy podczas wyświetlania promocji będzie wyświetlana nazwa właściciela treści. Można go ustawić tylko wtedy, gdy żądanie API, które ustawia wartość usługi, jest wysyłane w imieniu właściciela treści za pomocą parametruonBehalfOfContentOwner
. -
Metody
playlistItems.list
iplaylistItems.insert
obsługują teraz parametronBehalfOfContentOwner
, który jest już obsługiwany w przypadku kilku innych metod. -
Właściwość
contentDetails.contentRating.acbRating
może teraz określać ocenę zarówno filmów orzeczonych przez Australian Classification Board (ACB) (Australian Classification Board, ACMA) dla programów telewizyjnych dla dzieci (Australian Communications and Media Authority, ACMA). -
Nowe właściwości
contentDetails.contentRating.catvRating
icontentDetails.contentRating.catvfrRating
identyfikują oceny filmów wyświetlane w ramach kanadyjskiego systemu klasyfikacji telewizyjnej i francuskiego systemu ocen Régie du cinéma (stosowane odpowiednio w Quebecu). -
Nowa właściwość
snippet.assignable
zasobuvideoCategory
wskazuje, czy z tą kategorią mogą być powiązane zaktualizowane lub nowo przesłane filmy. -
Dodano przykłady kodu w następujących metodach:
activities.insert
(OK)channelBanners.insert
(Python)channels.update
(Python)playlistItems.list
(OK)search.list
(OK)thumbnails.set
(Java)videos.insert
(OK)
24 października 2013 r.
Ta aktualizacja zawiera następujące zmiany:
-
Oferuje on 2 dodatkowe funkcje ułatwiające znajdowanie i promowanie treści transmisji na żywo:
Nowa właściwość
snippet.liveBroadcastContent
w wynikach wyszukiwania wskazuje, czy w filmie lub zasobie kanału są przesyłane treści na żywo. Prawidłowe wartości właściwości toupcoming
,active
inone
.-
Nowa właściwość
snippet.liveBroadcastContent
zasobuvideo
wskazuje, czy transmisja ma być nadchodząca czy aktywna. Możliwe wartości właściwości z listy poniżej:upcoming
– film jest transmitowany na żywo, który jeszcze się nie rozpoczął.active
– film jest transmitowany na żywo.none
– film nie jest zbliżającą się lub aktywną transmisją na żywo. To będzie wartość właściwości zakończonych transmisji, które nadal będą widoczne w YouTube.
-
Nowa właściwość
liveStreamingDetails
zasobuvideo
to obiekt zawierający metadane dotyczące transmisji wideo na żywo. Aby pobrać te metadane, uwzględnijliveStreamingDetails
na liście wartości zasobów w parametrzepart
. Metadane obejmują te nowe właściwości:liveStreamingDetails.actualStartTime
– czas rozpoczęcia transmisji. (Ta wartość będzie widoczna, gdy stan transmisji toactive
).liveStreamingDetails.actualEndTime
– czas zakończenia transmisji. (Ta wartość będzie widoczna po zakończeniu transmisji).liveStreamingDetails.scheduledStartTime
– planowana godzina rozpoczęcia transmisji.liveStreamingDetails.scheduledEndTime
– czas, kiedy transmisja ma się zakończyć. Jeśli wartość usługi jest pusta lub nie ma usługi, zaplanowano przesyłanie na stałe.liveStreamingDetails.concurrentViewers
– liczba osób oglądających transmisję na żywo.
Aby pobrać te metadane, umieść
liveStreamingDetails
w wartości parametrupart
podczas wywoływania metodyvideos.list
,videos.insert
lubvideos.update
.
1 października 2013 roku wprowadziliśmy 2 inne funkcje identyfikowania treści transmisji na żywo – parametr
eventType
metodysearch.list
i właściwośćsnippet.liveBroadcastContent
wyniku wyszukiwania. -
-
Metoda
videos.insert
obsługuje teraz parametrnotifySubscribers
, który wskazuje, czy YouTube ma wysyłać powiadomienia o nowym filmie do użytkowników, którzy subskrybują jego kanał. Domyślna wartość tego parametru toTrue
. Oznacza ona, że subskrybenci będą powiadamiani o nowo przesłanych filmach. Właściciel kanału, który przesyła wiele filmów, może jednak ustawić tę wartość naFalse
, aby uniknąć wysyłania powiadomień o nowych filmach do subskrybentów kanału. -
Lista właściwości, które można zmieniać podczas wywoływania metody
channels.update
, została zaktualizowana tak, aby zawierała właściwościinvideoPromotion.items[].customMessage
iinvideoPromotion.items[].websiteUrl
. Dodatkowo zmodyfikowaliśmy listę, aby zidentyfikować właściwościbrandingSettings
, które można modyfikować. Te właściwościbrandingSettings
można było już modyfikować, więc zmiana w dokumentacji nie odzwierciedla zmiany wprowadzonej w interfejsie API. -
Metody
playlists.insert
,playlists.update
iplaylists.delete
obsługują teraz parametronBehalfOfContentOwner
, który jest już obsługiwany w przypadku kilku innych metod. -
Metoda
playlists.insert
obsługuje teraz parametronBehalfOfContentOwnerChannel
, który jest już obsługiwany w przypadku kilku innych metod. -
Właściwość
contentDetails.contentRating.tvpgRating
zasobuvideo
obsługuje teraz wartośćpg14
, która odpowiada ocenieTV-14
. -
Poprawiliśmy definicję właściwości
snippet.liveBroadcastContent
, która jest częścią wyników wyszukiwania, aby potwierdzić, żelive
jest prawidłową wartością właściwości, aleactive
nie jest prawidłową wartością właściwości. -
Właściwość
contentDetails.contentRating.mibacRating
zasobuvideo
obsługuje teraz 2 dodatkowe oceny:mibacVap
(VAP) – dziecku towarzyszy osoba dorosła.mibacVm6
(V.M.6) – tylko dla osób od 6 lat.mibacVm12
(V.M.12) – ograniczenie do 12 lat.
-
Nowa właściwość
invideoPromotion.items[].promotedByContentOwner
zasobuchannel
wskazuje, czy podczas wyświetlania promocji będzie widoczna nazwa właściciela treści. To pole można ustawić tylko wtedy, gdy żądanie API, które określa wartość, jest wysyłane w imieniu właściciela treści. Więcej informacji znajdziesz w parametrzeonBehalfOfContentOwner
.
1 października 2013
Ta aktualizacja zawiera następujące zmiany:
-
Nowy obiekt
auditDetails
w zasobiechannel
zawiera dane kanału, które sieć wielokanałowa (MCN) oceni, gdy zdecyduje się zaakceptować lub odrzucić konkretny kanał. Pamiętaj, że każde żądanie interfejsu API, które pobiera tę część zasobu, musi udostępnić token autoryzacji zawierający zakreshttps://www.googleapis.com/auth/youtubepartner-channel-audit
. Dodatkowo tokeny korzystające z tego zakresu muszą zostać unieważnione, gdy sieć wielokanałowa zdecyduje się zaakceptować lub odrzucić kanał albo w ciągu 2 tygodni od jego przyznania. -
Właściwość
invideoPromotion.items[].id.type
zasobuchannel
obsługuje teraz wartośćrecentUpload
, co oznacza, że promowany produkt to najnowszy film z określonego kanału.Domyślnie kanał jest taki sam jak ten, dla którego ustawiono dane promocji In-Video. Możesz jednak promować ostatnio przesłany film z innego kanału, ustawiając wartość nowej właściwości
invideoPromotion.items[].id.recentlyUploadedBy
na identyfikator tego kanału. -
Zasób
channel
zawiera 3 nowe właściwości –brandingSettings.image.bannerTvLowImageUrl
,brandingSettings.image.bannerTvMediumImageUrl
,brandingSettings.image.bannerTvHighImageUrl
– które określają adresy URL obrazów banera wyświetlanych na stronach kanałów w aplikacjach telewizyjnych. -
Nowa właściwość
snippet.liveBroadcastContent
w wynikach wyszukiwania wskazuje, czy w filmie lub zasobie kanału są przesyłane treści na żywo. Prawidłowe wartości właściwości toupcoming
,active
inone
.- W przypadku zasobu
video
wartośćupcoming
oznacza, że film jest transmitowany na żywo, a wartośćactive
oznacza, że trwa transmisja. - W przypadku zasobu
channel
wartośćupcoming
oznacza, że na kanale zaplanowano transmisję, która nie została jeszcze rozpoczęta, a wartośćacive
oznacza, że kanał ma trwającą transmisję.
- W przypadku zasobu
-
W zasobie
watermark
właściwośćtargetChannelId
została zmieniona z obiektu w ciąg znaków. Zamiast zawierać właściwość podrzędną, która określa identyfikator kanału YouTube, do którego prowadzi obraz związany ze znakiem wodnym, właściwośćtargetChannelId
określa teraz tę wartość. W związku z tym właściwośćtargetChannelId.value
zasobu została usunięta. -
Metoda
thumbnails.set
obsługuje teraz parametronBehalfOfContentOwner
, który jest już obsługiwany w przypadku kilku innych metod. -
Metoda
search.list
obsługuje teraz parametreventType
, który ogranicza wyszukiwanie tylko do aktywnych, nadchodzących lub zakończonych transmisji. -
Nowa właściwość
contentDetails.contentRating.mibacRating
określa ocenę, jaką otrzymał film od włoskiego Ministera dei Beni e delle Attivita Culturali e del Turismo. -
Interfejs API obsługuje teraz następujące błędy:
Typ błędu Szczegóły błędu Opis badRequest
invalidImage
Metoda thumbnails.set
zwraca ten błąd, jeśli podana zawartość obrazu jest nieprawidłowa.forbidden
videoRatingDisabled
Metoda videos.rate
zwraca ten błąd, jeśli właściciel filmu, który został oceniony, wyłączył oceny tego filmu.
27 sierpnia 2013 r.
Ta aktualizacja zawiera następujące zmiany:
-
Nowy zasób
watermark
identyfikuje obraz, który wyświetla się podczas odtwarzania filmów na danym kanale. Możesz też podać kanał docelowy, do którego będzie prowadził obraz, a także szczegóły czasowe, które określają, kiedy znak wodny będzie się wyświetlać podczas odtwarzania filmu i jak długo będzie on widoczny.Metoda
watermarks.set
przesyła i ustawia znak wodny kanału. Metodawatermarks.unset
usuwa obraz znaku wodnego kanału.Dokumentacja błędów opisuje komunikaty o błędach, które interfejs API obsługuje w przypadku metod
watermarks.set
iwatermarks.unset
. -
Nowa właściwość
statistics.hiddenSubscriberCount
zasobuchannel
zawiera wartość logiczną, która wskazuje, czy liczba subskrybentów kanału jest ukryta. Jeśli więc liczba subskrybentów kanału jest widoczna publicznie, wartość usługi wynosifalse
. -
Metoda
playlists.list
obsługuje teraz parametryonBehalfOfContentOwner
ionBehalfOfContentOwnerChannel
. Oba parametry są już obsługiwane w przypadku kilku innych metod. -
Metoda
videos.list
obsługuje teraz parametrregionCode
, który identyfikuje region treści, dla którego należy pobrać wykres. Tego parametru można używać tylko w połączeniu z parametremchart
. Wartością tego parametru jest kod kraju w formacie ISO 3166-1 alfa-2. -
error documentation
opisuje ten nowy typowy błąd żądania, który może wystąpić w przypadku wielu metod API:Typ błędu Szczegóły błędu Opis forbidden
insufficientPermissions
Zakresy powiązane z tokenem OAuth 2.0 podanym dla żądania są niewystarczające do uzyskania dostępu do żądanych danych.
15 sierpnia 2013 r.
Ta aktualizacja zawiera następujące zmiany:
-
Obiekt
invideoPromotion
zasobuchannel
ma te nowe i zaktualizowane właściwości:-
Interfejs API obsługuje teraz możliwość wskazania witryny jako promowanego produktu. Aby to zrobić, ustaw wartość właściwości
invideoPromotion.items[].id.type
nawebsite
i użyj nowej właściwościinvideoPromotion.items[].id.websiteUrl
do określenia adresu URL. Użyj też nowej właściwościinvideoPromotion.items[].customMessage
, aby zdefiniować niestandardowy komunikat wyświetlany w ramach danej promocji.Linki mogą prowadzić do powiązanych witryn, stron sprzedawców lub witryn społecznościowych. Więcej informacji o włączaniu linków do swoich treści znajdziesz w instrukcjach w Centrum pomocy YouTube dotyczących powiązanych witryn i witryn sprzedawców.
Dodając linki promocyjne, zgadzasz się na to, że te linki nie będą służyć do przekierowywania ruchu do nieautoryzowanych witryn oraz że będą one zgodne z zasadami AdWords, zasadami dotyczącymi reklam w YouTube, wytycznymi dla społeczności i Warunkami korzystania z YouTube.
-
Właściwości dotyczące ustawień czasu wyświetlania elementów promowanych podczas odtwarzania filmu zostały zmienione:
-
Obiekt
invideoPromotion.timing
został przeniesiony do folderuinvideoPromotion.items[].timing
. Ten obiekt pozwala teraz dostosować dane czasowe dla każdego promowanego produktu na liścieinvideoPromotion.items[]
. -
Nowy obiekt
invideoPromotion.defaultTiming
określa domyślne ustawienia czasowe Twojej promocji. Te ustawienia określają, kiedy promowany produkt będzie wyświetlany podczas odtwarzania jednego z filmów na Twoim kanale. Czas domyślny dla każdego promowanego elementu możesz zastąpić za pomocą obiektuinvideoPromotion.items[].timing
. -
Nowa właściwość
invideoPromotion.items[].timing.durationMs
określa czas wyświetlania promocji w milisekundach. ObiektinvideoPromotion.defaultTiming
zawiera też poledurationMs
, które określa domyślny czas wyświetlania promowanego elementu.
-
-
Właściwości
invideoPromotion.items[].type
iinvideoPromotion.items[].videoId
zostały przeniesione do obiektuinvideoPromotion.items[].id
.
-
-
Metoda
subscriptions.list
obsługuje teraz parametryonBehalfOfContentOwner
ionBehalfOfContentOwnerChannel
. Oba parametry są już obsługiwane w przypadku kilku innych metod. -
W odpowiedzi interfejsu API na żądanie
thumbnails.set
wartość właściwościkind
zmieniła się zyoutube#thumbnailListResponse
nayoutube#thumbnailSetResponse
. -
Dodano przykłady kodu w następujących metodach:
channels.update
(Java, Python)playlists.insert
(.NET, PHP)subscriptions.insert
(PHP, Python)thumbnails.set
(PHP, Python)videos.insert
(PHP)videos.list
(PHP)videos.rate
(Python)videos.update
(Java, PHP i Python)
Pamiętaj, że przykład Pythona dla metody
playlistItems.insert
również został usunięty, ponieważ funkcja, którą pokazuje, jest teraz obsługiwana za pomocą metodyvideos.rate
. -
error documentation
opisuje ten nowy błąd kontekstu żądania, który może wystąpić w przypadku każdej metody API, która obsługuje parametr żądaniamine
: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ąć parametrmine
, uwierzytelnić się jako użytkownik YouTube, usuwając parametronBehalfOfContentOwner
, lub działać jako jeden z kanałów partnera, podając parametronBehalfOfContentOwnerChannel
, jeśli jest on dostępny dla wywołanej metody.
8 sierpnia 2013 r.
Ta aktualizacja zawiera następujące zmiany:
-
W sekcji Wprowadzenie do interfejsu YouTube Data APIPrzewodnik po wykorzystaniu limituWykorzystanie limitu uwzględniliśmy zmianę w limicie kosztów przesyłania filmu z około 16 000 jednostek do około 1600 jednostek.
30 lipca 2013 r.
Ta aktualizacja zawiera następujące zmiany:
-
W zasobie
channelBanner
wartość właściwościkind
została zmieniona zyoutube#channelBannerInsertResponse
nayoutube#channelBannerResource
. Ten zasób jest zwracany w odpowiedzi na żądaniechannelBanners.insert
. -
Nowa właściwość
brandingSettings.channel.profileColor
zasobuchannel
określa rozpoznawalny kolor, który pasuje do zawartości kanału. Wartość właściwości to znak funta (#
), po którym następuje 6-znakowy ciąg szesnastkowy, taki jak#2793e6
. -
Interfejs API umożliwia teraz określenie, czy subskrypcja dotyczy wszystkich działań na kanale, czy tylko nowych filmów. Nowa właściwość
contentDetails.activityType
zasobusubscription
określa rodzaje działań, o których subskrybent zostanie powiadomiony. Prawidłowe wartości właściwości toall
iuploads
. -
Metoda
videos.list
obsługuje nowe parametry służące do pobierania wykresu najpopularniejszych filmów w YouTube:- Parametr
chart
wskazuje wykres, który chcesz pobrać. Obecnie jedyną obsługiwaną wartością jestmostPopular
. Pamiętaj, że parametrchart
jest parametrem filtra, co oznacza, że nie można go używać w tym samym żądaniu co inne parametry filtra (id
imyRating
). - Parametr
videoCategoryId
wskazuje kategorię wideo, dla której chcesz pobrać wykres. Tego parametru można używać tylko w połączeniu z parametremchart
. Domyślnie wykresy nie są ograniczone do określonej kategorii.
- Parametr
-
Nowa właściwość
topicDetails.relevantTopicIds[]
zasobuvideo
dostarcza listę identyfikatorów tematów Freebase pasujących do filmu lub jego treści. Tematy tych tematów mogą pojawić się w filmie lub je pojawić. -
Nazwa właściwości
recordingDetails.location.elevation
zasobuvideo
została zmieniona narecordingDetails.location.altitude
, a właściwośćfileDetails.recordingLocation.location.elevation
– nafileDetails.recordingLocation.location.altitude
. -
Obiekt
contentDetails.contentRating
zasobuvideo
określa oceny, które otrzymał film w ramach różnych systemów ocen, w tym oceny MPAA, TVPG itd. W przypadku każdego systemu ocen interfejs API obsługuje teraz wartość oceny wskazującą, że film nie został oceniony. Pamiętaj, że w przypadku ocen MPMP ocena „Bez oceny” jest często używana w przypadku nieobciętych wersji filmów, w przypadku których skrócona wersja filmu otrzymała oficjalną ocenę. -
Nowa właściwość
contentDetails.contentRating.ytRating
zasobuvideo
określa treści z ograniczeniem wiekowym. Wartość właściwości będzie wynosićytAgeRestricted
, jeśli YouTube uzna, że film zawiera treści nieodpowiednie dla użytkowników poniżej 18 roku życia. Jeśli brak jest właściwości lub jest ona pusta, oznacza to, że treść nie została objęta ograniczeniem wiekowym. -
Parametr
mySubscribers
metodychannels.list
został wycofany. Aby pobrać listę subskrybentów kanału uwierzytelnionego użytkownika, użyj metodysubscriptions.list
i parametrumySubscribers
. -
Metody
channelBanners.insert
,channels.update
,videos.getRating
ivideos.rate
obsługują teraz parametronBehalfOfContentOwner
. Ten parametr wskazuje, że uwierzytelniony użytkownik działa w imieniu właściciela treści wskazanego w wartości parametru. -
Dokumentacja metody
channels.update
została zaktualizowana, aby uwzględniała fakt, że ta metoda może być używana do aktualizowania obiektubrandingSettings
zasobuchannel
i jego właściwości podrzędnych. Dokumentacja zawiera też zaktualizowaną listę właściwości, które można ustawić dla obiektuinvideoPromotion
zasobuchannel
. -
error documentation
opisuje te nowe błędy:Typ błędu Szczegóły błędu Opis forbidden
accountDelegationForbidden
Ten błąd nie dotyczy konkretnej metody interfejsu API. Oznacza on, że uwierzytelniony użytkownik nie jest upoważniony do działania w imieniu określonego konta Google. forbidden
authenticatedUserAccountClosed
Ten błąd nie dotyczy konkretnej metody interfejsu API. Oznacza to, że konto uwierzytelnionego użytkownika YouTube zostało zamknięte. Jeśli użytkownik działa w imieniu innego konta Google, błąd ten oznacza, że konto jest zamknięte. forbidden
authenticatedUserAccountSuspended
Ten błąd nie dotyczy konkretnej metody interfejsu API. Oznacza to, że konto YouTube uwierzytelnionego użytkownika jest zawieszone. Jeśli użytkownik działa w imieniu innego konta Google, błąd ten oznacza, że konto zostało zawieszone. forbidden
authenticatedUserNotChannel
Ten błąd nie dotyczy konkretnej metody interfejsu API. Wskazuje, że serwer interfejsu API nie może zidentyfikować kanału powiązanego z żądaniem API. Jeśli żądanie jest autoryzowane i używa parametru onBehalfOfContentOwner
, ustaw też parametronBehalfOfContentOwnerChannel
.forbidden
cmsUserAccountNotFound
Ten błąd nie dotyczy konkretnej metody interfejsu API. Użytkownik systemu CMS nie może działać w imieniu określonego właściciela treści. notFound
contentOwnerAccountNotFound
Ten błąd nie dotyczy konkretnej metody interfejsu API. Nie znaleziono podanego konta właściciela treści. badRequest
invalidPart
Ten błąd nie dotyczy konkretnej metody interfejsu API. Parametr part
żądania określa części, których nie można zapisać jednocześnie.badRequest
videoChartNotFound
Metoda videos.list
zwraca ten błąd, gdy żądanie określa nieobsługiwany lub niedostępny wykres wideo.notFound
videoNotFound
Metoda videos.update
zwraca ten błąd, wskazując, że nie można znaleźć filmu, który próbujesz zaktualizować. Sprawdź w treści żądania wartość właściwościid
.
10 czerwca 2013 r.
Ta aktualizacja zawiera następujące zmiany:
-
Nowy parametr
forUsername
metodychannels.list
pozwala pobrać informacje o kanale, podając jego nazwę użytkownika YouTube. -
Metoda
activities.list
obsługuje teraz parametrregionCode
, który nakazuje interfejsowi API zwrócenie wyników odpowiednich dla wybranego kraju. YouTube używa tej wartości, gdy wcześniejsza aktywność autoryzowanego użytkownika w YouTube nie dostarcza wystarczających informacji do wygenerowania kanału aktywności. -
Zasoby playlisty zawierają teraz właściwość
snippet.tags
. Usługa zostanie zwrócona tylko autoryzowanym użytkownikom, którzy pobierają dane o swoich playlistach. Autoryzowani użytkownicy mogą też ustawiać tagi playlisty podczas wywoływania metodplaylists.insert
lubplaylists.update
. -
Parametr
onBehalfOfContentOwner
, który był wcześniej obsługiwany w metodachchannels.list
isearch.list
, jest teraz obsługiwany także w metodachvideos.insert
,videos.update
ivideos.delete
. Pamiętaj, że gdy ten parametr jest używany w wywołaniu metodyvideos.insert
, żądanie musi też określać wartość nowego parametruonBehalfOfContentOwnerChannel
, który identyfikuje kanał, do którego film zostanie dodany. Kanał musi być połączony z właścicielem treści określonym przez parametronBehalfOfContentOwner
.Ten parametr wskazuje, że dane logowania żądania autoryzacji identyfikują użytkownika YouTube CMS, który działa w imieniu właściciela treści określonego w wartości parametru. Konto CMS, za pomocą którego użytkownik się uwierzytelni, musi być połączone z określonym właścicielem treści w YouTube.
Ten parametr jest przeznaczony dla partnerów w sieci reklamowej, którzy mają wiele kanałów YouTube i zarządzają nimi. Ten parametr umożliwia partnerom uwierzytelnianie raz i dostęp do wszystkich danych filmów i kanału bez konieczności podawania danych uwierzytelniających dla każdego kanału oddzielnie.
W szczególności w przypadku tej wersji parametr umożliwia teraz partnerowi wstawianie, aktualizowanie i usuwanie filmów w jego kanałach w YouTube.
-
error documentation
opisuje te nowe błędy:Typ błędu Szczegóły błędu Opis forbidden
insufficientCapabilities
Ten błąd nie dotyczy konkretnej metody interfejsu API. Wskazuje ona, że użytkownik systemu CMS wywołujący interfejs API nie ma wystarczających uprawnień do wykonania żądanej operacji. Ten błąd jest związany z użyciem parametru onBehalfOfContentOwner
, który jest obsługiwany przez kilka metod interfejsu API.unauthorized
authorizationRequired
Metoda activities.list
zwraca ten błąd, gdy żądanie używa parametruhome
, ale nie jest prawidłowo autoryzowane. -
W zasobie
channels
właściwośćinvideoPromotion.channelId
została usunięta, ponieważ identyfikator kanału jest już określony za pomocą właściwościid
zasobu. -
W nowym przewodniku Praca z identyfikatorami kanałów wyjaśniamy, jak interfejs API używa identyfikatorów kanałów. Przewodnik może być szczególnie przydatny dla deweloperów, którzy przenieśli się z poprzedniej wersji interfejsu API i mają aplikacje żądające treści dla użytkownika
default
lub takie, które zakładają, że każdy kanał YouTube ma unikalną nazwę użytkownika, która już nie jest taka sama.
22 maja 2013 r.
Ta aktualizacja zawiera następujące zmiany:
-
Nowa metoda
channelBanners.insert
umożliwia przesyłanie obrazu banera, który można później ustawić jako obraz banera kanału, korzystając z nowej właściwościbrandingSettings.image.bannerExternalUrl
zasobuchannel
. -
Dokumentacja metody
channels.update
została zaktualizowana i wyświetla listę właściwości, które można zmieniać podczas wywoływania tej metody. -
Dokumentacja zasobu
video
nie zawiera jużunspecified
jako prawidłowej wartości właściwości dla właściwościsuggestions.processingErrors[]
,suggestions.processingHints[]
,suggestions.processingWarnings[]
isuggestions.editorSuggestions[]
. -
Parametr
maxResults
metodyvideos.list
ma teraz domyślną wartość5
. -
error documentation
wyświetla teraz błędy dotyczące metodchannelBanners.insert
isubscriptions.list
. Zobaczysz też kilka nowych błędów metodychannels.update
.
14 maja 2013 r.
Ta aktualizacja zawiera następujące zmiany:
-
Oddzielne strony zawierają teraz listę przykładów kodu w językach Java, .NET, PHP i Ruby.
-
Na stronie z przykładami kodu Python znajdują się teraz przykłady dodawania subskrypcji, tworzenia playlisty i aktualizowania filmu.
10 maja 2013 r.
Ta aktualizacja zawiera następujące zmiany:
-
YouTube nie rozpoznaje już eksperymentalnych funkcji i usług interfejsu API. Zamiast tego udostępniamy listę interfejsów API YouTube, które podlegają zasadom wycofywania.
8 maja 2013 r.
Ta aktualizacja zawiera następujące zmiany:
-
Zasoby kanału obsługują teraz obiekt
inVideoPromotion
, który obejmuje informacje o kampanii promocyjnej powiązanej z kanałem. Podczas odtwarzania filmów użytych na kanale właściciel kanału może wykorzystać kampanię promocyjną In-Video do wyświetlania miniatur obrazów promowanego filmu w odtwarzaczu.Aby je pobrać, w żądaniu
channels.list
dodaj parametrinvideoPromotion
w wartości parametrupart
. -
Nowa metoda
channels.update
może być używana do aktualizowania danych kampanii wideo In-Video. Metoda obsługuje tylko aktualizacje częściinvideoPromotion
zasobuchannel
i nie obsługuje jeszcze aktualizacji innych części tego zasobu.
2 maja 2013 r.
Ta aktualizacja zawiera następujące zmiany:
-
Zasoby kanału obsługują teraz właściwość
status.isLinked
, która wskazuje, czy dane kanału identyfikują użytkownika, który jest już połączony z nazwą użytkownika YouTube lub kontem Google+. Użytkownik, który ma jeden z tych linków, ma już publiczną tożsamość w YouTube, co jest wymagane do wykonania kilku czynności, takich jak przesyłanie filmów. -
Zasoby subskrypcji obsługują teraz część
subscriberSnippet
. Ten obiekt zawiera dane fragmentu kodu kanału subskrybenta. -
Interfejs API obsługuje teraz metodę
videos.getRating
, która pobiera oceny, które użytkownik uwierzytelnił, do listy z co najmniej jednym filmem. -
Nowy parametr
myRating
metodyvideos.list
pozwala pobrać listę filmów, które zostały uwierzytelnione przez użytkownika z ocenąlike
lubdislike
.Parametry
myRating
iid
są teraz uznawane za parametry filtra, co oznacza, że żądanie API musi określać dokładnie jeden z tych parametrów. Wcześniej parametrid
był wymagany w przypadku tej metody.Metoda zwraca błąd
forbidden
w przypadku żądań, które próbują pobrać informacje o ocenie filmu, ale nie mają odpowiednich uprawnień. -
W wyniku wprowadzenia parametru
myRating
metodavideos.list
została też zaktualizowana, tak aby obsługiwała podział na strony. Pamiętaj, że parametry podziału na strony są obsługiwane tylko w przypadku żądań korzystających z parametrumyRating
. (W żądaniach z parametremid
parametry wyświetlania i informacje o tempie nie są obsługiwane).-
Parametr
maxResults
określa maksymalną liczbę filmów, które interfejs API może zwrócić w zestawie wyników, a parametrpageToken
wskazuje konkretną stronę w zestawie wyników, który chcesz pobrać. -
Zasób
youtube#videoListResponse
, który jest zwracany w odpowiedzi na żądanievideos.list
, zawiera teraz obiektpageInfo
, który zawiera takie informacje jak łączna liczba wyników i liczba wyników uwzględnionych w bieżącym zestawie wyników. Zasóbyoutube#videoListResponse
może też zawierać właściwościnextPageToken
iprevPageToken
, a każda z nich może być tokenem służącym do pobierania określonych stron z zestawu wyników.
-
-
Metoda
videos.insert
obsługuje te nowe parametry:autoLevels
– ustaw tę wartość natrue
, by YouTube automatycznie ulepszył oświetlenie i kolor filmu.stabilize
– ustaw wartość tego parametru natrue
, by polecenie YouTube było dostosowywane przez usuwanie drgań spowodowane przez ruchy kamery.
-
Właściwość
channelTitle
została dodana dosnippet
dla tych zasobów:playlistItem
– właściwość określa nazwę kanału, który dodał element playlisty.playlist
– właściwość określa nazwę kanału, który utworzył playlistęsubscription
– właściwość określa nazwę kanału, który subskrybujesz.
-
Dodano przykłady kodu w następujących metodach:
activities.insert
(Ruby)playlistItems.list
(.NET),search.list
(.NET),subscriptions.insert
(Java, Ruby)videos.insert
(.NET, Ruby)
-
Nowy parametr
mySubscribers
metodysubscriptions.list
pozwala pobrać listę subskrybentów obecnie uwierzytelnionego użytkownika. Tego parametru można używać tylko w żądaniu autoryzacji.Uwaga: ta funkcja ma zastąpić parametr
mySubscribers
, który jest obecnie obsługiwany w przypadku metodychannels.list
. Ten parametr zostanie wycofany. -
W zasobie
video
wartość właściwościunspecified
nie jest już potencjalną wartością żadnej z tych właściwości: -
Żądania do interfejsu API, które zawierają nieoczekiwany parametr, teraz zwracają błąd
badRequest
, a jego przyczynę tounexpectedParameter
. -
Zaktualizowano błąd zwracany przez metodę
playlistItems.insert
, gdy playlista zawiera już maksymalną dozwoloną liczbę elementów. Błąd jest teraz raportowany jako błądforbidden
, a przyczyna toplaylistContainsMaximumNumberOfVideos
.
19 kwietnia 2013 r.
Ta aktualizacja zawiera następujące zmiany:
-
Nowa metoda
videos.rate
pozwala użytkownikowi ustawić ocenęlike
lubdislike
na filmie oraz usunąć ocenę z filmu.Zaktualizowaliśmy też dokumentację błędów, by wyświetlić listę błędów, które interfejs API może zwrócić w odpowiedzi na wywołanie metody
videos.rate
. -
W dokumentacji interfejsu API są teraz rozpoznawane miniatury, jako oddzielne zasoby. Nowa metoda
thumbnails.set
umożliwia przesyłanie niestandardowych miniatur filmów do YouTube i ustawianie ich dla poszczególnych filmów.Zaktualizowaliśmy też dokumentację błędów, by wyświetlić listę błędów, które interfejs API może zwrócić w odpowiedzi na wywołanie metody
thumbnails.set
.Ta zmiana nie ma wpływu na istniejące zasoby, które zwracają obrazy miniatur. Obrazy miniatur są zwracane w tych zasobach w taki sam sposób jak wcześniej, choć w dokumentacji znajduje się teraz lista nazw różnych rozmiarów miniatur, które mogą zostać zwrócone przez interfejs API.
-
Nowa część
brandingSettings
zasobuchannel
określa ustawienia, tekst i obrazy na stronie kanału i stronach odtwarzania filmów. -
Zasób
playlistItem
zawiera te nowe właściwości:-
Nowy obiekt
status
zawiera informacje o stanie elementu playlisty, a właściwośćstatus.privacyStatus
wskazuje stan prywatności tego elementu.
-
-
Zasób
video
zawiera te nowe właściwości:-
Właściwość
status.publicStatsViewable
wskazuje, czy rozszerzone statystyki filmów na stronie odtwarzania filmu są publicznie dostępne. Domyślnie statystyki te są widoczne, a statystyki takie jak liczba wyświetleń i oceny filmu są nadal widoczne publicznie, nawet jeśli wartość tej właściwości jest ustawiona nafalse
. Wartość tej właściwości możesz ustawić podczas wywoływania metodyvideos.insert
lubvideos.update
. -
Obiekt
contentDetails.contentRating
zawiera oceny, które otrzymał film w ramach różnych systemów ocen. Poniższa lista przedstawia obsługiwane systemy ocen i zawiera link do usługi powiązanej z każdym systemem. Definicje właściwości identyfikują obsługiwane wartości oceny dla każdego systemu.Kraj System ocen Właściwość Stany Zjednoczone Motion Picture Association of America (MPAA) contentDetails.contentRating.mpaaRating
Stany Zjednoczone Wytyczne dla rodziców dotyczące nadzorowanego oglądania telewizji contentDetails.contentRating.tvpgRating
Australia Australian Classification Board (ACB) contentDetails.contentRating.acbRating
Brazylia Departamento de Justiça, Classificação, Qualificação e Títulos, contentDetails.contentRating.djctqRating
Kanada Kanadyjski system ocen filmów wideo (CHVRS) contentDetails.contentRating.chvrsRating
Francja Centrum narodowe du cinéma et de l'image animée (francuskie Ministerstwo Kultury) contentDetails.contentRating.fmocRating
Niemcy Freiwillige Selbstkontrolle der Filmwirtschaft (FSK), contentDetails.contentRating.fskRating
Wielka Brytania Brytyjska rada filmowa (BBFC) contentDetails.contentRating.bbfcRating
Indie Centralna Rada ds. Certyfikacji Filmów (CBFC) contentDetails.contentRating.cbfcRating
Japonia 映倫管理委غ会 (EIRIN) contentDetails.contentRating.eirinRating
Korea Południowa strzał contentDetails.contentRating.kmrbRating
Meksyk Generalny Dyrektor ds. Radio, Telewizji i Kinematografii (RTC) contentDetails.contentRating.rtcRating
Nowa Zelandia Urząd klasyfikacji filmów i literatury contentDetails.contentRating.oflcRating
Rosja Rejestr filmowy Federacji Rosyjskiej contentDetails.contentRating.russiaRating
Hiszpania Instituto de la Cinematografía y de las Artes Audiovisuales (ICAA) contentDetails.contentRating.icaaRating
-
-
Dokumentacja metody
playlistItems.update
została zaktualizowana w celu odzwierciedlenia, że właściwośćsnippet.resourceId
musi być określona w zasobie przesłanym jako treść żądania. -
Metoda
search.list
obsługuje teraz te funkcje:-
Nowy parametr
forMine
ogranicza wyszukiwanie tylko do filmów uwierzytelnionego użytkownika. -
Parametr
order
obsługuje teraz możliwość sortowania wyników alfabetycznie według tytułu (order=title
) lub liczby filmów w kolejności malejącej (order=videoCount
). -
Nowy parametr
safeSearch
wskazuje, czy wyniki wyszukiwania powinny zawierać treści podlegające ograniczeniom.
-
-
Metoda
videos.insert
obsługuje kilka nowych błędów wymienionych w tabeli poniżej:Typ błędu Szczegóły błędu Opis badRequest
invalidCategoryId
Właściwość snippet.categoryId
określa nieprawidłowy identyfikator kategorii. Aby pobrać obsługiwane kategorie, użyj metodyvideoCategories.list
.badRequest
invalidRecordingDetails
metadata specifies invalid recording details.
badRequest
invalidVideoGameRating
Metadane żądania wskazują nieprawidłową ocenę gry wideo. badRequest
invalidVideoMetadata
Metadane żądania są nieprawidłowe. -
Parametr
onBehalfOfContentOwner
został usunięty z listy obsługiwanych parametrów metodvideos.update
ivideos.delete
.
12 marca 2013 r.
Ta aktualizacja zawiera następujące zmiany:
-
Właściwość
channelTitle
została dodana dosnippet
dla tych zasobów: -
Metoda
search.list
obsługuje te nowe parametry:-
Parametr
channelType
pozwala ograniczyć wyszukiwanie wszystkich kanałów lub tylko programy. -
Parametr
videoType
pozwala ograniczyć wyszukiwanie filmów lub wszystkich filmów albo tylko odcinków.
-
-
Zaktualizowano definicję części
recordingDetails
zasobuvideo
, aby zwrócić uwagę, że obiekt zostanie zwrócony tylko w przypadku, gdy ustawiono dane geolokalizacji lub czas nagrywania. -
Metoda
playlistItems.update
zwraca teraz błądinvalidSnippet
, który jest zwracany, jeśli żądanie interfejsu API nie określa prawidłowego fragmentu. -
Kilka metod interfejsu API obsługuje nowe parametry przeznaczone wyłącznie dla dostawców treści YouTube. Dostawcy treści w YouTube to między innymi studia filmowe i telewizyjne, wytwórnie płytowe oraz inni twórcy treści, którzy udostępniają swoje treści w YouTube.
-
Parametr
onBehalfOfContentOwner
wskazuje, że dane logowania żądania autoryzacji identyfikują użytkownika YouTube CMS, który działa w imieniu właściciela treści określonym w wartości parametru. Konto CMS, za pomocą którego użytkownik się uwierzytelni, musi być połączone z określonym właścicielem treści w YouTube.Ten parametr jest przeznaczony dla partnerów w sieci reklamowej, którzy mają wiele kanałów YouTube i zarządzają nimi. Ten parametr umożliwia partnerom uwierzytelnianie raz i dostęp do wszystkich danych filmów i kanału bez konieczności podawania danych uwierzytelniających dla każdego kanału oddzielnie.
Metody
channels.list
,search.list
,videos.delete
,videos.list
ivideos.update
obsługują ten parametr. -
Parametr
managedByMe
, który jest obsługiwany przez metodęchannels.list
, nakazuje interfejsowi API zwracanie wszystkich kanałów należących do właściciela treści określonego przez parametronBehalfOfContentOwner
. -
Parametr
forContentOwner
(obsługiwany przez metodęsearch.list
) umożliwia interfejsowi API ograniczenie wyników wyszukiwania tylko do zasobów należących do właściciela treści określonego przez parametronBehalfOfContentOwner
.
-
25 lutego 2013 r.
Ta aktualizacja zawiera następujące zmiany:
-
Interfejs API obsługuje kilka nowych części i właściwości
video
zasobów:-
Nowe części
fileDetails
,processingDetails
isuggestions
zawierają informacje o przesyłanych filmach. Te dane są bardzo przydatne w aplikacjach, które umożliwiają przesyłanie filmów, i zawierają następujące dane:- stan i postęp przetwarzania
- podczas przetwarzania filmu wystąpiły błędy lub wystąpiły inne problemy.
- dostępność miniatur
- sugestie dotyczące poprawy jakości filmów lub metadanych,
- informacje na temat oryginalnego pliku przesłanego do YouTube;
Tylko właściciel filmu może pobrać wszystkie te elementy. Poniższa lista zawiera krótkie omówienie nowych części, a w dokumentacji zasobów
video
znajdziesz informacje o wszystkich właściwościach poszczególnych elementów.-
Obiekt
fileDetails
zawiera informacje o pliku wideo, który został przesłany do YouTube, w tym rozdzielczość, czas trwania, kodeki audio i wideo, szybkość transmisji bitów oraz inne. -
Obiekt
processingProgress
zawiera informacje o postępach YouTube w przetwarzaniu przetworzonego pliku wideo. Właściwości obiektu określają obecny stan przetwarzania i szacują pozostały czas do zakończenia przetwarzania filmu. Ta część określa też, czy w przypadku danego filmu są dostępne różne typy danych lub treści, takie jak szczegóły plików czy miniatury.Celem tego obiektu jest ankieta, aby przesyłający mógł śledzić postępy procesu przetwarzania przesłanego pliku.
-
Obiekt
suggestions
zawiera sugestie, które pozwalają poprawić jakość filmu lub metadane przesłanego filmu.
-
Część
contentDetails
zawiera 4 nowe właściwości. Te właściwości można pobrać przy użyciu nieuwierzytelnionych żądań.dimension
– wskazuje, czy film jest dostępny w 2D i 3D.definition
– wskazuje, czy film jest dostępny w standardowej, czy wysokiej rozdzielczości.caption
– wskazuje, czy w przypadku danego filmu dostępne są napisy.licensedContent
– wskazuje, czy film zawiera treści, do których roszczenie zgłosił partner w sieci reklamowej YouTube.
-
Część
status
zawiera 2 nowe właściwości. Właściciele filmów mogą ustawiać wartości dla obu właściwości podczas wstawiania lub aktualizowania filmu. Te właściwości można też pobierać przy użyciu nieuwierzytelnionych żądań.embeddable
– wskazuje, czy film może być umieszczony w innej witrynie.license
– określa licencję na film, Prawidłowe wartości tocreativeCommon
iyoutube
.
-
-
Definicja parametru
part
została zaktualizowana w metodachvideos.list
,videos.insert
ivideos.update
, tak aby uwzględniały nowo dodane części opisane powyżej oraz elementrecordingDetails
, który został nieumyślnie pominięty. -
Nowa właściwość
contentDetails.googlePlusUserId
zasobuchannel
określa identyfikator profilu Google+ powiązany z kanałem. Ta wartość może posłużyć do wygenerowania linku do profilu Google+. -
Każdy obiekt miniatury obrazu określa teraz szerokość i wysokość obrazu. Miniatury są obecnie zwracane w zasobach
activity
,channel
,playlist
,playlistItem
,search result
,subscription
ivideo
. -
Tag
playlistItems.list
obsługuje teraz parametrvideoId
, którego można używać w połączeniu z parametremplaylistId
, aby pobrać tylko element playlisty reprezentujący określony film.Interfejs API zwraca błąd
notFound
, jeśli nie można znaleźć filmu, który znajduje się na playliście. -
Dokumentacja błędów opisuje nowy błąd
forbidden
, który wskazuje, że żądanie nie zostało prawidłowo autoryzowane dla żądanego działania. -
Właściwość
snippet.channelId
zasobuchannel
została usunięta. Właściwośćid
zasobu zawiera tę samą wartość.
Styczeń 30, 2013
Ta aktualizacja zawiera następujące zmiany:
-
Nowa strona error zawiera listę błędów, które interfejs API może zwrócić. Strona zawiera błędy ogólne, które mogą wystąpić w przypadku wielu metod interfejsu API, a także błędy dotyczące poszczególnych metod.
Styczeń 16, 2013
Ta aktualizacja zawiera następujące zmiany:
-
Przykładowy kod jest teraz dostępny w przypadku metod i języków wymienionych na liście poniżej:
activities.insert
– JavaplaylistItems.insert
– PythonplaylistItems.list
– Java, JavaScript, PHP, Python, Rubyplaylists.insert
– Java, JavaScript, Python.search.list
– Java, JavaScript, Python, Rubyvideos.insert
– Java
-
Zasób
activity
może teraz zgłosić działaniechannelItem
, które ma miejsce, gdy YouTube doda film do kanału wygenerowanego automatycznie. (Algorytmy YouTube identyfikują tematy, które wykazują znaczną obecność w witrynie YouTube, i automatycznie generują kanały dotyczące tych tematów). -
Zaktualizowano te parametry:
search.list
- Parametr
q
nie jest już oznaczony jako filtr. Oznacza to, że... - Nazwa parametru
relatedToVideo
została zmieniona narelatedToVideoId
. - Parametr
published
został zastąpiony 2 nowymi parametrami:publishedAfter
ipublishedBefore
, które opisaliśmy poniżej.
- Parametr
-
Metoda
search.list
obsługuje te nowe parametry:Nazwa parametru Wartość Opis channelId
string
Zwraca zasoby utworzone przez podany kanał. publishedAfter
datetime
Zwróć zasoby utworzone po określonym czasie. publishedBefore
datetime
Zwróć zasoby utworzone przed określonym czasem. regionCode
string
Zwróć zasoby dla określonego kraju. videoCategoryId
string
Filtruj wyniki wyszukiwania filmów, tak aby zawierały tylko filmy powiązane z określoną kategorią wideo. videoEmbeddable
string
Filtruj wyniki wyszukiwania filmów, tak aby wyświetlały się tylko filmy, które można odtwarzać w osadzonym odtwarzaczu na stronie internetowej. Ustaw wartość parametru na true
, aby pobierać tylko filmy wideo umieszczone na stronie.videoSyndicated
string
Przefiltruj wyniki wyszukiwania tak, aby zawierały tylko filmy, które można odtwarzać poza YouTube.com. Ustaw wartość parametru na true
, aby pobierać tylko dystrybuowane filmy. -
Kilka zasobów interfejsu API obsługuje nowe właściwości. Poniższa tabela przedstawia zasoby i ich nowe właściwości:
Zasób Nazwa usługi Wartość Opis activity
contentDetails.playlistItem.playlistItemId
string
Identyfikator playlisty, do którego YouTube przypisał unikalny identyfikator. activity
contentDetails.channelItem
object
Obiekt zawierający informacje o zasobie, który został dodany do kanału. Ta właściwość jest dostępna tylko wtedy, gdy snippet.type
tochannelItem
.activity
contentDetails.channelItem.resourceId
object
Obiekt identyfikujący zasób, który został dodany do kanału. Podobnie jak inne właściwości resourceId
zawiera właściwośćkind
, która określa typ zasobu, np. film lub playlistę. Zawiera on też dokładnie jedną z kilku właściwości –videoId
,playlistId
itp. – które określają unikalny identyfikator tego zasobu.channel
status
object
Ten obiekt zawiera informacje o stanie prywatności kanału. channel
status.privacyStatus
string
Stan prywatności kanału. Prawidłowe wartości to private
ipublic
.playlist
contentDetails
object
Ten obiekt zawiera metadane dotyczące treści playlisty. playlist
contentDetails.itemCount
unsigned integer
Liczba filmów na playliście. playlist
player
object
Zawiera on informacje, których możesz użyć do odtworzenia playlisty w odtwarzaczu umieszczonym na stronie internetowej. playlist
player.embedHtml
string
Tag <iframe>
, który zawiera odtwarzacz odtwarzający playlistę.video
recordingDetails
object
Ten obiekt zawiera informacje, które identyfikują lub opisują miejsce i godzinę nagrania filmu. video
recordingDetails.location
object
Ten obiekt zawiera informacje geolokalizacyjne powiązane z filmem. video
recordingDetails.location.latitude
double
Szerokość geograficzna w stopniach. video
recordingDetails.location.longitude
double
Długość geograficzna w stopniach. video
recordingDetails.location.elevation
double
Wysokość nad Ziemią (w metrach). video
recordingDetails.locationDescription
string
Opis lokalizacji, w której nagrano film. video
recordingDetails.recordingDate
datetime
Data i godzina nagrania filmu. Wartość ma format ISO 8601 ( YYYY-MM-DDThh:mm:ss.sZ
). -
Dokumentacja kilku metod interfejsu API wskazuje teraz właściwości, które muszą być określone w treści żądania lub aktualizowane na podstawie wartości w treści żądania. W tabeli poniżej wymieniono te metody oraz informacje o wymaganych i modyfikowanych właściwościach.
Uwaga: w przypadku innych metod dokumentacja może zawierać już wykaz wymaganych i możliwych do modyfikacji właściwości.
Metoda Usługi activities.insert
Wymagane właściwości: snippet.description
snippet.description
contentDetails.bulletin.resourceId
playlists.update
Wymagane właściwości: id
playlistItems.update
Wymagane właściwości: id
videos.update
Wymagane właściwości: id
-
Interfejs API nie zgłasza już błędów
playlistAlreadyExists
, jeśli próbujesz utworzyć lub zaktualizować playlistę, która ma taki sam tytuł jak playlista, która już istnieje w tym samym kanale. -
Niektóre metody interfejsu API obsługują nowe typy błędów. Poniższa tabela przedstawia metodę i nowo obsługiwane błędy:
Metoda Typ błędu Szczegóły błędu Opis guideCategories.list
notFound
notFound
Nie można znaleźć kategorii przewodnika oznaczonej parametrem id
. Aby pobrać listę prawidłowych wartości, użyj metody guideCategory.list.playlistItems.delete
forbidden
playlistItemsNotAccessible
Żądanie nie jest prawidłowo autoryzowane do usunięcia wskazanego elementu playlisty. videoCategories.list
notFound
videoCategoryNotFound
Nie można znaleźć kategorii filmu wskazywanej przez parametr id
. Aby pobrać listę prawidłowych wartości, użyj metody videoCategory.list.