Ta strona zawiera listę zmian w interfejsie YouTube Data API (w wersji 3) oraz aktualizacje dokumentacji. Zasubskrybuj ten dziennik zmian.
30 października 2024 r.
Interfejs API umożliwia teraz identyfikowanie filmów zawierających realistyczne treści zmodyfikowane lub wygenerowane syntetycznie (Z/W). Dowiedz się więcej o zasadach YouTube dotyczących treści związanych z A/S.
Przykłady treści dotyczących A/S to filmy, które:
- treści, które sprawiają wrażenie, że dana osoba powiedziała lub zrobiła coś, czego wcale nie powiedziała ani nie zrobiła;
- Treści zmieniają materiał przedstawiający prawdziwe wydarzenie lub miejsce
- treści przedstawiają realistycznie wyglądającą scenę, która faktycznie nie miała miejsca.
Aby wskazać, czy film zawiera treści dotyczące produktów lub usług, skonfiguruj właściwość status.containsSyntheticMedia
. Tę właściwość można ustawić podczas wywoływania metod videos.insert
lub videos.update
. Jeśli jest ustawiona, właściwość ta jest zwracana w zasobie video
.
30 kwietnia 2024 r.
Uwaga: to jest ogłoszenie o wycofaniu.
Ta aktualizacja zawiera następujące zmiany:
Interfejs API nie obsługuje już możliwości wstawiania ani pobierania dyskusji na kanale. Ta zmiana jest zgodna z funkcjami obsługiwanymi na stronie YouTube, która nie umożliwia publikowania komentarzy na kanałach.
13 marca 2024 r.
Uwaga: to jest ogłoszenie o wycofaniu.
Ta aktualizacja zawiera następujące zmiany:
Parametr sync
w metodach captions.insert
i captions.update
został wycofany. 12 kwietnia 2024 r. YouTube przestanie obsługiwać parametr
W związku z tą zmianą deweloperzy muszą uwzględniać informacje o czasie podczas wstawiania lub aktualizowania ścieżek z napisami, w przeciwnym razie przesyłanie nie powiedzie się.
12 marca 2024 r.
Ta aktualizacja zawiera następujące zmiany:
Dokumentacja zasobu captions
została zaktualizowana, aby wskazać, że maksymalna dopuszczalna długość pola snippet.name
wynosi 150 znaków. Jeśli nazwa utworu jest dłuższa, interfejs API zwraca błąd nameTooLong
.
7 marca 2024 r.
Uwaga: to jest ogłoszenie o wycofaniu.
Właściwość zasobu channel
brandingSettings.channel.moderateComments
została wycofana. Od 7 marca 2024 r. YouTube nie będzie już obsługiwać tego parametru.
31 stycznia 2024 r.
Ta aktualizacja zawiera następujące zmiany:
Nowy parametr forHandle
metody channels.list
umożliwia pobieranie informacji o kanale przez podanie jego nicku w YouTube.
9 listopada 2023 r.
Wszystkie odwołania do zasobu videoId
w kontekście zasobu Comments
zostały usunięte, ponieważ zasób videoId
nie jest zwracany za pomocą wywołania interfejsu API.
12 września 2023 r.
Uwaga: to jest ogłoszenie o wycofaniu.
Metoda comments.markAsSpam
jest wycofana od kilku lat. Ta metoda nie jest już obsługiwana w YouTube i nie jest już obsługiwana przez interfejs API.
Do wszystkich dokumentów zawierających odwołania do metody comments.markAsSpam
dodano powiadomienie o wycofaniu.
22 sierpnia 2023 r.
Metoda search.list
obsługuje teraz parametr videoPaidProductPlacement
. Ten parametr umożliwia filtrowanie wyników wyszukiwania, aby obejmowały tylko filmy, które twórca oznaczył jako objęte płatną promocją.
18 sierpnia 2023 r.
Definicja zasobu video
liveStreamingDetails.concurrentViewers
została zaktualizowana, aby uwzględnić fakt, że liczba jednoczesnych widzów zwracana przez interfejs YouTube Data API może różnić się od przetworzonej, pozbawionej spamu liczby jednoczesnych widzów dostępnej w Statystykach YouTube. Więcej informacji o danych dotyczących transmisji na żywo znajdziesz w Centrum pomocy YouTube.
7 sierpnia 2023 r.
Zgodnie z oświadczeniem z 12 czerwca 2023 r. parametr relatedToVideoId
metody search.list
został wycofany. Ten parametr nie jest już obsługiwany, a odniesienia do niego zostały usunięte z dokumentacji interfejsu API.
28 czerwca 2023 r.
Metoda thumbnails.set obsługuje teraz błąd uploadRateLimitExceeded
, który wskazuje, że kanał przesłał zbyt wiele miniatur w ciągu ostatnich 24 godzin. Należy spróbować ponownie później.
12 czerwca 2023 r.
Uwaga: to jest ogłoszenie o wycofaniu.
Parametr relatedToVideoId
metody search.list został wycofany. Od 7 sierpnia 2023 r. YouTube przestanie obsługiwać parametr
W tym momencie do dokumentacji metody search.list
dodano powiadomienie o wycofaniu. Ten parametr zostanie całkowicie usunięty z dokumentacji search.list
7 sierpnia 2023 r. lub później.
Z przewodnika po implementacji interfejsu API usunęliśmy też przykład pokazujący, jak pobierać podobne filmy.
22 sierpnia 2022 r.
Poprawiono adnotacje typu pól video.statistics na „string” zamiast „unsigned long”.
5 sierpnia 2022 r.
Zmieniliśmy 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 z wsteczną kompatybilnością w przypadku aplikacji, które przechowują wartości caption_id
, ale nie wpłynie na aplikacje, które nie przechowują wartości caption_id
.
Od teraz do 1 grudnia 2022 r. metody captions.list
, captions.update
, captions.download
i captions.delete
będą obsługiwać zarówno stare, jak i nowe identyfikatory ścieżki napisów. Jednak 1 grudnia 2022 r. lub później YouTube przestanie obsługiwać stare identyfikatory ścieżek napisów. Wtedy wywołanie dowolnej z tych metod interfejsu API ze starym identyfikatorem ścieżki napisów spowoduje błąd captionNotFound
.
Aby przygotować się do tej zmiany, do 1 grudnia 2022 r. musisz całkowicie zastąpić wszystkie zapisane dane ścieżki z napisami. Oznacza to, że w przypadku każdego filmu, dla którego przechowujesz dane ścieżki napisów, musisz usunąć aktualnie przechowywane dane, a następnie wywołać metodę captions.list
, aby pobrać bieżący zestaw ścieżek napisów w filmie i zapisać dane w odpowiedzi interfejsu API tak jak zwykle.
12 lipca 2022 r.
Warunki korzystania z usług interfejsu API YouTube zostały zaktualizowane. Więcej informacji znajdziesz w historii zmian Warunków korzystania z usług YouTube API.
27 kwietnia 2022 r.
Opis metody videos.insert
został zaktualizowany, aby uwzględnić fakt, że maksymalny rozmiar przesyłanych filmów został zwiększony z 128 GB do 256 GB.
8 kwietnia 2022 r.
Definicje parametrów myRecentSubscribers
i mySubscribers
metody subscriptions.list
zostały zaktualizowane, aby uwzględnić fakt, że maksymalna liczba subskrybentów zwracanych przez interfejs API może być ograniczona.
Ta zmiana to poprawka w dokumentacji, a nie zmiana działania interfejsu API.
15 grudnia 2021 r.
Zgodnie z ogłoszeniem z 18 listopada 2021 roku w związku z zmianami dotyczącymi prywatności liczby nieprzychylnych głosów na całej platformie YouTube, zasób video
jest teraz własnością statistics.dislikeCount
.
Więcej informacji o tej zmianie znajdziesz na oficjalnym blogu YouTube.
18 listopada 2021 r.
W związku z zmianami, które wprowadzamy w YouTube, aby liczba kliknięć „Nie podoba mi się” stała się prywatna w całej usłudze, 13 grudnia 2021 r. usługa statistics.dislikeCount
zostanie ustawiona jako prywatna.video
Oznacza to, że ta właściwość będzie uwzględniana w odpowiedzi interfejsu API z punktu końcowego videos.list
tylko wtedy, gdy żądanie interfejsu API zostało uwierzytelnione przez właściciela filmu.
Ta zmiana nie ma wpływu na punkt końcowy videos.rate
.
Deweloperzy, którzy nie wyświetlają publicznie liczby nieprzychylnych głosów, ale nadal potrzebują tej liczby dla swojego klienta interfejsu API, mogą ubiegać się o umieszczenie na liście dozwolonych w celu uzyskania wyjątku. Aby ubiegać się o wyjątek, musisz wypełnić ten formularz zgłoszeniowy.
Więcej informacji o tej zmianie znajdziesz na oficjalnym blogu YouTube.
2 lipca 2021 r.
Uwaga: to jest ogłoszenie o wycofaniu.
Punkt końcowy commentThreads.update
został wycofany i nie jest już obsługiwany.
Ten punkt końcowy dubluje funkcje dostępne w ramach innych punktów końcowych API. Zamiast tego możesz
zadzwonić do comments.update
commentThreads
, wywołaj metodę commentThreads.list
.
1 lipca 2021 r.
Wszyscy deweloperzy korzystający z usług interfejsu API YouTube muszą przejść kontrolę zgodności interfejsu API,aby uzyskać więcej niż domyślny limit 10 tys. jednostek. Do tej pory zarówno proces audytu zgodności, jak i wnioski o dodatkowe przydzielenia jednostek przydziału danych były przeprowadzane przez deweloperów, którzy wypełnili i przesłali formularz dotyczący usług interfejsu API YouTube – audytu i zwiększenia limitów.
Aby wyjaśnić te procesy i lepiej odpowiadać na potrzeby deweloperów korzystających z naszych usług interfejsu API, dodajemy 3 nowe formularze i przewodnik po ich wypełnianiu:
- Formularz próśb od zweryfikowanych deweloperów: deweloperzy, którzy przeszli już audyt zgodności z wymaganiami dotyczącymi interfejsu API, mogą wypełnić i przesłać ten krótszy formularz, aby poprosić o przedłużenie przydzielonego limitu.
- Formularz odwołania: deweloperzy, których projekty interfejsu API nie przeszły audytu zgodności (lub którym odmówiono zwiększenia przydziału jednostek), mogą wypełnić i przesłać ten formularz.
- Formularz zmiany kontroli: deweloperzy lub dowolny podmiot zarządzający klientem API w imieniu dewelopera, u którego nastąpiła zmiana kontroli (np. w wyniku zakupu lub sprzedaży akcji, fuzji przedsiębiorstw bądź innego rodzaju transakcji firmowej) związanej z projektem API, muszą wypełnić i przesłać ten formularz. Dzięki temu zespół interfejsów API YouTube może aktualizować nasze rekordy, sprawdzać zgodność przypadku użycia nowego projektu interfejsu API i weryfikować bieżący przydział limitu dla dewelopera.
Każdy nowy formularz pozwoli nam poznać Twoje oczekiwania dotyczące korzystania z interfejsu API YouTube i ułatwi nam udzielenie Ci pomocy.
Więcej informacji znajdziesz w nowym przewodniku dotyczącym audytów zgodności z wymaganiami interfejsu API.
12 maja 2021 r.
Uwaga: to jest ogłoszenie o wycofaniu.
Ta aktualizacja obejmuje te zmiany w interfejsie API:
-
Właściwość
contentDetails.relatedPlaylists.favorites
zasobuchannel
została wycofana. Funkcja ulubionych filmów została wycofana już kilka lat temu, co zostało odnotowane w historii zmian w 28 kwietnia 2016 roku.Przed tą aktualizacją interfejs API nadal tworzył nową playlistę, jeśli klient interfejsu API próbował dodać film do nieistniejącej playlisty ulubionych. W przyszłości w takim przypadku playlista nie będzie tworzona, a interfejs API zwróci błąd. Zgodnie z wcześniejszymi ogłoszeniami wycofujemy również próby modyfikowania ulubionych playlist poprzez dodawanie, modyfikowanie lub usuwanie elementów, ponieważ w każdej chwili mogą one zacząć zwracać błędy.
-
Te właściwości zasobów
channel
zostały wycofane: Te właściwości nie są już obsługiwane w interfejsie YouTube Studio ani w YouTube. W rezultacie nie są one już obsługiwane przez interfejs API.brandingSettings.channel.defaultTab
brandingSettings.channel.featuredChannelsTitle
brandingSettings.channel.featuredChannelsUrls[]
brandingSettings.channel.profileColor
brandingSettings.channel.showBrowseView
brandingSettings.channel.showRelatedChannels
Wszystkie właściwości zostały usunięte z reprezentacji zasobu
channel
, a ich definicje – z listy właściwości zasobu. Ponadto z dokumentacji dotyczącej poszczególnych metod usunięto błędy związane z tymi właściwościami. -
Te właściwości zasobów
channelSection
zostały wycofane: Te właściwości nie są już obsługiwane w interfejsie YouTube Studio ani w YouTube. W rezultacie nie są one już obsługiwane przez interfejs API.snippet.style
snippet.defaultLanguage
snippet.localized.title
localizations
localizations.(key)
localizations.(key).title
targeting
targeting.languages[]
targeting.regions[]
targeting.countries[]
W związku z tą zmianą parametr
hl
metodychannelSection.list
został wycofany, ponieważ obsługiwane przez niego funkcje nie są już obsługiwane.Wszystkie właściwości zostały usunięte z reprezentacji zasobu
channelSection
, a ich definicje – z listy właściwości zasobu. Ponadto z dokumentacji dotyczącej poszczególnych metod usunięto błędy związane z tymi właściwościami. -
W przypadku właściwości
snippet.type
zasobuchannelSection
te wartości zostały wycofane: Te wartości nie są już obsługiwane na stronach kanałów w YouTube, dlatego nie są też 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, dlatego nie można jej używać za pomocą interfejsu API.
9 lutego 2021 r.
Zasób playlistItem
obsługuje 2 nowe właściwości:
- Właściwość
snippet.videoOwnerChannelId
identyfikuje kanał, który przesłał film na playlistę. - Właściwość
snippet.videoOwnerChannelTitle
identyfikuje nazwę kanału, z którego pochodzi film na playliście.
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
. Ten błąd występuje, gdy żądanie próbuje wykonać operację niedozwoloną w przypadku danej playlisty. Użytkownik nie może na przykład usunąć filmu z playlisty przesłanych filmów ani samej playlisty.W każdym przypadku ten błąd zwraca kod odpowiedzi HTTP
400
(nieprawidłowy żądanie). -
Błędy
watchHistoryNotAccessible
iwatchLaterNotAccessible
metodyplaylistItems.list
zostały usunięte z dokumentacji. Chociaż historia oglądania i listy „Oglądaj później” użytkowników nie są dostępne przez interfejs API, te konkretne 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 przesyłanych przez wbudowany odtwarzacz YouTube. Użytkownik jest odpowiedzialny za wszelkie dane użytkownika, które są wysyłane do nas za pomocą osadzonego odtwarzacza YouTube, zanim użytkownik wejdzie w interakcję z odtwarzaczem, aby wyrazić zamiar odtworzenia treści. Możesz ograniczyć dane udostępniane YouTube przed tym, jak użytkownik wejdzie w interakcję z odtwarzaczem, ustawiając wartość false dla autoodtwarzania.
- Nowy rozdział III.E.4.j dotyczy sprawdzania, czy treści są przeznaczone dla dzieci (MFK), zanim zostaną umieszczone w witrynach i aplikacjach. Użytkownik jest odpowiedzialny za sprawdzanie, czy filmy, które umieszcza w kliencie interfejsu API, są przeznaczone dla dzieci, oraz za odpowiednie traktowanie danych zbieranych z wbudowanego odtwarzacza. Dlatego przed umieszczeniem treści w dowolnym umieszczonym odtwarzaczu YouTube za pomocą klienta API należy sprawdzić stan treści za pomocą usługi YouTube Data API.
Nowy przewodnik Znajdowanie stanu „przeznaczony dla dzieci” filmu wyjaśnia, jak sprawdzić stan „przeznaczony dla dzieci” filmu za pomocą usługi YouTube Data API.
W związku z tymi zmianami do dokumentacji parametrów wbudowanego odtwarzacza dodaliśmy przypomnienie, że jeśli włączysz automatyczne odtwarzanie, odtwarzanie rozpocznie się bez udziału użytkownika, a gromadzenie i udostępnianie danych o odtwarzaniu nastąpi po załadowaniu strony.
8 października 2020 r.
Ta aktualizacja obejmuje 3 drobne zmiany dotyczące zasobu channel
:
- Obiekt
snippet.thumbnails
, który identyfikuje miniatury kanału, może być pusty w przypadku nowo utworzonych kanałów i może zająć do 1 dnia. - Właściwość
statistics.videoCount
odzwierciedla liczbę publicznych filmów na kanale, nawet jeśli są one dostępne tylko dla właścicieli. Takie działanie jest zgodne z liczbami wyświetleń widocznymi na stronie YouTube. - Słowa kluczowe kanału, które są identyfikowane w usługach
brandingSettings.channel.keywords
, mogą zostać obcięte, jeśli ich długość przekracza maksymalną dozwoloną liczbę znaków (500) lub jeśli zawierają nieotagowane cudzysłowe ("
). Pamiętaj, że limit 500 znaków nie jest limitem na słowo kluczowe, lecz łączną liczbą znaków wszystkich słów kluczowych. Takie zachowanie jest zgodne z działaniem w witrynie YouTube.
9 września 2020 r.
Uwaga: to jest ogłoszenie o wycofaniu.
Ta aktualizacja obejmuje te zmiany w interfejsie API: Wszystkie zmiany zaczną obowiązywać 9 września 2020 r., czyli w dniu publikacji tego ogłoszenia. Z tego względu deweloperzy nie powinni już korzystać z żadnych funkcji interfejsu API wymienionych poniżej.
-
Te zasoby, metody, parametry i właściwości zasobów API są wycofane i przestaną działać od daty publikacji tego ogłoszenia:
- 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
- Właściwości zasobu
-
Odpowiedzi interfejsu API dla metody
channels.list
nie zawierają już właściwościprevPageToken
, jeśli żądanie interfejsu API ustawia parametrmanagedByMe
natrue
. Ta zmiana nie ma wpływu na właściwośćprevPageToken
w przypadku innych żądańchannels.list
ani na właściwośćnextPageToken
w przypadku żadnych żądań. -
W 11 sierpnia 2016 r. ogłoszono, że właściwości
contentDetails.relatedPlaylists.watchLater
icontentDetails.relatedPlaylists.watchHistory
zasobuchannel
zostaną wycofane. Obsługa tych playlist przez metodęplaylistItems.insert
iplaylistItems.delete
została również całkowicie wycofana, a te dwie właściwości zostały usunięte z dokumentacji. -
Parametr
mySubscribers
metodychannels.list
, który został ogłoszony jako nieaktualny 30 lipca 2013 r., został usunięty z dokumentacji. Aby pobrać listę subskrybentów kanału uwierzytelnionego użytkownika, użyj metodysubscriptions.list
i jej parametrumySubscribers
. -
Obiekt
invideoPromotion
zasobuchannel
i wszystkie jego usługi podrzędne, które zostały wycofane 27 listopada 2017 r., zostały usunięte z dokumentacji.
29 lipca 2020 r.
Uprościliśmy proces naliczania limitu żądań do interfejsu API, usuwając dodatkowy koszt związany z parametrem part
. Od teraz będziemy obciążać tylko kosztem podstawowym wywołaną metodę. Więcej informacji o uproszczonej kwocie docelowej znajdziesz tutaj.
W efekcie większość wywołań interfejsu API będzie kosztować nieco mniej, a niektóre nadal będą mieć taki sam koszt. Ta zmiana nie powoduje wzrostu kosztów wywołań interfejsu API. Ogólnie rzecz biorąc, przydzielone limity, które możesz sprawdzić w konsoli Google Cloud, będą nieco większe.
Zdecydowanie zalecamy wszystkim deweloperom przeprowadzenie audytu zgodności swoich projektów, aby zapewnić sobie ciągły dostęp do usług interfejsu API YouTube.
Ten wpis w historii zmian został pierwotnie opublikowany 20 lipca 2020 r.
28 lipca 2020 r.
Wszystkie filmy przesłane za pomocą punktu końcowego videos.insert
z niezweryfikowanych projektów API utworzonych po 28 lipca 2020 roku będą dostępne tylko w trybie prywatnym. Aby znieść to ograniczenie, każdy projekt musi przejść audyt, który potwierdzi zgodność z Warunkami korzystania z usługi.
Twórcy, którzy do przesyłania filmów używają niezweryfikowanego klienta API, otrzymają e-maila z informacją, że ich film został zablokowany jako prywatny i że mogą uniknąć tego ograniczenia, korzystając z oficjalnego lub zweryfikowanego klienta.
Ta zmiana nie ma obecnie wpływu na projekty interfejsu API utworzone przed 28 lipca 2020 r. Zdecydowanie zalecamy jednak, aby wszyscy deweloperzy przeprowadzili audyt zgodności swoich projektów, aby zapewnić sobie ciągły dostęp do usług interfejsu API YouTube.
21 lipca 2020 r.
[Zaktualizowano 28 lipca 2020 r.] Aktualizacja dokumentacji, do której odwołuje się ten wpis w historii zmian, została opublikowana ponownie 28 lipca 2020 r.
Wczoraj opublikowaliśmy zaktualizowaną dokumentację dotyczącą procesu naliczania limitu. Ze względu na nieprzewidziane okoliczności zmiana limitu nie weszła jeszcze w życie. W oparciu o to dokumentacja została przywrócona w celu zapewnienia dokładności. Aby uniknąć nieporozumień, usunęliśmy z historii zmian wpis wyjaśniający tę zmianę. W najbliższej przyszłości zostanie on ponownie opublikowany.
7 lipca 2020 r.
Uwaga: to jest ogłoszenie o wycofaniu.
Parametry autoLevels
i stabilize
metody videos.insert
zostały wycofane i usunięte z dokumentacji. Ich wartości są ignorowane i nie wpływają na sposób przetwarzania nowo przesłanych filmów.
15 czerwca 2020 r.
Nowy przewodnik Zgodność z zasadami dla deweloperów YouTube zawiera wskazówki i przykłady, które pomogą Ci zadbać o to, aby klienci interfejsu API przestrzegali określonych części Warunków i zasad (Warunków korzystania z interfejsu API).
Te wskazówki zawierają informacje o tym, jak YouTube egzekwuje określone aspekty Warunków korzystania z usługi API, ale nie zastępują żadnych dotychczasowych dokumentów. Przewodnik zawiera odpowiedzi na niektóre z najczęstszych pytań zadawanych przez deweloperów podczas audytów zgodności z wymaganiami API. Mamy nadzieję, że ułatwi Ci to proces tworzenia funkcji, ponieważ pomoże Ci zrozumieć, jak interpretujemy i egzekwujemy nasze zasady.
4 czerwca 2020 r.
Uwaga: ta wiadomość jest aktualizacją wcześniejszego ogłoszenia o wycofaniu.
Funkcja wiadomości o kanale została całkowicie wycofana. Ta zmiana została ogłoszona 17 kwietnia 2020 r. i w tym momencie weszła w życie. W związku z tym metoda activities.insert
nie jest już obsługiwana, a metoda activities.list
nie zwraca już biuletynów kanału. Więcej informacji znajdziesz w Centrum pomocy YouTube.
17 kwietnia 2020 r.
Uwaga: to jest ogłoszenie o wycofaniu.
YouTube wycofuje funkcję wiadomości na kanale. W związku z tym metoda activities.insert
zostanie wycofana, a metoda activities.list
przestanie zwracać informacje o informacjach o kanałach. Zmiany te 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 wspierającego kanał w YouTube. Wspierający regularnie finansowo wspierają twórcę i otrzymują specjalne korzyści. Na przykład wspierający mogą korzystać z czatu, gdy twórca włączy tryb tylko dla wspierających.Ten zasób zastępuje zasób
sponsor
, który jest opisany w dokumentacji interfejsu YouTube Live Streaming API. Zasóbsponsor
został wycofany, a klienci interfejsu API powinni zaktualizować wywołania metodysponsors.list
, aby zamiast niej używać metodymembers.list
. -
Nowy zasób
membershipsLevel
identyfikuje poziom cen zarządzany przez twórcę, który autoryzował żądanie interfejsu API. MetodamembershipsLevels.list
pobiera listę wszystkich poziomów członkostwa twórcy.
-
10 stycznia 2020 r.
Interfejs API obsługuje teraz możliwość identyfikacji treści skierowanych do dzieci, które YouTube nazywa „przeznaczonymi dla dzieci”. Więcej informacji na temat treści 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 i widzom identyfikację treści przeznaczonych dla dzieci:
-
Właściwość
selfDeclaredMadeForKids
umożliwia twórcom treści określenie, czy kanał lub film jest przeznaczony dla dzieci.
W przypadku kanałów tę właściwość można ustawić podczas wywołania metodychannels.update
. W przypadku filmów tę właściwość można ustawić podczas wywołania metodyvideos.insert
lubvideos.update
.
Pamiętaj, że ta właściwość jest uwzględniana tylko w odpowiedziach interfejsu API, które zawierają zasobychannel
lubvideo
, jeśli właściciel kanału autoryzował żądanie interfejsu API. -
Właściwość
madeForKids
umożliwia każdemu użytkownikowi pobranie informacji o tym, czy kanał lub film jest przeznaczony dla dzieci. Stan może być na przykład określany na podstawie wartości właściwościselfDeclaredMadeForKids
. Więcej informacji o określaniu odbiorców kanału, filmów lub transmisji znajdziesz w Centrum pomocy YouTube.
Zaktualizowaliśmy też Warunki korzystania z usług interfejsu API YouTube oraz zasady dla deweloperów. Więcej informacji znajdziesz w historii zmian Warunków korzystania z usług YouTube API. Zmiany w Warunkach korzystania z usługi YouTube API i Zasadach dla deweloperów wejdą w życie 10 stycznia 2020 r. czasu pacyficznego.
10 września 2019 r.
Dokumentacja referencyjna interfejsu API została zaktualizowana, aby odzwierciedlić zmianę sposobu raportowania liczby subskrybentów w YouTube i w odpowiedziach interfejsu API. W efekcie tej zmiany liczba subskrybentów zwracana przez interfejs YouTube Data API jest zaokrąglana w dół do 3 cyfr znaczących, jeśli liczba subskrybentów przekracza 1000. Ta zmiana dotyczy właściwości statistics.subscriberCount zasobu channel
.
Uwaga: ta zmiana ma wpływ na wartość tej właściwości nawet wtedy, gdy użytkownik wysyła autoryzowane żądanie dotyczące danych o swoim kanale. Właściciele kanałów nadal mogą 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
.
Tabela poniżej zawiera przykłady zaokrąglenia liczby subskrybentów w odpowiedziach interfejsu API oraz skrócone w innych publicznie widocznych interfejsach użytkownika YouTube:
Przykładowa liczba subskrybentów | YouTube Data API | Interfejsy YouTube widoczne publicznie |
---|---|---|
1234 | 1230 | 1,23 tys. |
12 345 | 12300 | 12,3 tys. |
123 456 | 123000 | 123 tys. |
1234567 | 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 referencyjna interfejsu API została zaktualizowana, aby lepiej wyjaśniać typowe zastosowania poszczególnych metod i zapewnić dynamiczne, wysokiej jakości przykłady kodu w widżecie Eksplorator interfejsów API. Przykład znajdziesz w dokumentacji metody
channels.list
. Na stronach z opisami metod interfejsu API znajdziesz teraz 2 nowe elementy:-
Za pomocą widżetu Eksplorator interfejsów API możesz wybierać zakresy autoryzacji, wpisywać przykładowe wartości parametrów i właściwości, a potem wysyłać rzeczywiste żądania interfejsu API i obserwować ich odpowiedzi. Widget umożliwia też wyświetlanie widoku pełnoekranowego, w którym znajdziesz kompletne przykłady kodu, które dynamicznie aktualizują się, aby uwzględniać wprowadzone przez Ciebie zakresy i wartości.
-
W sekcji Typowe przypadki użycia opisano co najmniej 1 typowy przypadek użycia metody wyjaśnionej na stronie. Możesz na przykład wywołać metodę
channels.list
, aby pobrać dane o konkretnym kanale lub o kanale bieżącego użytkownika.Za pomocą linków w tej sekcji możesz wypełnić Eksplorator interfejsów API przykładowymi wartościami odpowiadającymi Twojemu przypadkowi użycia lub otworzyć Eksplorator interfejsów API na pełnym ekranie z już wypełnionymi wartościami. Te zmiany mają na celu ułatwienie Ci wyświetlania przykładów kodu, które można bezpośrednio zastosować w przypadku użycia, który chcesz wdrożyć w swojej aplikacji.
Przykładowe fragmenty kodu są obecnie obsługiwane w przypadku języków Java, JavaScript, PHP, Python i curl.
-
-
Zaktualizowaliśmy też narzędzie Przykłady kodu, które teraz ma nowy interfejs z tymi samymi funkcjami, co opisano powyżej. Za pomocą tego narzędzia możesz zapoznać się z przypadkami użycia różnych metod, załadować wartości do Eksploratora interfejsów API i otworzyć Eksplorator interfejsów API na pełnym ekranie, aby uzyskać przykłady kodu w językach Java, JavaScript, PHP i Python.
W związku z tą zmianą usunęliśmy strony, na których wcześniej były dostępne przykłady kodu w językach Java, JavaScript, PHP i Python.
-
Zaktualizowano krótkie przewodniki po Java, JavaScript, PHP i Pythonie. Zaktualizowane przewodniki zawierają instrukcje uruchamiania jednego przykładu za pomocą klucza interfejsu API, a drugiego – za pomocą identyfikatora klienta OAuth 2.0, przy użyciu przykładowego kodu z narzędzia APIs Explorer.
Pamiętaj, że opisane powyżej zmiany zastępują interaktywne narzędzie, które zostało dodane do dokumentacji interfejsu API w 2017 roku.
9 lipca 2018 r.
Ta aktualizacja zawiera następujące zmiany:
-
Definicja właściwości
snippet.thumbnails
zasobuchannel
została zaktualizowana, aby wskazać, że podczas wyświetlania miniatur w aplikacji kod powinien używać adresów URL obrazów dokładnie tak, jak 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 r. adresy URL miniatur kanałów będą dostępne tylko w domenie
https
, w której występują w odpowiedziach interfejsu API. Po tym czasie, jeśli aplikacja będzie próbować wczytywać obrazy YouTube z domenyhttp
, możesz zobaczyć w niej uszkodzone obrazy. -
Uwaga: to jest ogłoszenie o wycofaniu.
Właściwość
recordingDetails.location.altitude
zasobuvideo
została wycofana. Nie ma gwarancji, że filmy zwrócą wartości dla tej właściwości. Podobnie, nawet jeśli żądania interfejsu API spróbują ustawić wartość tej właściwości, może się zdarzyć, że przychodzące dane nie zostaną zapisane.
22 czerwca 2018 r.
Przewodnik po wdrożeniu, który wcześniej nazywał się Przewodnikiem po wdrożeniu i migracji, został zaktualizowany. Usunięto z niego instrukcje migracji z interfejsu API w wersji 2 na interfejs API w wersji 3. Usunęliśmy też instrukcje dotyczące funkcji, które zostały wycofane z interfejsu API 3, np. ulubionych filmów.
27 listopada 2017 r.
Ta aktualizacja zawiera następujące zmiany:
-
Uwaga: to jest ogłoszenie o wycofaniu.
YouTube usuwa obsługę funkcji Polecany film i Polecana strona internetowa, które są obsługiwane w interfejsie API za pomocą obiektu
invideoPromotion
zasobuchannel
. W związku z tym ten obiekt wraz ze wszystkimi usługami podrzędnymi zostaje wycofany.Dane
invideoPromotion
możesz pobierać i ustawiać do 14 grudnia 2017 r. Po tej dacie:- Próby pobrania części
invideoPromotion
podczas wywołania funkcjichannels.list
zwrócą pustą wartośćinvideoPromotion
lub w ogóle nie zwrócą żadnych danychinvideoPromotion
. - Do 27 maja 2018 r. próby zaktualizowania danych
invideoPromotion
w wywołaniuchannels.update
będą zwracać odpowiedź z pozytywnym wynikiem, ale będą traktowane jako nieoperacyjne, co oznacza, że nie będą faktycznie przeprowadzać aktualizacji.
Po 27 maja 2018 r. te żądania mogą zwracać komunikaty o błędach, które wskazują na przykład, że
invalidPromotion
jest nieprawidłową częścią. - Próby pobrania części
16 listopada 2017 r.
Ta aktualizacja zawiera następujące zmiany:
-
Interaktywne narzędzie do tworzenia fragmentów kodu obsługuje teraz przykłady kodu Node.js. Przykłady są też widoczne w dokumentacji niemal wszystkich metod interfejsu API, np.
channels.list
.Można je dostosowywać, aby uzyskać punkt wyjścia do tworzenia aplikacji Node.js w różnych zastosowaniach. Funkcja jest podobna do kodu w przewodniku Szybki start Node.js. Jednak przykłady zawierają kilka funkcji pomocniczych, które nie pojawiają się w przewodniku:
- Funkcja
removeEmptyParameters
przyjmuje listę par klucz-wartość odpowiadających parametrom żądania interfejsu API i usuwa parametry, które nie mają wartości. - Funkcja
createResource
przyjmuje listę par klucz-wartość odpowiadających właściwościom w zasobie interfejsu API. Następnie konwertuje właściwości na obiekt JSON, który można używać w operacjachinsert
iupdate
. Przykład poniżej przedstawia zestaw nazw i wartości właściwości oraz obiekt JSON, który kod utworzy dla nich:# Key-value pairs: {'id': 'ABC123', 'snippet.title': 'Resource title', 'snippet.description': 'Resource description', 'status.privacyStatus': 'private'} # JSON object: { 'id': 'ABC123', 'snippet': { 'title': 'Resource title', 'description': 'Resource description', }, 'status': { 'privacyStatus': 'private' } }
Wszystkie te przykłady zostały zaprojektowane tak, aby można je było pobrać i uruchamiać lokalnie. Więcej informacji o wstępnych wymaganiach dotyczących uruchamiania pełnych przykładów kodu lokalnie znajdziesz w instrukcjach narzędzia do tworzenia fragmentów kodu.
- Funkcja
25 października 2017 r.
Ta aktualizacja zawiera następujące zmiany:
-
Przykłady kodu Pythona w narzędzie interakcji z fragmentem kodu zostały zaktualizowane, aby używały bibliotek
google-auth
igoogle-auth-oauthlib
zamiast bibliotekioauth2client
, która została wycofana.Oprócz tej zmiany narzędzie udostępnia teraz pełne przykłady kodu dla zainstalowanych aplikacji Python i aplikacji serwera WWW Python, które korzystają z nieco innych przepływów autoryzacji. Aby zobaczyć pełne przykłady (i tą zmianę):
- Otwórz interaktywne narzędzie do tworzenia fragmentów kodu lub dokumentację dowolnej metody interfejsu API, np. metody
channels.list
. - Nad przykładami kodu kliknij kartę
Python
. - Kliknij przełącznik nad kartami, aby przełączyć się z fragmentu na pełną próbkę.
- Na karcie powinien teraz wyświetlić się kompletny przykład kodu, który korzysta z procesu autoryzacji
InstalledAppFlow
. Opis nad przykładem wyjaśnia to i zawiera link do przykładu aplikacji serwera WWW. - Kliknij link, aby przejść do przykładu serwera WWW. Przykładowa aplikacja korzysta z platformy aplikacji internetowej Flask i z innego procesu autoryzacji.
Wszystkie te przykłady zostały zaprojektowane tak, aby można je było pobrać i uruchamiać lokalnie. Jeśli chcesz uruchomić przykłady, zapoznaj się z instrukcjami uruchamiania pełnych przykładów kodu lokalnie w instrukcjach narzędzia do tworzenia fragmentów kodu.
- Otwórz interaktywne narzędzie do tworzenia fragmentów kodu lub dokumentację dowolnej metody interfejsu API, np. metody
29 sierpnia 2017 r.
Ta aktualizacja zawiera następujące zmiany:
- Definicja parametru
forContentOwner
metodysearch.list
została zaktualizowana, aby uwzględnić informację, że jeśli parametr ma wartośćtrue
, parametrtype
musi mieć wartośćvideo
. - Definicja parametru
regionCode
metodysearch.list
została zaktualizowana, aby wyjaśnić, że parametr ten ogranicza wyniki wyszukiwania do filmów, które można wyświetlić w określonym regionie. - YouTube zaktualizował logo i ikony swojej marki. Nowe logo „Opracowane z YouTube” można pobrać ze strony wskazówek dotyczących marki. Na tej stronie znajdziesz też inne nowe logo i ikony YouTube, które możesz pobrać z strony marki YouTube.
24 lipca 2017 r.
Ta aktualizacja zawiera następujące zmiany:
- Na platformie iOS jest dostępny nowy przewodnik szybkiego startu interfejsu YouTube Data API. Przewodnik ten wyjaśnia, jak korzystać z interfejsu YouTube Data API w prostej aplikacji na iOS napisanej w języku Objective-C lub Swift.
- Interaktywne narzędzie do tworzenia fragmentów kodu dla interfejsu YouTube Data API zawiera teraz dokumentację, która wyjaśnia niektóre z jego funkcji:
- Wykonywanie żądań do interfejsu API
- przełączać się między fragmentami kodu a pełnymi przykładami kodu,
- Korzystanie z funkcji szablonowych
- wczytywanie istniejących zasobów (w przypadku metod aktualizacji);
Uwaga: narzędzie jest też dostępne w dokumentacji metod interfejsu API (przykład).
1 czerwca 2017 r.
Ta aktualizacja zawiera następujące zmiany:
-
Uwaga: to jest ogłoszenie o wycofaniu.
Wycofujemy te właściwości zasobu
video
: Te właściwości będą obsługiwane do 1 grudnia 2017 r., ale nie ma gwarancji, że do tego czasu filmy będą zwracać wartości dla tych właściwości. Podobnie żą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 przychodzące dane nie zostaną zapisane.
17 maja 2017 roku
Ta aktualizacja zawiera następujące zmiany:
-
Dokumentacja referencyjna interfejsu API została zaktualizowana, aby fragmenty kodu były bardziej dostępne i interaktywne. Strony, na których znajdziesz opisy metod interfejsu API, takie jak
channels.list
czyvideos.rate
, zawierają teraz interaktywne narzędzie, które umożliwia wyświetlanie i dostosowywanie fragmentów kodu w językach Java, JavaScript, PHP, Python, Ruby, Apps Script i Go.W przypadku każdej metody narzędzie wyświetla fragmenty kodu dla co najmniej 1 przypadku użycia. Każdy z nich opisuje typowy sposób wywołania danej metody. Możesz na przykład wywołać metodę
channels.list
, aby pobrać dane o konkretnym kanale lub kanale bieżącego użytkownika.Możesz też wchodzić w interakcje z przykładowymi kodami:
-
Zmień wartości parametrów i właściwości, a fragmenty kodu zostaną zaktualizowane dynamicznie, aby odzwierciedlać podane przez Ciebie wartości.
-
Przełączaj się między fragmentami kodu a pełnymi przykładami. Fragment kodu pokazuje część kodu, która wywołuje metodę interfejsu API. Pełny przykład zawiera ten fragment kodu oraz kod szablonowy do autoryzacji i wysyłania żądań. Pełne próbki można kopiować i uruchamiać z poziomu wiersza poleceń lub lokalnego serwera internetowego.
-
Wykonywanie żądań przez kliknięcie przycisku. (aby wykonywać żądania, musisz autoryzować narzędzie do wywoływania interfejsu API w Twoim imieniu).
Pamiętaj, że to narzędzie zastąpiło narzędzie APIs Explorer na stronach, na których jest dostępne. (na każdej stronie wyświetlany jest link, dzięki któremu możesz też wczytać żądanie, nad którym pracujesz, w narzędziu APIs Explorer).
-
-
Zaktualizowaliśmy też narzędzie Fragmenty kodu interfejsu Data API, które teraz ma nowy interfejs użytkownika z tymi samymi funkcjami, co opisano powyżej. Najważniejsze nowe funkcje dostępne na tej stronie:
- Obsługa żądań interfejsu API, które zapisują dane.
- Obsługa przykładów w Javie.
- bardziej elastyczny i wszechstronny kod szablonowy do autoryzacji użytkowników i tworzenia żądań interfejsu API;
27 kwietnia 2017 r.
Ta aktualizacja zawiera następujące zmiany:
- Nowe przewodniki po szybkim uruchamianiu aplikacji wyjaśniają, jak skonfigurować prostą aplikację, która wysyła żądania do interfejsu YouTube Data API. Obecnie dostępne są przewodniki dotyczące 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 treści kanału. Adresy URL odpowiadają identyfikatorom tematów zwróconym w przypadku właściwościtopicDetails.topicIds[]
zasobu. - Nowa właściwość
contentDetails.videoPublishedAt
zasobuplaylistItem
wskazuje czas, w którym film został opublikowany 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 treść filmu. W przypadku zasobówvideo
adresy URL odpowiadają identyfikatorom tematów zwracanym w przypadku właściwościtopicDetails.relevantTopicIds[]
zasobu. - Nowa właściwość
contentDetails.contentRating.mpaatRating
zasobuvideo
wskazuje ocenę przypisaną zwiastunowi lub wersji próbnej filmu przez Motion Picture Association of America.
27 lutego 2017 r.
Zgodnie z ogłoszeniem z 11 sierpnia 2016 r. YouTube zastąpił listę obsługiwanych identyfikatorów tematów listą tematycznych rekomendacji. Pełna lista obsługiwanych identyfikatorów tematów znajduje się we właściwościach topicDetails
zasobów channel
i video
oraz w parametrze topicId
metody search.list
.
Pamiętaj, że w listach kuratorskich wprowadzono kilka zmian:
- Te tematy zostały dodane jako podtemat
Society
:Nazwa identyfikator tematu, Firma /m/09s1f
Zdrowie /m/0kt51
Wojsko /m/01h6rj
Polityka /m/05qt0
Religia /m/06bvp
- Temat
Animated cartoon
, który był wcześniej podrzędnym tematemEntertainment
, został usunięty. - Temat
Children's music
, który był wcześniej podrzędnym tematemMusic
, został usunięty.
W rezultacie tej zmiany tematy związane z filmem są teraz zawsze zwracane w wartości właściwości topicDetails.relevantTopicIds[]
zasobu video
.
29 listopada 2016 r.
Ta aktualizacja zawiera następujące zmiany:
-
Od 10 lutego 2017 r. lista obsługiwanych identyfikatorów tematów ulegnie 3 małym zmianom:
- Kategoria
Professional wrestling
, która wcześniej była elementem podrzędnym kategoriiSports
, jest teraz elementem podrzędnym kategoriiEntertainment
. - Nowa jest kategoria
TV shows
, która jest elementem podrzędnym wEntertainment
. - Kategoria
Health
, która była wcześniej podrzędna względem kategoriiLifestyle
, 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ą, np.Tennis
, będzie też powiązany z kategorią nadrzędną (Sports
). - Kategoria
10 listopada 2016 r.
Ta aktualizacja zawiera następujące zmiany:
-
Jak informowaliśmy 11 sierpnia 2016 r., wycofanie Freebase i interfejsu Freebase API wymaga kilku zmian związanych z identyfikatorami tematów. Identyfikatory tematów wskazują tematy powiązane z zasobami
channel
ivideo
. Możesz też użyć parametru wyszukiwaniatopicId
, aby znaleźć kanały lub filmy związane z konkretnym tematem.10 lutego 2017 r. YouTube zacznie zwracać mały zestaw identyfikatorów tematów zamiast dotychczas zwracanego znacznie bardziej szczegółowego zestawu identyfikatorów. Pamiętaj też, że nie ma gwarancji, że kanały i filmy będą powiązane z tematami, co jest zgodne z obecnym działaniem interfejsu API.
Aby umożliwić przygotowanie klientów interfejsu API na te zmiany, zaktualizowaliśmy definicje tych parametrów i właściwości interfejsu API, aby zawierały listę identyfikatorów tematów, które będą obsługiwane po tej dacie. Pamiętaj, że lista kategorii jest taka sama dla wszystkich usług.
- Właściwość
topicDetails.topicIds[]
zasobuchannel
. - Właściwość
topicDetails.relevantTopicIds[]
zasobuvideo
. - Parametr
topicId
metodysearch.list
.
- Właściwość
-
Uwaga: to jest ogłoszenie o wycofaniu.
Wycofujemy te właściwości:
- 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 r. ta usługa 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ż usługa Freebase została wycofana, z dokumentacji usunięto przewodnik Wyszukiwanie za pomocą tematów Freebase. W tym przewodniku znajdziesz przykłady kodu, które pokazują, jak aplikacja będzie działać z Freebase API.
Z dokumentacji metody
search.list
usunięto też 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 odtwarzacza, który odtwarza film. Nowe właściwościplayer.embedHeight
iplayer.embedWidth
określają wymiary wbudowanego odtwarzacza. Te właściwości są zwracane tylko wtedy, gdy żądanie interfejsu API określa wartość co najmniej jednego z parametrówmaxHeight
lubmaxWidth
. Te 2 nowe parametry są opisane dalej w tym wpisie historii zmian. -
Nowa właściwość
hasCustomThumbnail
wskazuje, czy przesyłający film udostępnił niestandardową miniaturę filmu. Pamiętaj, że ta właściwość jest widoczna tylko dla osoby, która przesłała film. -
Nowy tag
fpbRatingReasons[]
zawiera powody, dla których film otrzymał ocenę FPB (RPA). -
Nowy tag
mcstRating
wskazuje ocenę, jaką otrzymał film w Wietnamie.
-
-
Metoda
videos.list
obsługuje 2 nowe parametry:maxHeight
imaxWidth
. Podczas pobierania częściplayer
zasobówvideo
możesz użyć jednego lub obu parametrów.Domyślna wysokość
<iframe>
zwracana w usłudzeplayer.embedHtml
to 360 pikseli. Szerokość dostosowuje się do proporcji filmu, dzięki czemu wbudowany odtwarzacz nie ma czarnych pasów otaczających film. Jeśli na przykład format obrazu filmu to 16:9, szerokość odtwarzacza będzie wynosić 640 pikseli.Dzięki nowym parametrom możesz określić, że zamiast domyślnych wymiarów kod do wklejania powinien używać wysokości lub szerokości odpowiedniej dla układu aplikacji. Serwer interfejsu API odpowiednio dostosowuje wymiary odtwarzacza, aby upewnić się, że nie ma czarnych pasów wokół filmu. Pamiętaj, że oba parametry określają maksymalne wymiary wbudowanego odtwarzacza. Dlatego jeśli podasz oba parametry, jeden wymiar może być mniejszy niż maksymalna dozwolona wartość tego wymiaru.
Załóżmy na przykład, że film ma format 16:9. Jeśli parametr
maxHeight
lubmaxWidth
nie jest ustawiony, tagplayer.embedHtml
będzie zawierać odtwarzacz 640 x 360.- Jeśli parametr
maxHeight
ma wartość720
, a parametrmaxWidth
nie jest ustawiony, interfejs API zwróci odtwarzacz o rozdzielczości 1280 x 720. - Jeśli parametr
maxWidth
ma wartość960
, a parametrmaxHeight
nie jest ustawiony, interfejs API zwróci odtwarzacz o wymiarach 960 x 540. - Jeśli parametr
maxWidth
ma wartość960
, a parametrmaxHeight
– wartość450
, interfejs API zwróci odtwarzacz o wymiarach 800 x 450.
Nowe właściwości
player.embedHeight
iplayer.embedWidth
, które zostały opisane powyżej, określają wymiary odtwarzacza. - Jeśli parametr
-
-
Aktualizacje dotychczasowych metod, właściwości i parametrów
-
Opis zasobu
channelSection
został zaktualizowany, aby wskazać, że kanał może utworzyć maksymalnie 10 półek bez ustawiania danych kierowania i maksymalnie 100 półek z danymi kierowania.Ponadto właściwość
targeting
zasobuchannelSection
została zaktualizowana, aby odzwierciedlić fakt, że opcje kierowania można ustawiać tylko za pomocą interfejsu API. Opcje kierowania są usuwane, jeśli sekcja kanału zostanie zmodyfikowana za pomocą interfejsu użytkownika w YouTube. -
Definicja właściwości
snippet.name
zasobui18nLanguage
została poprawiona, aby odzwierciedlała fakt, że wartość reprezentuje nazwę języka zapisaną w języku określonym przez parametrhl
metodyi18nLanguage.list
. -
Właściwość
contentDetails.note
zasobuplaylistItem
została zaktualizowana, aby wskazać, że jej maksymalna długość to 280 znaków. -
Właściwości
contentDetails.startAt
icontentDetails.endAt
zasobuplaylistItem
zostały wycofane. Te pola są ignorowane, jeśli są ustawione w żądaniachplaylistItems.insert
lubplaylistItems.update
. -
Metody
playlistItems.delete
iplaylistItems.update
obsługują teraz parametronBehalfOfContentOwner
, który jest już obsługiwany w kilku innych metodach. Żądania korzystające z tej metody muszą też być autoryzowane za pomocą tokena, który zapewnia dostęp do zakresuhttps://www.googleapis.com/auth/youtubepartner
. -
Parametry
publishedBefore
ipublishedAfter
metodysearch.list
zostały zaktualizowane, aby wskazywać, że wartości parametrów są ujęte w szerzszym zakresie. Jeśli na przykład parametrpublishedBefore
jest ustawiony, interfejs API zwraca zasoby utworzone przed lub w określonym czasie. -
Właściwość
contentDetails.contentRating.grfilmRating
zasobuvideo
obsługuje 3 dodatkowe wartości:grfilmK12
,grfilmK15
igrfilmK18
. -
W opisie metody
videos.insert
dodano informację, że maksymalny rozmiar przesyłanych filmów został zwiększony z 64 GB do 128 GB.
-
-
Nowe i zmienione błędy
-
Interfejs API obsługuje te nowe błędy:
Typ błędu Szczegóły błędu Opis forbidden (403)
homeParameterDeprecated
Metoda activities.list
zwraca ten błąd, aby wskazać, że dane o aktywności na stronie głównej użytkownika nie są dostępne za pomocą tego interfejsu API. Ten błąd może wystąpić, jeśli w nieautoryzowanym żądaniu parametrhome
ma wartośćtrue
.invalidValue (400)
invalidContentDetails
Metoda playlistItems.insert
zwraca ten błąd, aby wskazać, że obiektcontentDetails
w żądaniu jest nieprawidłowy. Ten błąd może wystąpić, jeśli polecontentDetails.note
zawiera więcej niż 280 znaków.forbidden (403)
watchHistoryNotAccessible
Metoda playlistItems.list
zwraca ten błąd, aby wskazać, że żądanie próbowało pobrać elementy playlisty „historia oglądania”, których nie można pobrać za pomocą interfejsu API.forbidden (403)
watchLaterNotAccessible
Metoda playlistItems.list
zwraca ten błąd, aby wskazać, że próba pobrania elementów playlisty „oglądaj później” zakończyła się niepowodzeniem, ponieważ nie można ich pobrać za pomocą interfejsu API.badRequest (400)
uploadLimitExceeded
Metoda videos.insert
zwraca ten błąd, aby wskazać, że kanał przekroczył liczbę filmów, które może przesłać.forbidden (403)
forbiddenEmbedSetting
Metoda videos.update
zwraca ten błąd, aby wskazać, że żądanie interfejsu API próbuje ustawić nieprawidłowy parametr umieszczania filmu. Pamiętaj, że niektóre kanały mogą nie mieć uprawnień do udostępniania odtwarzaczy do transmisji na żywo. Więcej informacji znajdziesz w Centrum pomocy YouTube. -
Metoda
playlistItems.insert
nie zwraca już błędu, jeśli wstawisz na playliście duplikat filmu. Ten błąd występował wcześniej w przypadku niektórych playlist, takich jak ulubione filmy, które nie zezwalały na duplikaty, ale nie są już obsługiwane. Ogólnie rzecz biorąc, na playlistach można umieszczać duplikaty filmów.
-
-
Inne aktualizacje
-
Wprowadziliśmy zmianę w historii zmian, która została wprowadzona 15 września 2016 r., aby wyjaśnić, że gdy w odpowiedzi są uwzględnione właściwości
contentDetails.relatedPlaylists.watchHistory
icontentDetails.relatedPlaylists.watchLater
zasobuchannel
, zawsze zawierają one odpowiednio wartościHL
iWL
. Co więcej, te usługi są uwzględniane tylko wtedy, gdy upoważniony użytkownik pobiera dane o swoim kanale.
-
15 września 2016 r.
Ta aktualizacja zawiera następujące zmiany:
-
W historii zmian z 11 sierpnia 2016 r. opisaliśmy kilka zmian związanych z identyfikatorami tematów, m.in. fakt, że od 10 lutego 2017 r. zestaw obsługiwanych identyfikatorów tematów ulegnie zmianie. Lista tematów, które będą obsługiwane, zostanie opublikowana do 10 listopada 2016 roku.
-
Poniższe zmiany zostały wprowadzone. O tych zmianach poinformowaliśmy w ramach aktualizacji historii zmian z 11 sierpnia 2016 roku:
-
Jeśli metoda
activities.list
jest wywoływana z parametremhome
ustawionym natrue
, odpowiedź interfejsu API zawiera elementy podobne do tych, które niezalogowany użytkownik YouTube widzi na stronie głównej.Ta niewielka zmiana ma zapewnić użytkownikom lepsze wrażenia niż zachowanie opisane w historii zmian z 11 sierpnia 2016 r. W tej aktualizacji stwierdziliśmy, że żądania z parametrem
home
zwracają pustą listę. -
Właściwości
contentDetails.relatedPlaylists.watchHistory
icontentDetails.relatedPlaylists.watchLater
zasobuchannel
zawierają teraz odpowiednio wartościHL
iWL
dla wszystkich kanałów.Te właściwości są widoczne tylko dla upoważnionego użytkownika pobierającego dane o swoim kanale. Właściwości zawsze zawierają wartości
HL
iWL
, nawet w przypadku autoryzowanego użytkownika pobierającego dane o swoim kanale. Dlatego identyfikatorów historii oglądania i playlisty Do obejrzenia nie można pobrać za pomocą interfejsu API.Ponadto żądania dotyczące pobierania szczegółów playlisty (
playlists.list
) lub elementów playlisty (playlistItems.list
) z historii oglądania lub listy Do obejrzenia na kanale zwracają teraz puste listy. Dotyczy to nowych wartościHL
iWL
, a także wszystkich identyfikatorów historii oglądania i playlist do obejrzenia później, które Twój klient API może już mieć zapisane.
-
-
Obiekt
fileDetails.recordingLocation
zasobuvideo
i jego właściwości podrzędne nie są już zwracane. Wcześniej te dane (np. nadrzędny obiektfileDetails
) mógł pobrać tylko właściciel filmu.
11 sierpnia 2016 r.
Ta aktualizacja zawiera następujące zmiany:
-
Nowo opublikowane Warunki korzystania z usług interfejsu API YouTube („Zaktualizowane warunki”) omówione szczegółowo na blogu zespołu inżynierów i programistów YouTube zawierają wiele zmian w stosunku do obecnych Warunków korzystania z usługi. Oprócz zaktualizowanych Warunków, które wejdą w życie 10 lutego 2017 r., aktualizacja zawiera kilka dokumentów pomocniczych wyjaśniających zasady, których muszą przestrzegać deweloperzy.
Pełny zestaw nowych dokumentów jest opisany w historii zmian zaktualizowanych Warunków. Ponadto w tej historii zmian będą też opisane przyszłe zmiany Zaktualizowanych Warunków lub dokumentów pomocniczych. Możesz zasubskrybować kanał RSS, który zawiera listę zmian w tej historii zmian, z poziomu linku w tym dokumencie.
-
Wycofanie Freebase i interfejsu Freebase API powoduje kilka zmian związanych z identyfikatorami tematów. Identyfikatory tematów są używane w tych zasobach i metodach interfejsu API:
- Część
topicDetails
zasobuchannel
wskazuje tematy powiązane z kanałem. - Część
topicDetails
zasobuvideo
wskazuje tematy powiązane z filmem. - Parametr
search.list
metodytopicId
umożliwia wyszukiwanie filmów lub kanałów związanych z określonym tematem.
Zmiany w tych funkcjach:
-
Od 10 lutego 2017 r. YouTube będzie zwracać mały zestaw identyfikatorów tematów zamiast znacznie bardziej szczegółowego zestawu identyfikatorów zwracanych do tej pory. Ten zestaw obsługiwanych tematów będzie wskazywał ogólne kategorie, takie jak Sport czy Koszykówka, ale nie będzie identyfikować konkretnych drużyn ani zawodników. Ogłosimy zestaw obsługiwanych tematów, aby umożliwić Ci przygotowanie aplikacji na tę zmianę.
-
Identyfikatory tematów Freebase, które zostały już pobrane, mogą służyć do wyszukiwania treści do 10 lutego 2017 roku. Po upływie tego czasu do wyszukiwania wyników według tematu będzie można jednak używać tylko mniejszego zbioru tematów z poprzedniego punktu.
-
Po 10 lutego 2017 r., jeśli spróbujesz wyszukać wyniki za pomocą identyfikatora tematu, który nie znajduje się w mniejszym zbiorze obsługiwanych identyfikatorów tematów, interfejs API zwróci pusty zbiór wyników.
- Część
-
Od 12 września 2016 r. wycofujemy kilka pól i parametrów interfejsu API:
-
Parametr
home
metodyactivities.list
umożliwia upoważnionemu użytkownikowi pobranie kanału aktywności, który wyświetla się na stronie głównej YouTube. Żądania, które używają tego parametru po 12 września 2016 r., zwrócą pustą listę. -
Właściwości
contentDetails.relatedPlaylists.watchHistory
icontentDetails.relatedPlaylists.watchLater
zasobuchannel
są widoczne tylko dla autoryzowanego użytkownika pobierającego dane o swoim kanale. Po 12 września 2016 r. usługacontentDetails.relatedPlaylists.watchHistory
zwróci wartośćHL
, a usługacontentDetails.relatedPlaylists.watchLater
– wartośćWL
dla wszystkich kanałów.Po 12 września 2016 r. żądania dotyczące pobrania szczegółów playlisty (
playlists.list
) z historii oglądania lub z listy Do obejrzenia na kanale zwrócą pustą listę. Po tym czasie żądania dotyczące pobrania elementów playlisty (playlistItems.list
) z tych playlist również zwrócą pustą listę. Dotyczy to nowych wartościHL
iWL
, a także wszystkich identyfikatorów historii oglądania lub playlist do obejrzenia, które Twój klient interfejsu API może już mieć zapisane. -
Po 12 września 2016 r. obiekt
fileDetails.recordingLocation
zasobuvideo
ani żadne z jego właściwości podrzędnych nie będą już zwracane. Te dane może pobrać tylko właściciel filmu, 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 obecna tylko wtedy, gdy kanał był powiązany z profilem Google+. Po wycofaniu usługi nie będzie ona już uwzględniana w żadnych zasobachchannel
. -
Właściwość
snippet.authorGoogleplusProfileUrl
zasobucomment
została wycofana. Wcześniej usługa była obecna tylko wtedy, gdy kanał był powiązany z profilem Google+. Po wycofaniu usługi nie będzie ona już uwzględniana w żadnych zasobachcomment
.
Po wycofaniu żadne z tych właściwości nie będzie zwracane, dlatego zostały usunięte z odpowiedniej dokumentacji zasobu.
31 maja 2016 r.
Ta aktualizacja zawiera następujące zmiany:
-
Nowy parametr
subscriptions.list
metodysubscriptions.list
pobiera listę subskrybentów kanału uwierzytelnionego użytkownika w odwrotnej kolejności chronologicznej.myRecentSubscribers
Pamiętaj, że nowy parametr obsługuje tylko pobieranie ostatnich 1000 subskrybentów kanału uwierzytelnionego użytkownika. Aby pobrać pełną listę subskrybentów, użyj parametru
mySubscribers
. Ten parametr, który nie zwraca subskrybentów w określonej kolejności, nie ogranicza liczby subskrybentów, których można pobrać. -
Definicja właściwości
snippet.thumbnails.(key)
została zaktualizowana w przypadku zasobów activity, playlistItem, playlist, search result, thumbnail i video, aby wskazać, ż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
-
Definicja parametru
part
metodychannelSection.list
została zaktualizowana, aby uwzględnić, że częśćtargeting
może być pobierana za koszt2
jednostek limitu. -
Metoda
videos.list
zwraca teraz błąd forbidden (403
), gdy źle autoryzowany request próbuje pobrać częścifileDetails
,processingDetails
lubsuggestions
zasobuvideo
. Te elementy są dostępne tylko dla właściciela filmu.
17 maja 2016 r.
Nowe narzędzie Fragmenty kodu interfejsu Data API zawiera krótkie fragmenty kodu przeznaczone do typowych zastosowań interfejsu YouTube Data API. Fragmenty kodu są obecnie dostępne dla wszystkich metod interfejsu API tylko do odczytu w Apps Script, Go, JavaScript, PHP, Python i Ruby.
W przypadku każdej metody narzędzie wyświetla przykłady kodu dla co najmniej 1 przypadku użycia. Przykładowo zawiera 5 fragmentów kodu dla metody search.list
:
- Wyświetlanie filmów według słowa kluczowego
- Wyświetlanie filmów według lokalizacji
- Lista wydarzeń na żywo
- wyszukiwanie filmów uwierzytelnionego użytkownika;
- Wyświetl podobne filmy
W przypadku każdego zastosowania narzędzie wyświetla parametry użyte w żądaniu interfejsu API. Możesz zmodyfikować wartości parametrów. W takim przypadku narzędzie zaktualizuje fragmenty kodu, aby odzwierciedlały podane przez Ciebie wartości parametrów.
Na koniec narzędzie wyświetla odpowiedź interfejsu API na każde żądanie. Jeśli zmodyfikujesz parametry żądania, odpowiedź interfejsu API będzie się opierać na podanych wartościach. Pamiętaj, że aby wyświetlić odpowiedzi interfejsu API, musisz autoryzować narzędzie do przesyłania żądań w Twoim imieniu.
28 kwietnia 2016 r.
Ta aktualizacja zawiera następujące zmiany:
-
Nowa właściwość
contentDetails.projection
zasobuvideo
określa format rzutowania filmu. Prawidłowe wartości właściwości to360
irectangular
. -
Właściwości
recordingDetails.location
ifileDetails.recordingLocation
zasobuvideo
zostały zaktualizowane, aby wyjaśnić różnicę między tymi dwoma właściwościami:- Właściciel filmu może wskazać lokalizację, którą chce powiązać z filmem.
recordingDetails.location
Ta lokalizacja jest edytowalna, można ją wyszukać w publicznych filmach, a także może być wyświetlana użytkownikom publicznych filmów. - Wartość właściwości
fileDetails.recordingLocation
jest niezmienna i reprezentuje lokalizację powiązaną z pierwotnym przesłanym plikiem wideo. Wartość jest widoczna tylko dla właściciela filmu.
- Właściciel filmu może wskazać lokalizację, którą chce powiązać z filmem.
-
Definicja właściwości
contentDetails.relatedPlaylists.favorites
zasobuchannel
została zaktualizowana, aby wskazać, że jej wartość może zawierać identyfikator playlisty, który odnosi się do pustej playlisty i nie może zostać pobrany. 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óry może być zwracany przez metodycomments.insert
,comments.update
,commentThreads.insert
lubcommentThreads.update
, została zaktualizowana, aby odzwierciedlać fakt, że błąd ten występuje, gdy konto YouTube użyte do autoryzacji żądania interfejsu API nie zostało scalone z kontem Google użytkownika.
20 kwietnia 2016 r.
Ta aktualizacja zawiera następujące zmiany:
-
Definicja parametru
part
metodychannels.update
została zaktualizowana, aby uwzględnić, żelocalizations
jest również prawidłową wartością tego parametru. -
W sekcji Użycie limitu w przewodniku „Pierwsze kroki” dodaliśmy link do konsoli deweloperskiej Google, w której możesz sprawdzić swój limit i jego wykorzystanie.
16 marca 2016 r.
Ta aktualizacja zawiera następujące zmiany:
-
Aktualizacje dotychczasowych zasobów i metod
-
Dokumentacja zasobów
channelBanner
została zaktualizowana, aby zawierała informację, że zalecany rozmiar przesłanego obrazu banera kanału to 2560 x 1440 pikseli. Minimalny rozmiar (2048 × 1152 piksele) nie uległ zmianie. -
Nowa właściwość
snippet.customUrl
zasobuchannel
identyfikuje niestandardowy adres URL powiązany z kanałem. (nie wszystkie kanały mają niestandardowe adresy URL). W Centrum pomocy YouTube znajdziesz informacje o wymaganiach dotyczących uzyskania niestandardowego adresu URL oraz o tym, jak go skonfigurować. -
Obiekt
brandingSettings.watch
zasobuchannel
i wszystkie jego właściwości podrzędne zostały wycofane. -
Odpowiedź interfejsu API na żądanie
search.list
zawiera teraz właściwośćregionCode
. Właściwość ta identyfikuje kod regionu użyty w zapytaniu wyszukiwania. Kod regionu wskazuje interfejsowi API, aby zwracał wyniki wyszukiwania dla wybranego kraju.Wartość tej właściwości to dwuliterowy kod ISO kraju, który identyfikuje region. Metoda
i18nRegions.list
zwraca listę obsługiwanych regionów. (wartością domyślną jestUS
); Jeśli zostanie określony nieobsługiwany region, YouTube może wybrać inny region zamiast wartości domyślnej, aby obsłużyć zapytanie. -
Definicje właściwości
snippet.label
isnippet.secondaryReasons[].label
zasobuvideoAbuseReportReason
zostały zaktualizowane, aby uwzględnić informacje o tym, że te właściwości zawierają zlokalizowane etykiety powodów zgłoszenia nadużycia.Dodatkowo metoda
videoAbuseReportReasons.list
obsługuje teraz parametrhl
, który określa język, którego należy użyć do tekstu etykiety w odpowiedzi interfejsu API. Wartością domyślną parametru jesten_US
. -
Nowa właściwość
contentDetails.contentRating.ecbmctRating
zasobuvideo
wskazuje ocenę filmu wydaną przez turecki Urząd ds. Oceny i Klasyfikacji przy Ministerstwie Kultury i Turystyki.Dodatkowo właściwości interfejsu API dla innych systemów oceniania obsługują te nowe wartości właściwoś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ść tej właściwości jest obecna tylko wtedy, gdy film jest aktualną transmisją na żywo z włączonym czatem na żywo. Po zakończeniu transmisji i czatu na żywo ta właściwość nie jest już zwracana w przypadku filmu. -
Właściwość
status.rejectionReason
zasobuvideo
obsługuje nową wartość właściwościlegal
.
-
-
Interfejs API obsługuje te 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ć ani 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 interfejsu API musi zawierać 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 interfejsu API musi zawierać 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 tymczasowy, ale zwykle oznacza, że dane wejściowe żądania są nieprawidłowe. Sprawdź strukturę zasobucommentThread
w ciele żądania, aby mieć pewność, że jest on prawidłowy.forbidden (403)
commentsDisabled
Metoda commentThreads.list
zwraca ten błąd, aby wskazać, że film zidentyfikowany przez parametrvideoId
ma wyłączone komentarze.badRequest (400)
commentTextTooLong
Metoda commentThreads.insert
zwraca ten błąd, aby wskazać, że w właściwościsnippet.topLevelComment.snippet.textOriginal
zamieszczanego zasobucomment
znajduje się za dużo znaków.invalidValue (400)
videoAlreadyInAnotherSeriesPlaylist
Metoda playlistItems.insert
zwraca ten błąd, aby wskazać, że film, który próbujesz dodać do playlisty, znajduje się już na innej playliście serialu. Więcej informacji o playlistach seriali znajdziesz w Centrum pomocy YouTube.badRequest (400)
subscriptionForbidden
Metoda subscriptions.insert
zwraca ten błąd, aby wskazać, że osiągnięto maksymalną liczbę subskrypcji lub że utworzono zbyt wiele ostatnich subskrypcji. W tym drugim przypadku możesz ponownie wysłać prośbę po kilku godzinach.badRequest (400)
invalidCategoryId
Metoda videos.update
zwraca ten błąd, aby wskazać, że usługasnippet.categoryId
w przesłanym zasobievideo
określa 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
ma nieprawidłową wartość.badRequest (400)
invalidPublishAt
Metoda videos.update
zwraca ten błąd, aby wskazać, że właściwośćstatus.publishAt
w przesłanymvideo
zasobem określa nieprawidłowy zaplanowany czas publikacji.badRequest (400)
invalidRecordingDetails
Metoda videos.update
zwraca ten błąd, aby wskazać, że obiektrecordingDetails
w przesłanym zasobievideo
zawiera nieprawidłowe szczegóły nagrania.badRequest (400)
invalidTags
Metoda videos.update
zwraca ten błąd, aby wskazać, że właściwośćsnippet.tags
w przesłanym zasobievideo
ma nieprawidłową wartość.badRequest (400)
invalidTitle
Metoda videos.update
zwraca ten błąd, aby wskazać, że usługasnippet.title
w przesłanym zasobemvideo
zawiera nieprawidłowy lub pusty tytuł filmu.badRequest (400)
invalidVideoMetadata
Metoda videos.update
zwraca ten błąd, aby wskazać, że metadane żądania są nieprawidłowe. Ten błąd występuje, jeśli żądanie aktualizuje częśćsnippet
zasobuvideo
, ale nie ustawia wartości właściwościsnippet.title
anisnippet.categoryId
.
18 grudnia 2015 r.
Przepisy Unii Europejskiej (UE) wymagają, aby użytkownicy w UE byli informowani o określonych kwestiach i aby uzyskać od nich zgodę. W przypadku użytkowników z Unii Europejskiej musisz przestrzegać polityki w zakresie zgody użytkownika z UE. Dodaliśmy powiadomienie o tym wymaganiu w Warunkach korzystania z interfejsu API YouTube.
19 listopada 2015 r.
Interfejs API obsługuje teraz możliwość ustawiania i pobierania spersonalizowanego tekstu w przypadku właściwości snippet.title
i snippet.description
zasobów playlist
i video
, właściwości snippet.title
zasobu channelSection
oraz właściwości snippet.description
zasobu channel
.
-
Ustawianie zlokalizowanych tytułów i opisów
Wartości zlokalizowane możesz ustawić, wywołując metodę
insert
lubupdate
zasobu. Aby ustawić lokalizowane wartości zasobu, wykonaj te 2 czynności:-
Sprawdź, czy właściwość
snippet.defaultLanguage
zasobu ma ustawioną wartość. Właściwość ta identyfikuje język właściwościsnippet.title
isnippet.description
zasobu. Jego wartość może być dowolnym obsługiwanym językiem aplikacji lub większością innych kodów języków ISO 639-1:2002. Jeśli na przykład przesyłasz film z tytułem i opisem w języku angielskim, ustawisz właściwośćsnippet.defaultLanguage
naen
.Uwaga dotycząca aktualizowania zasobów
channel
: aby ustawić właściwośćsnippet.defaultLanguage
dla zasobuchannel
, musisz zaktualizować właściwośćbrandingSettings.channel.defaultLanguage
. -
Dodaj obiekt
localizations
do zasobu, który aktualizujesz. Każdy klucz obiektu to ciąg znaków identyfikujący język aplikacji lub kod języka ISO 639-1:2002. Każdy klucz jest mapowany na obiekt zawierający zlokalizowany tytuł (i opis) zasobu.Poniżej znajduje się przykładowy fragment kodu, który ustawia domyślny język zasobu na angielski. Dodaje też do filmu przetłumaczone tytuły i opisy w języku niemieckim i hiszpańskim:
{ "kind": "youtube#video", ... "snippet": { "title": "Playing soccer", "description": "We play soccer in the park on Sundays.", "defaultLanguage": "en", ... }, "localizations": "de": { "title": "Fußball spielen", "description": "Wir spielen Fußball im Park am Sonntag" }, "es": { "title": "Jugar al fútbol", "description": "Nosotros jugamos fútbol en el parque los domingos", } } }
Ważne: pamiętaj, że gdy aktualizujesz zlokalizowane dane zasobu, żądanie interfejsu API musi zawierać wszystkie istniejące zlokalizowane wersje tych danych. Jeśli na przykład wysłałeś kolejną prośbę o dodanie danych w języku portugalskim do filmu opisanego w powyższym przykładzie, prośba musiałaby zawierać dane zlokalizowane na potrzeby języka niemieckiego, hiszpańskiego i portugalskiego.
-
-
Pobieranie zlokalizowanych wartości
Interfejs API obsługuje 2 sposoby pobierania zlokalizowanych wartości zasobu:
-
Dodaj parametr
hl
do żądaniachannels.list
,channelSections.list
,playlists.list
lubvideos.list
, aby pobrać zlokalizowane dane w określonym języku aplikacji, który obsługuje strona YouTube. Jeśli w danym języku dostępne są zlokalizowane szczegóły zasobu, obiektsnippet.localized
tego zasobu będzie zawierać zlokalizowane wartości. Jeśli jednak szczegółowe informacje w danym języku są niedostępne, obiektsnippet.localized
będzie zawierać szczegóły zasobu w języku domyślnym.Załóżmy na przykład, że żądanie
videos.list
zwróciło dane dotyczące opisanego powyżej filmu z przetłumaczonymi na niemiecki i hiszpański dane. Jeśli parametrhl
ma wartośćde
, zasób zawiera te dane:{ "kind": "youtube#video", ... "snippet": { "title": "Playing soccer", "description": "We play soccer in the park on Sundays.", "defaultLanguage": "en", "localized": { "title": "Fußball spielen", "description": "Wir spielen Fußball im Park am Sonntag" } ... } }
Jeśli jednak parametr
hl
ma wartośćfr
, obiektsnippet.localized
będzie zawierać tytuł i opis w języku angielskim, ponieważ jest to domyślny język zasobu, a przetłumaczone informacje w języku francuskim są niedostępne.Ważne: parametrhl
obsługuje tylko wartości, które identyfikują języki aplikacji obsługiwane przez stronę YouTube. Aby sprawdzić, czy zlokalizowany tekst jest dostępny w innych językach, musisz pobrać częśćlocalizations
zasobu i odfiltrować, czy zlokalizowany tekst istnieje.
Na przykład, aby sprawdzić, czy zlokalizowany tekst jest dostępny w języku Appalachian English, musisz pobrać pełną listę lokalizacji.
-
Aby pobrać wszystkie zlokalizowane szczegóły zasobu, podczas jego pobierania dodaj wartość
localizations
do wartości parametrupart
. Jeśli pobierasz dane w języku, który nie jest obecnym językiem aplikacji YouTube, musisz pobrać wszystkie lokalizacje, a potem odfiltrować, aby sprawdzić, czy istnieją poszukiwane dane w danym języku.
-
-
Błędy związane z lokalizowanymi wartościami tekstowymi
Interfejs API obsługuje też te nowe błędy dotyczące zlokalizowanych wartości tekstowych:
Typ błędu Szczegóły błędu Opis badRequest (400)
defaultLanguageNotSetError
Ten błąd wskazuje, że żądanie próbujące wstawić lub zaktualizować obiekt localizations
dla zasobu nie powiedzie się, ponieważ w przypadku tego zasobu nie ustawiono właściwościsnippet.defaultLanguage
. 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 nie udało się zweryfikować jednej z wartości obiektu localizations
zasobu. Ten błąd może wystąpić na przykład, jeśli 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, aby uwzględnić fakt, że jeśli sortujesz transmisje na żywo według parametruviewCount
, wyniki interfejsu API są sortowane według liczby jednoczesnych widzów transmisji, dopóki są one jeszcze aktywne. -
Parametr
relatedToVideoId
metodysearch.list
został zaktualizowany, aby wskazać, że jeśli parametr jest ustawiony, jedynymi obsługiwanymi parametrami sąpart
,maxResults
,pageToken
,regionCode
,relevanceLanguage
,safeSearch
,type
(który musi być ustawiony navideo
) ifields
. Ta aktualizacja nie odzwierciedla zmiany w działaniu interfejsu API. -
Definicja właściwości
snippet.publishedAt
zasobuvideo
została zaktualizowana, aby wskazać, że wartość tej właściwości, która określa datę i godzinę publikacji filmu, może być inna niż godzina przesłania filmu. Jeśli na przykład film został przesłany jako prywatny, a później zmieniono jego ustawienie prywatności na publiczny, wartość właściwości określa czas, w którym film został udostępniony publicznie. Zaktualizowana definicja wyjaśnia też, jak wypełniana jest wartość 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, aby uwzględnić następujące informacje:- 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 opublikowanie filmu w określonym czasie w przeszłości, film jest publikowany od razu. W związku z tym ustawienie właściwości
status.publishAt
na datę i godzinę w przeszłości ma taki sam skutek jak zmiana wartości właściwościprivacyStatus
zprivate
napublic
.
- Jeśli podczas wywoływania metody
-
Właściwość
contentDetails.contentRating.cncRating
zasobuvideo
określa ocenę filmu wydaną przez francuską Commission de classification cinematographique. Ta właściwość zastępuje właściwośćcontentDetails.contentRating.fmocRating
, która została wycofana. -
Definicja atrybutu
channel
brandingSettings.channel.keywords została zaktualizowana, aby odzwierciedlała fakt, że wartość właściwości zawiera listę ciągów znaków oddzielonych spacjami, a nie przecinkami, jak to było wcześniej opisane. Ta aktualizacja nie odzwierciedla zmiany w działaniu interfejsu API. -
Dokumentacja metody
thumbnails.set
została zaktualizowana, aby dokładnie odzwierciedlać fakt, że treść żądania zawiera miniaturę, którą przesyłasz i powiązujesz z filmem. Treść żądania nie zawiera zasobuthumbnail
. Wcześniej w dokumentacji było napisane, że podczas wywoływania tej metody nie należy podawać treści żądania. Ta aktualizacja nie odzwierciedla zmiany w działaniu interfejsu API. -
Opis zasobu
activity
został zaktualizowany, aby odzwierciedlał fakt, że metodaactivities.list
nie obejmuje obecnie zasobów związanych z nowymi komentarzami do filmów. Ustawieniasnippet.type
icontentDetails.comment
tego zasobu zostały również zaktualizowane.
-
-
Nowe i zmienione błędy
-
Interfejs API obsługuje teraz te błędy:
Szczegóły błędu activities.insert
Kod odpowiedzi HTTP badRequest (400)
Przyczyna invalidMetadata
Opis Usługa kind
nie pasuje do podanego typu dokumentu tożsamości.commentThreads.update
comments.insert
comments.update
Kod odpowiedzi HTTP badRequest (400)
Przyczyna commentTextTooLong
Opis Zasób comment
, który jest wstawiany lub aktualizowany, zawiera zbyt wiele znaków w właściwościsnippet.topLevelComment.snippet.textOriginal
.playlistItems.insert
playlistItems.update
Kod odpowiedzi HTTP forbidden (403)
Przyczyna playlistItemsNotAccessible
Opis prośba nie jest prawidłowo autoryzowana do wstawiania, aktualizowania ani usuwania określonego elementu listy odtwarzania; 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
jest nieprawidłowo sformatowana.search.list
Kod odpowiedzi HTTP badRequest (400)
Przyczyna invalidRelevanceLanguage
Opis Wartość parametru relevanceLanguage
ma nieprawidłowy format.subscriptions.insert
Kod odpowiedzi HTTP badRequest (400)
Przyczyna subscriptionForbidden
Opis Ten błąd występuje, gdy spełniony jest co najmniej jeden z tych warunków: - Subskrypcja, którą próbujesz utworzyć, już istnieje
- Osiągnięto już maksymalną liczbę subskrypcji
- Próbujesz zasubskrybować własny kanał, co nie jest obsługiwane.
- Ostatnio utworzono zbyt wiele subskrypcji, dlatego musisz odczekać kilka godzin, zanim spróbujesz ponownie wysłać prośbę.
videos.update
Kod odpowiedzi HTTP badRequest (400)
Przyczyna invalidDefaultBroadcastPrivacySetting
Opis Żądanie próbuje ustawić nieprawidłowe ustawienie prywatności dla domyślnego kanału.
-
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 usług ta usługa będzie nadal uwzględniana w zasobach
video
przez co najmniej rok od daty tego ogłoszenia. Wartość tej właściwości jest jednak zawsze ustawiona na0
.
-
7 sierpnia 2015 r.
Ta aktualizacja zawiera następujące zmiany:
-
Aktualizacje dotychczasowych zasobów i metod
-
Definicja właściwości
snippet.tags[]
zasobuvideo
została zaktualizowana, aby zawierała więcej informacji o tym, jak serwer interfejsu API oblicza długość wartości tej właściwości. Pamiętaj, że ta aktualizacja nie ma wpływu na działanie interfejsu API.W szczególności definicja wyjaśnia, że jeśli tag zawiera spacje, serwer interfejsu API traktuje wartość tagu tak, jakby była ona ujęta w cudzysłowie, a cudzysłowy wliczają się do limitu znaków. W przypadku limitów 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 wskazywał, czy komentarz i odpowiedzi na niego powinny być również opublikowane na profilu Google+ autora. Jeśli żądanie zawiera parametr, serwer interfejsu API zignoruje go, ale w inny sposób obsłuży żą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ć wątki komentarzy. Wątek można uporządkować według czasu lub trafności. Domyślnie są one sortowane według czasu. -
Nowa właściwość
snippet.defaultAudioLanguage
zasobuvideo
określa język domyślnej ścieżki audio filmu. -
Definicja właściwości
contentDetails.licensedContent
zasobuvideo
została zaktualizowana, aby sprecyzować, że treści muszą zostać pierwotnie przesłane na kanał powiązany z partnerem treści YouTube, a następnie objęte roszczeniem przez tego partnera. Nie oznacza to zmiany w działaniu interfejsu API. -
Metody
captions.delete
,captions.download
,captions.insert
,captions.list
icaptions.update
obsługują teraz parametronBehalfOfContentOwner
, który jest już obsługiwany przez kilka innych metod. Żądania korzystające z tej metody muszą też być autoryzowane za pomocą tokena, który zapewnia dostęp do zakresuhttps://www.googleapis.com/auth/youtubepartner
.
-
-
Nowe i zmienione błędy
-
Interfejs API obsługuje teraz te błędy:
Szczegóły błędu videos.rate
Kod odpowiedzi HTTP badRequest (400)
Przyczyna emailNotVerified
Opis Przed ocenieniem filmu użytkownik musi potwierdzić swój adres e-mail. videos.rate
Kod odpowiedzi HTTP badRequest (400)
Przyczyna videoPurchaseRequired
Opis Filmy do wypożyczenia mogą oceniać tylko użytkownicy, 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 oznaczenia filmu jako zawierającego treści obraźliwe. MetodavideoAbuseReportReasons.list
umożliwia pobranie listy wszystkich powodów, dla których filmy mogą zostać oznaczone. -
Nowa metoda
videos.reportAbuse
umożliwia zgłoszenie filmu zawierającego treści nieodpowiednie. Treść żądania zawiera obiekt JSON, który określa film oznaczony flagą, a także powód, dla którego film został uznany za zawierający treści obraźliwe. Prawidłowe przyczyny można uzyskać za pomocą opisanej powyżej metodyvideoAbuseReportReason.list
.Zaktualizowaliśmy też przewodnik po migracji, dodając do niego przykład zgłaszania filmu z zawartością naruszającą zasady. Dzięki tej zmianie interfejs API w wersji 3 obsługuje teraz wszystkie funkcje interfejsu API w wersji 2, które mają być obsługiwane. Te funkcje są też opisane w przewodniku po migracji.
-
-
Aktualizacje dotychczasowych zasobów i metod
-
Nowy parametr filtra
forDeveloper
metodysearch.list
ogranicza wyszukiwanie do filmów przesłanych za pomocą aplikacji lub witryny dewelopera. ParametruforDeveloper
można używać w połączeniu z opcjonalnymi parametrami wyszukiwania, takimi jak parametrq
.W przypadku tej funkcji każde przesłane wideo jest automatycznie otagowane numerem projektu powiązanym z aplikacją dewelopera w Google Developers Console.
Gdy żądanie wyszukiwania ustawia parametr
forDeveloper
na wartośćtrue
, serwer interfejsu API używa danych logowania do autoryzacji żądania, aby zidentyfikować dewelopera. Dlatego deweloper może ograniczyć wyniki do filmów przesłanych za pomocą jego własnej aplikacji lub witryny, ale nie do filmów przesłanych za pomocą innych aplikacji lub witryn.Nowa funkcja oferuje funkcje podobne, choć nie identyczne, do tych, które były dostępne w tagach dewelopera obsługiwanych przez interfejs API w wersji 2.
-
Nowa właściwość
snippet.country
zasobuchannel
umożliwia właścicielom kanałów łączenie ich z określonym krajem.Uwaga: aby ustawić właściwość
snippet.country
dla zasobuchannel
, musisz zaktualizować właściwośćbrandingSettings.channel.country
. -
Interfejs API obsługuje teraz kierowanie na zasoby
channelSection
. Kierowanie na sekcje kanału umożliwia ograniczenie widoczności sekcji treści do użytkowników spełniających określone kryteria.Interfejs API udostępnia 3 opcje kierowania. Aby sekcja kanału była widoczna, użytkownik musi spełniać wszystkie ustawienia kierowania.
-
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 regionów z preferowanymi treściami 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, dla których jeden z tych regionów został wybrany automatycznie. -
targeting.countries[]
: lista krajów, w których sekcja kanału jest widoczna. Każda wartość na liście to kod kraju w formacie ISO 3166-1 alfa-2.
-
-
Definicja właściwości
contentDetails.duration
zasobuvideo
została poprawiona, aby odzwierciedlała fakt, że wartość może być wyrażona w godzinach, dniach itp. -
Dokumentacja metod
channelSections.delete
,playlistItems.delete
,playlists.delete
,subscriptions.delete
ivideos.delete
została poprawiona, aby odzwierciedlała fakt, że po pomyślnym wykonaniu te metody zwracają kod odpowiedzi HTTP204
(No Content
).
-
-
Nowe i zmienione błędy
-
Interfejs API obsługuje teraz te 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 zidentyfikowany przez właściwośćsnippet.parentId
. W zasobiecommentThread
właściwośćsnippet.canReply
wskazuje, czy bieżący użytkownik może odpowiedzieć na wątek.badRequest (400)
invalidChannelId
Metoda search.list
zwraca ten błąd, jeśli parametrchannelId
w żądaniu zawiera nieprawidłowy identyfikator kanału.badRequest (400)
subscriptionForbidden
Metoda subscriptions.insert
zwraca ten błąd, jeśli użytkownik interfejsu API próbuje zasubskrybować własny kanał. -
Metoda
captions.update
nie obsługuje już błędówinvalidMetadata
ivideoNotFound
.
-
16 kwietnia 2015 r.
Ta aktualizacja zawiera następujące zmiany:
-
W przewodniku po migracji dodaliśmy informacje o migracji aplikacji, które nadal korzystają z funkcji komentarzy z interfejsu API w wersji 2.
Przewodnik zawiera też informacje o kilku funkcjach komentowania, których nie obsługiwał interfejs API w wersji 2, ale które obsługuje interfejs API w wersji 3. Obejmują one:
- Pobieranie komentarzy dotyczących kanału
- Pobieranie wszystkich wątków komentarzy powiązanych z kanałem, co oznacza, że odpowiedź interfejsu API może zawierać komentarze na temat kanału lub dowolnego filmu.
- Aktualizowanie tekstu komentarza
- Oznaczanie komentarza jako spamu
- Ustawianie stanu moderowania komentarza
-
Przewodnik Subskrybowanie powiadomień push został zaktualizowany, aby odzwierciedlał fakt, że powiadomienia są wysyłane tylko do centrum Google PubSubHubBub, a nie do centrum Superfeedr, jak wskazywano wcześniej.
9 kwietnia 2015 r.
Ta aktualizacja zawiera następujące zmiany:
-
Nowe zasoby
commentThread
icomment
interfejsu API umożliwiają pobieranie, wstawianie, aktualizowanie, usuwanie i moderowanie komentarzy.-
Zasób
commentThread
zawiera informacje o wątku komentarzy w YouTube, który składa się z komentarza najwyższego poziomu i odpowiedzi na ten komentarz (jeśli takie istnieją). ZasóbcommentThread
może reprezentować komentarze dotyczące filmu lub kanału.Komentarz najwyższego poziomu i odpowiedzi to zasoby
comment
zagnieżdżone w zasobiecommentThread
. Pamiętaj, że zasóbcommentThread
niekoniecznie zawiera wszystkie odpowiedzi na komentarz. Jeśli chcesz pobrać wszystkie odpowiedzi na konkretny komentarz, musisz użyć metodycomments.list
. Oprócz tego niektóre komentarze nie mają odpowiedzi.Interfejs API obsługuje te metody dotyczące zasobów
commentThread
:commentThreads.list
– pobiera listę wątków komentarzy. Użyj tej metody, aby pobrać komentarze powiązane z konkretnym filmem lub kanałem.commentThreads.insert
– utwórz nowy komentarz najwyższego poziomu. (użyj metodycomments.insert
, aby odpowiedzieć na istniejący komentarz).commentThreads.update
– zmodyfikuj komentarz na najwyższym poziomie.
-
Zasób
comment
zawiera informacje o pojedynczym komentarzu w YouTube. Zasóbcomment
może reprezentować komentarz do filmu lub kanału. Komentarz może być komentarzem najwyższego poziomu lub odpowiedzią na komentarz najwyższego poziomu.Interfejs API obsługuje te metody dotyczące zasobów
comment
:comments.list
– pobiera listę komentarzy. Za pomocą tej metody możesz pobrać wszystkie odpowiedzi na konkretny komentarz.comments.insert
– tworzenie odpowiedzi na istniejący komentarz.comments.update
– zmodyfikuj komentarz.comments.markAsSpam
– oznaczenie jednego lub więcej komentarzy jako spamu.comments.setModerationStatus
– ustaw stan moderacji co najmniej 1 komentarza. Możesz na przykład zatwierdzić komentarz do wyświetlenia publicznego lub odrzucić komentarz jako nieodpowiedni do wyświetlenia. Żądanie przesłane przez interfejs API musi być autoryzowane przez właściciela kanału lub filmu powiązanego z komentarzami.comments.delete
– usuwanie komentarza.
Pamiętaj, że nowy zakres
https://www.googleapis.com/auth/youtube.force-ssl
interfejsu API, opisany w historii zmian z 2 kwietnia 2015 r., jest wymagany w przypadku wywołań metodcomments.insert
,comments.update
,comments.markAsSpam
,comments.setModerationStatus
,comments.delete
,commentThreads.insert
icommentThreads.update
. -
-
Nowy przewodnik Subscribing to Push Notifications (Subskrybowanie powiadomień push) wyjaśnia nowe obsługiwane przez interfejs API powiadomienia push za pomocą PubSubHubBub, czyli protokołu publikowania/subskrypcji serwer-serwer dla zasobów dostępnych w internecie. Twój serwer wywołania zwrotnego PubSubHubBub może otrzymywać powiadomienia o plikach danych Atom, gdy kanał wykona jedną z tych czynności:
- przesyła film
- aktualizuje tytuł filmu
- aktualizuje opis filmu
-
Zaktualizowaliśmy też przewodnik po migracji, aby uwzględnić nowe informacje o obsługiwaniu powiadomień push. Ponieważ jednak interfejs API w wersji 2 obsługiwał wiele innych typów powiadomień push, które nie są obsługiwane w interfejsie API w wersji 3, w sekcji Wycofane tego przewodnika nadal znajduje się wzmianka o obsługiwaniu interfejsu PubSubHubBub.
-
Nowy zakres
https://www.googleapis.com/auth/youtube.force-ssl
interfejsu API jest teraz prawidłowy w przypadku każdej metody interfejsu API, która wcześniej obsługiwała zakreshttps://www.googleapis.com/auth/youtube
. -
Interfejs API obsługuje teraz te błędy:
Typ błędu Szczegóły błędu Opis badRequest (400)
invalidRating
Metoda videos.rate
zwraca ten błąd, jeśli żądanie zawiera nieoczekiwaną wartość parametrurating
. -
Metoda
subscriptions.insert
nie obsługuje już błędusubscriptionLimitExceeded
, który wcześniej wskazywał, że subskrybent zidentyfikowany w prośbie przekroczył limit stawki subskrypcji.
2 kwietnia 2015 r.
Ta aktualizacja zawiera następujące zmiany:
-
Nowy zasób
captions
reprezentuje ścieżkę z napisami w YouTube. Utwór z napisami jest powiązany z dokładnie jednym filmem w YouTube.Interfejs API obsługuje metody listowania, wklejania, aktualizowania, pobierania i usuwania ścieżek z napisami.
-
Zaktualizowaliśmy też przewodnik po migracji, aby wyjaśnić, jak przenieść aplikacje, które nadal korzystają z funkcji napisów w interfejsie API w wersji 2.
-
Nowy zakres
https://www.googleapis.com/auth/youtube.force-ssl
interfejsu API wymaga komunikacji z serwerem interfejsu API przez połączenie SSL.Ten nowy zakres zapewnia taki sam dostęp jak zakres
https://www.googleapis.com/auth/youtube
. W istocie te 2 zakresy są funkcjonalnie identyczne, ponieważ serwer interfejsu API YouTube jest dostępny tylko przez punkt końcowy HTTPS. W rezultacie, mimo że zakreshttps://www.googleapis.com/auth/youtube
nie wymaga połączenia SSL, nie ma innego sposobu na wysłanie żądania do interfejsu API.Nowy zakres jest wymagany w przypadku wywołań wszystkich metod zasobu
caption
.
11 marca 2015 r.
Ta aktualizacja zawiera następujące zmiany:
-
Przewodnik po migracji interfejsu YouTube Data API (w wersji 3) zawiera nową kartę Nowe funkcje w interfejsie API w wersji 3, na której znajdziesz listę funkcji obsługiwanych przez interfejs API w wersji 3, ale nie przez interfejs API w wersji 2. Te same funkcje były i nadal są wymienione na innych kartach w tym przewodniku. Na przykład nowa funkcja, która wyjaśnia, jak zaktualizować dane kampanii promocyjnej w filmie na kanale, jest również dostępna na karcie Kanały (profile).
-
W przewodniku po migracji interfejsu YouTube Data API (w wersji 3) uwzględniono informację, że interfejs API w wersji 3 będzie obsługiwał tę funkcję interfejsu API w wersji 2:
-
W przewodniku po migracji interfejsu YouTube Data API (w wersji 3) uwzględniono informację, że te funkcje interfejsu API w wersji 2 nie będą obsługiwane w interfejsie API w wersji 3:
-
Pobieranie rekomendacji dotyczących filmów – interfejs API w wersji 3 nie pobiera listy zawierającej tylko filmy rekomendowane dla bieżącego użytkownika interfejsu API. Możesz jednak użyć interfejsu API w wersji 3, aby znaleźć polecane filmy. Aby to zrobić, wywołaj metodę
activities.list
i ustaw wartość parametruhome
natrue
.W odpowiedzi interfejsu API zasób odpowiada rekomendowanemu filmowi, jeśli wartość właściwości
snippet.type
torecommendation
. W takim przypadku właściwościcontentDetails.recommendation.reason
icontentDetails.recommendation.seedResourceId
będą zawierać informacje o tym, dlaczego film został polecony. Pamiętaj, że nie możemy zagwarantować, że odpowiedź będzie zawierać określoną liczbę polecanych filmów. -
Pobieranie filmów z nowych subskrypcji – interfejs API w wersji 3 nie pobiera listy zawierającej tylko filmy, które zostały ostatnio przesłane na kanały, na które subskrybuje użytkownik interfejsu API. Możesz jednak użyć interfejsu API w wersji 3, aby znaleźć nowe filmy objęte subskrypcją. Wystarczy, że wywołasz metodę
activities.list
i ustawisz wartość parametruhome
natrue
.W odpowiedzi interfejsu API zasób odpowiada nowemu filmowi o subskrypcji, jeśli wartość właściwości
snippet.type
toupload
. Pamiętaj, że nie możemy zagwarantować, że odpowiedź będzie zawierać określoną liczbę nowych filmów w ramach subskrypcji. -
Powiadomienia push dotyczące aktualizacji kanału – interfejs API w wersji 2 obsługiwał powiadomienia push za pomocą protokołu SUP (Simple Update Protocol) lub PubSubHubbub w celu monitorowania kanałów aktywności użytkowników w YouTube. Powiadomienia były wysyłane w przypadku nowych subskrypcji kanałów oraz gdy filmy były oceniane, udostępniane, oznaczane jako ulubione, komentowane lub przesyłane.
Interfejs API w wersji 3 będzie obsługiwać powiadomienia push za pomocą protokołu PubSubHubbub, ale będą one dotyczyć tylko przesyłanych filmów i aktualizacji ich tytułów lub opisów.
-
Lokalizacja kanału – interfejs API w wersji 2 używał tagu
<yt:location>
, aby zidentyfikować lokalizację użytkownika zgodnie z danymi podanymi na publicznym profilu kanału w YouTube. Chociaż niektórzy deweloperzy używali tego pola do kojarzenia kanału z określonym krajem, dane z tego pola nie były używane konsekwentnie do tego celu. -
Ustawianie i pobieranie tagów dla programistów – interfejs API w wersji 2 umożliwiał łączenie z filmem słów kluczowych lub tagów dla programistów w momencie jego przesyłania. Tagi dewelopera nie byłyby wyświetlane użytkownikom YouTube, ale właściciele filmów mogliby pobierać filmy pasujące do konkretnego tagu dewelopera.
Interfejs API w wersji 3 będzie zawierać funkcję podobną, ale nie identyczną. Deweloper będzie mógł wyszukiwać filmy przesłane przez jego aplikację. W przypadku tej funkcji każde przesłane wideo jest automatycznie otagowane numerem projektu powiązanym z aplikacją dewelopera w Google Developers Console. Następnie deweloper używa tego samego numeru projektu do wyszukiwania filmów.
-
Wyświetlanie filmów według daty publikacji, liczby wyświetleń lub oceny – w interfejsie API w wersji 2 parametr
orderby
umożliwia sortowanie filmów na playliście według pozycji, czasu trwania, daty publikacji, tytułu i kilku innych wartości. W interfejsie API w wersji 3 elementy playlisty są zwykle sortowane według pozycji w kolejności rosnącej, a inne opcje sortowania są niedostępne.Wyjątki: Nowo przesłany film, ulubiony film, film, który Ci się podoba, lub ostatnio oglądany film jest automatycznie dodawany jako pierwszy element (
snippet.position
=0
) w przypadku tych typów playlist: Każda z tych list jest sortowana od najnowszego do najstarszego elementu na podstawie czasu dodania elementów do listy.- przesłane przez użytkowników,
- ulubione filmy
- polubione filmy
- historia oglądania
Pamiętaj jednak, że nowy element dodany do playlisty „Obejrzyj później” jest dodawany jako ostatni element na tej liście, więc jest ona sortowana od najstarszego do najnowszego elementu.
-
Przetwarzanie wsadowe – interfejs API w wersji 3 obsługuje jedno z zastosować przetwarzania wsadowego, które było obsługiwane przez interfejs API w wersji 2. 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óry umożliwia podanie listy identyfikatorów (identyfikatorów filmów, kanałów itp.) rozdzielonych przecinkami. Dzięki tym metodom możesz pobrać listę wielu zasobów za pomocą jednego żądania.
Dzięki tym zmianom przewodnik zawiera teraz wszystkie funkcje obsługiwane przez starą wersję interfejsu API (w wersji 2), które zostaną wycofane w obecnej wersji interfejsu API (w wersji 3).
-
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 kilku innych metodach. -
Wycofane zostały te właściwości i ich właściwości podrzędne:
brandingSettings.image.backgroundImageUrl
brandingSettings.image.largeBrandedBannerImageImapScript
brandingSettings.image.largeBrandedBannerImageUrl
brandingSettings.image.smallBrandedBannerImageImapScript
brandingSettings.image.smallBrandedBannerImageUrl
Uwaga: żadna z tych usług nie była objęta zasadami wycofywania interfejsu API.
-
Nowa właściwość
contentDetails.contentRating.contentDetails.contentRating.djctqRatingReasons
zasobuvideo
wskazuje przyczyny, dla których film otrzymał ocenę DJCQT (Brazylia). -
Interfejs API obsługuje teraz te błędy:
Typ błędu Szczegóły błędu Opis notFound (404)
channelNotFound
Metoda channels.update
zwraca ten błąd, jeśli 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 na liście odtwarzania, ale lista nie używa sortowania ręcznego. Na przykład elementy playlisty mogą być posortowane według daty lub popularności. Możesz rozwiązać ten problem, usuwając elementsnippet.position
z zasobu wysłanego w ciele żądania. Jeśli chcesz, aby element playlisty znajdował się w konkretnym miejscu na liście, musisz najpierw zmienić ustawienie sortowania playlisty na Ręczne. To ustawienie można zmienić w Menedżerze filmów w YouTube.forbidden (403)
channelClosed
Metoda playlists.list
zwraca ten błąd, jeśli parametrchannelId
zawiera zamknięty kanał.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 żądanie nie jest 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 umożliwia żądanie wyników najbardziej pasujących do danego języka.Zaktualizowaliśmy też przewodnik po migracji interfejsu YouTube Data API (w wersji 3), aby wyjaśnić, jak używać tego nowego parametru. Parametr ten eliminuje różnicę w funkcjonalności, która istniała wcześniej między obecną wersją interfejsu API (v3) a poprzednią wersją (v2), która została już wycofana.
-
Zaktualizowaliśmy też przewodnik po migracji interfejsu YouTube Data API (w wersji 3), aby uwzględnić wycofanie specjalnych plików danych i pol metadanych, które interfejs API w wersji 2 udostępniał do opisywania filmów, zwiastunów, programów telewizyjnych, sezonów i odcinków telewizyjnych.
14 stycznia 2015 r.
Ta aktualizacja zawiera następujące zmiany:
-
W przewodniku po migracji interfejsu YouTube Data API (wersja 3) uwzględniliśmy informacje o używaniu interfejsu API w wersji 3 do przesyłania filmów za pomocą języka JavaScript. (szczegóły znajdziesz w sekcji Przesyłanie filmu). Ta funkcja jest podobna do przesyłania plików w przeglądarce, które jest obsługiwane przez interfejs API w wersji 2. Pamiętaj, że ta zmiana w przewodniku po migracji nie dotyczy rzeczywistej zmiany interfejsu API, a dostępności nowego przykładowego kodu do przesyłania filmów za pomocą kodu JavaScript po stronie klienta.
Ze względu na obsługę przesyłania filmów za pomocą biblioteki klienta JavaScript i CORS w przewodniku dotyczącym migracji nie ma już informacji, że przesyłanie w przeglądarce może zostać wycofane w interfejsie API v3.
-
Dokumentacja metody
videos.insert
została zaktualizowana, aby zawierać nowy przykład kodu JavaScript opisanego powyżej. Zaktualizowaliśmy też listę przykładów kodu JavaScript dla interfejsu YouTube Data API (v3).
11 listopada 2014 r.
Ta aktualizacja zawiera następujące zmiany:
-
Koszt limitu dla metody
search.list
został zmieniony na 100 jednostek.Ważne: w większości przypadków możesz używać innych metod interfejsu API, aby pobierać informacje przy niższych kosztach. Oto 2 sposoby znajdowania filmów przesłanych na kanał GoogleDevelopers.
-
Koszt przydziału: 100 jednostek
Wywołaj metodę
search.list
i wyszukajGoogleDevelopers
. -
Koszt przydziału: 6 jednostek
Aby znaleźć prawidłowy identyfikator kanału, wywołaj metodę
channels.list
. Ustaw parametrforUsername
naGoogleDevelopers
, a parametrpart
nacontentDetails
. W odpowiedzi interfejsu API właściwośćcontentDetails.relatedPlaylists.uploads
określa identyfikator playlisty dla przesłanych filmów na kanale.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 kanał kwalifikuje się do przesyłania filmów dłuższych niż 15 minut. Ta właściwość jest zwracana tylko wtedy, gdy właściciel kanału autoryzował żądanie 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 musi najpierw 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 usługi. Więcej informacji o tej funkcji znajdziesz też w Centrum pomocy YouTube.
-
Właściwość
invideoPromotion.useSmartTiming
wskazuje, czy kampania promocyjna kanału korzysta z funkcji „inteligentnego ustalania czasu”. Ta funkcja stara się wyświetlać promocje w momencie, w którym istnieje większa szansa, że użytkownik kliknie reklamę, a jednocześnie jest mniejsze prawdopodobieństwo, że zakłóci to oglądanie. Ta funkcja wybiera też jedną promocję do wyświetlania w każdym filmie.
-
-
Definicje właściwości zasobu
video
snippet.title
isnippet.categoryId
zostały zaktualizowane, aby wyjaśnić sposób obsługi interfejsu API wywołań metodyvideos.update
. Jeśli wywołasz tę metodę, aby zaktualizować częśćsnippet
zasobuvideo
, musisz ustawić wartość dla obu tych właściwości.Jeśli spróbujesz zaktualizować część
snippet
zasobuvideo
, ale nie ustawisz wartości dla obu tych właściwości, interfejs API zwróci błądinvalidRequest
. Opis tego błędu został również zaktualizowany. -
Właściwość
contentDetails.contentRating.oflcRating
zasobuvideo
, która identyfikuje ocenę filmu wydaną przez nowozelandzki urząd ds. klasyfikacji filmów i literatury, obsługuje teraz 2 nowe oceny:oflcRp13
ioflcRp16
. Odpowiednio odpowiadają one klasyfikacjiRP13
iRP16
. -
Metoda
channelBanners.insert
obsługuje teraz ten błąd:Typ błędu Szczegóły błędu Opis badRequest
bannerAlbumFull
Album Grafika kanału YouTube właściciela kanału zawiera zbyt wiele obrazów. Właściciel kanału powinien wejść na 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:
-
Koszt limitu dla wywołania metody
search.list
zmienił się z 1 jednostki na 2 jednostki (oprócz kosztu określonych części zasobu).
13 sierpnia 2014 r.
Ta aktualizacja zawiera następujące zmiany:
-
Metoda
subscriptions.insert
obsługuje teraz ten błąd:Typ błędu Szczegóły błędu Opis badRequest
subscriptionLimitExceeded
Subskrybent wskazany w żądaniu przekroczył limit stawki subskrypcji. Za kilka godzin możesz spróbować dodać więcej subskrypcji.
12 sierpnia 2014 r.
Ta aktualizacja zawiera następujące zmiany:
-
Nowy przewodnik Przenoszenie aplikacji na interfejs YouTube Data API (w wersji 3) wyjaśnia, jak korzystać z interfejsu YouTube Data API (w wersji 3), aby wykonywać funkcje dostępne w interfejsie YouTube Data API (w wersji 2). Starszy interfejs API został oficjalnie wycofany 4 marca 2014 r. Ten przewodnik ma pomóc Ci w przeniesieniu aplikacji, które nadal używają interfejsu API w wersji 2, na najnowszą wersję interfejsu API.
8 lipca 2014 r.
Ta aktualizacja zawiera następujące zmiany:
-
Metoda
playlists.insert
obsługuje teraz ten błąd:Typ błędu Szczegóły błędu Opis badRequest
maxPlaylistExceeded
Ten błąd występuje, gdy nie można utworzyć playlisty, ponieważ na kanale jest już maksymalna liczba playlist.
18 czerwca 2014 r.
Ta aktualizacja zawiera następujące zmiany:
-
Opis każdej metody interfejsu API został zaktualizowany, aby uwzględniał koszt limitu wywołania tej metody. Zaktualizowaliśmy też definicje parametrów
part
, aby określały koszt limitu dla każdej części, którą można pobrać w wywołaniu interfejsu API. Na przykład wywołanie metodysubscriptions.insert
ma koszt przydziału wynoszący około 50 jednostek. Zasóbsubscription
składa się z 3 części (snippet
,contentDetails
isubscriberSnippet
), a każda z nich ma koszt 2 jednostek.Pamiętaj, że koszty limitu mogą się zmieniać bez powiadomienia.
-
Zasób
video
obsługuje teraz 43 nowe systemy oceny treści, które identyfikują oceny przyznane filmom przez różne krajowe agencje oceniające. Nowe obsługiwane systemy: Argentyna, Austria, Belgia, Bułgaria, Chile (telewizja), Chile (film), Czechy, Kolumbia, Dania, Egipt, Estonia, Finlandia, Francja, Grecja, Hong Kong, Islandia, Indonezja, Irlandia, Izrael, Włochy, Kenia, Łotwa, Luksemburg, Malezja, Malediwy, Malta, Holandia, Nigeria, Norwegia, Peru, Filipiny, Portugalia, Rumunia, Singapur, Słowacja, RPA, Szwecja, Szwajcaria, Tajwan, Tajlandia i Wenezuela.
28 maja 2014 r.
Ta aktualizacja zawiera następujące zmiany:
-
Metoda
search.list
obsługuje teraz parametrylocation
ilocationRadius
, które umożliwiają wyszukiwanie filmów powiązanych z lokalizacją geograficzną. Aby pobrać wyniki na podstawie lokalizacji, żądanie musi zawierać wartość obu parametrów. Jeśli żądanie zawiera tylko jeden z tych parametrów, interfejs API zwróci błąd.-
Parametr
location
określa współrzędne geograficzne w środku koła. -
Parametr
locationRadius
określa maksymalną odległość, na jaką od centrum obszaru może znajdować się lokalizacja powiązana z filmem, aby film był nadal uwzględniany w wynikach wyszukiwania.
-
13 maja 2014 r.
Ta aktualizacja zawiera następujące zmiany:
-
Właściwość
invideoPromotion.items[]
zasobuchannel
została zaktualizowana, aby wskazać, że na kanale można zwykle ustawić tylko jeden promowany element. Jeśli spróbujesz wstawić zbyt wiele promowanych produktów, interfejs API zwróci błądtooManyPromotedItems
, który ma 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, które właściciel kanału opublikował w strumieniu aktywności kanału;postedVideos
– filmy, które właściciel kanału opublikował w strumieniu aktywności kanału;subscriptions
– kanały, które subskrybuje właściciel kanału.
-
Nowa właściwość
contentDetails.contentRating.ifcoRating
zasobuvideo
wskazuje ocenę przyznaną filmowi przez irlandzki urząd ds. klasyfikacji filmów. -
Zmieniliśmy definicję właściwości
position.cornerPosition
zasobuwatermark
, aby wskazać, że znak wodny zawsze pojawia się w prawym górnym rogu odtwarzacza. -
Zaktualizowano definicję parametru
q
w metodziesearch.list
, aby wskazać, że w wyszukiwanym haśle można użyć operatora logicznego NOT (-
), aby wykluczyć filmy powiązane z określonym hasłem wyszukiwania. Wartość może też zawierać operator logiczny LUB (|
), aby znaleźć filmy powiązane z jednym z kilku wyszukiwanych haseł. -
Definicja właściwości
pageInfo.totalResults
, która jest zwracana w odpowiedzi interfejsu API na wywołaniesearch.list
, została zaktualizowana, aby wskazać, że wartość jest przybliżeniem i może nie odpowiadać dokładnej wartości. Maksymalna wartość to 1 000 000. Nie należy używać tej wartości do tworzenia linków do stron powiązanych. Zamiast tego użyj wartości właściwościnextPageToken
iprevPageToken
, aby określić, czy wyświetlać linki do stronowanej listy. -
Metody
watermarks.set
iwatermarks.unset
zostały zaktualizowane, aby odzwierciedlić fakt, że interfejs API zwraca kod odpowiedzi HTTP204
w przypadku żądań wysłanych do tych metod i zakończonych powodzeniem.
2 maja 2014 r.
Ta aktualizacja zawiera następujące zmiany:
-
Nowy zasób
i18nLanguage
identyfikuje język aplikacji obsługiwany przez witrynę YouTube. Język aplikacji może być też nazywany językiem interfejsu. W przypadku witryny YouTube język aplikacji mógł być wybierany automatycznie na podstawie ustawień konta Google, języka przeglądarki lub lokalizacji adresu IP. Użytkownik mógł też ręcznie wybrać odpowiedni język interfejsu w stopce witryny YouTube.Interfejs API obsługuje metodę wyświetlania obsługiwanych języków aplikacji. Obsługiwane języki mogą być używane jako wartość parametru
hl
podczas wywoływania metod interfejsu API, takich jakvideoCategories.list
iguideCategories.list
. -
Nowy zasób
i18nRegion
identyfikuje obszar geograficzny, który użytkownik YouTube może wybrać jako preferowany region treści. Region treści może być też określany jako lokalizacja 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. Użytkownik może też ręcznie wybrać odpowiedni region treści w stopce witryny YouTube.Interfejs API obsługuje metodę listowania obsługiwanych regionów treści. Obsługiwane kody regionów mogą być używane jako wartość parametru
regionCode
podczas wywoływania metod interfejsu API, takich jaksearch.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 kanał wybrał do wyróżnienia. Może to być na przykład sekcja z najnowszymi lub najpopularniejszymi filmami z kanału albo z playlist.Interfejs API obsługuje metody list, insert, update i delete dotyczące listy sekcji kanału. Możesz pobrać listę sekcji kanału zalogowanego użytkownika, podając konkretny identyfikator kanału lub listę unikalnych identyfikatorów sekcji kanału.
Zaktualizowaliśmy też dokumentację błędów, aby zawierała opisy komunikatów o błędach obsługiwanych przez interfejs API w przypadku tych nowych metod.
-
Definicja obiektu
fileDetails
zasobuvideo
została zaktualizowana, aby wyjaśnić, że obiekt ten zostanie zwrócony tylko wtedy, gdy wartość właściwościprocessingDetails.fileDetailsAvailability
filmu wynosiavailable
.Zmieniliśmy też definicję obiektu
suggestions
zasobuvideo
, aby wyjaśnić, że obiekt ten zostanie zwrócony tylko wtedy, gdy właściwośćprocessingDetails.tagSuggestionsAvailability
lubprocessingDetails.editorSuggestionsAvailability
filmu ma wartośćavailable
. -
Dokumentacja metod
videos.insert
ivideos.update
została zaktualizowana, aby odzwierciedlić możliwość ustawiania właściwościstatus.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, aby odzwierciedlić fakt, że ta metoda nie obsługuje parametruonBehalfOfContentOwner
. To był błąd w dokumentacji, ponieważvideos.rate
z ustawionym tym parametrem zwraca błąd500
.
31 marca 2014 r.
Ta aktualizacja zawiera następujące zmiany:
-
Nowa właściwość
status.publishAt
zasobuvideo
umożliwia określenie daty i godziny zaplanowanej publikacji filmu prywatnego. Tej właściwości można ustawić tylko wtedy, gdy stan prywatności filmu toprivate
i film nie został jeszcze 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
dla zasobówchannel
. Nowa część zawiera dane kanału, które są istotne dla partnerów YouTube powiązanych z kanałem, w tym identyfikator właściciela treści powiązany z kanałem oraz datę i godzinę połączenia właściciela treści z kanałem. Pamiętaj, że ta nowa część nie podlega zasadom wycofywania. -
Dokumentacja zawiera teraz informacje o maksymalnej obsługiwanej długości 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 to lista, a przecinki między elementami na liście 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 te właściwości zasobu
video
: -
Dokumentacja błędów zawiera teraz kod odpowiedzi HTTP dla każdego typu błędu.
-
Interfejs API obsługuje teraz te błędy:
Typ błędu Szczegóły błędu Opis badRequest (400)
invalidCriteria
Metoda channels.list
zwraca ten błąd, jeśli żądanie określa parametry filtra, których nie można używać razem.badRequest (400)
channelTitleUpdateForbidden
Metoda channels.update
zwraca ten błąd, jeśli spróbujesz zaktualizować częśćbrandingSettings
kanału i zmienić wartość właściwościbrandingSettings.channel.title
. (pamiętaj, że jeśli pominiesz tę właściwość, interfejs API nie zwróci błędu).badRequest (400)
invalidRecentlyUploadedBy
Metoda channels.update
zwraca ten błąd, jeśli właściwośćinvideoPromotion.items[].id.recentlyUploadedBy
określa nieprawidłowy identyfikator kanału.badRequest (400)
invalidTimingOffset
Metoda channels.update
zwraca ten błąd, jeśli częśćinvideoPromotion
określa nieprawidłowy przesunięcie czasu.badRequest (400)
tooManyPromotedItems
Metoda channels.update
zwraca ten błąd, jeśli częśćinvideoPromotion
określa więcej niż dozwoloną liczbę promowanych elementów.forbidden (403)
promotedVideoNotAllowed
Metoda channels.update
zwraca ten błąd, jeśli właściwośćinvideoPromotion.items[].id.videoId
określa identyfikator filmu, który nie może zostać znaleziony lub użyty jako promowany element.forbidden (403)
websiteLinkNotAllowed
Metoda channels.update
zwraca ten błąd, jeśli właściwośćinvideoPromotion.items[].id.websiteUrl
określa adres URL, który jest niedozwolony.required (400)
requiredTimingType
Metoda channels.update
zwraca ten błąd, jeśli żądanie nie określa domyślnych ustawień czasu, w którym YouTube ma wyświetlać promowany element.required (400)
requiredTiming
Metoda channels.update
musi określać obiektinvideoPromotion.items[].timing
dla każdego promowanego produktu.required (400)
requiredWebsiteUrl
Metoda channels.update
musi określać właściwośćinvideoPromotion.items[].id.websiteUrl
dla każdego promowanego produktu.badRequest (400)
invalidPublishAt
Metoda videos.insert
zwraca ten błąd, jeśli metadane żądania określają nieprawidłowy zaplanowany 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. Pamiętaj, że strona z listą interfejsów API objętych zasadami wycofywania wyraźnie wyklucza niektóre funkcje interfejsu API w wersji 3.
5 grudnia 2013 r.
Ta aktualizacja zawiera następujące zmiany:
-
Dokumentacja metody
search.list
została zaktualizowana, aby odzwierciedlić, że podczas przesyłania żądania wyszukiwania nie musisz określać wartości dla dokładnie jednego parametru filtra. Możesz jednak ustawić wartość dla 0 parametrów filtra lub dla 1 parametru filtra. -
Definicje parametrów metody
search.list
zostały zaktualizowane, aby uwzględnić fakt, że jeśli podasz wartość dowolnego z tych parametrów:type
video
eventType
videoCaption
videoCategoryId
videoDefinition
videoDimension
videoDuration
videoEmbeddable
videoLicense
videoSyndicated
videoType
-
Minimalny rozmiar przesyłanych obrazów banera kanału został zmniejszony do 2048 x 1152 pikseli. (wcześniej minimalny rozmiar wynosił 2120 x 1192 piksele). Pamiętaj też, że w dokumentacji zasobu
channel
podano maksymalne rozmiary wszystkich obrazów banera obsługiwanych przez interfejs API. Na przykład maksymalny rozmiar obrazubrandingSettings.image.bannerTvImageUrl
w przypadku aplikacji telewizyjnych to 2120 x 1192 pikseli, ale rzeczywisty obraz może mieć rozmiar 2048 x 1152 piksele. W Centrum pomocy YouTube znajdziesz dodatkowe wskazówki dotyczące optymalizacji grafiki kanału pod kątem wyświetlania na różnych urządzeniach. -
Zaktualizowaliśmy definicje kilku właściwości zasobów
channel
, aby odzwierciedlały te informacje:- Wartość właściwości
brandingSettings.channel.description
może mieć maksymalnie 1000 znaków. - Właściwość
brandingSettings.channel.featuredChannelsTitle
może mieć maksymalnie 30 znaków. - Właściwość
brandingSettings.channel.featuredChannelsUrls[]
może teraz zawierać maksymalnie 100 kanałów. - Wartość właściwości
brandingSettings.channel.unsubscribedTrailer
, jeśli jest ustawiona, musi zawierać identyfikator filmu publicznego lub niepublicznego należącego do właściciela 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 nazwa właściciela treści będzie wyświetlana podczas wyświetlania promocji. Można go ustawić tylko wtedy, gdy żądanie interfejsu API, które ustawia wartość właściwości, 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 kilku innych metodach. -
Właściwość
contentDetails.contentRating.acbRating
może teraz określać ocenę australijskiej organizacji Australian Classification Board (ACB) dla filmów lub australijskiej organizacji Australian Communications and Media Authority (ACMA) dla programów telewizyjnych dla dzieci. -
Nowe właściwości
contentDetails.contentRating.catvRating
icontentDetails.contentRating.catvfrRating
wskazują oceny otrzymane przez film w kanadyjskim systemie klasyfikacji telewizyjnej i francuskojęzycznym systemie oceny Régie du cinéma, który jest używany w Quebecu. -
Nowa właściwość
videoCategory
zasobusnippet.assignable
wskazuje, czy z daną kategorią filmu można powiązać zaktualizowane lub nowo przesłane filmy. -
Dodano przykłady kodu dla tych metod:
activities.insert
(Go)channelBanners.insert
(Python)channels.update
(Python)playlistItems.list
(Go)search.list
(Go)thumbnails.set
(Java)videos.insert
(Go)
24 października 2013 r.
Ta aktualizacja zawiera następujące zmiany:
-
Interfejs API zawiera 2 dodatkowe funkcje ułatwiające znajdowanie i prezentowanie treści z transmisji na żywo:
Nowa właściwość
snippet.liveBroadcastContent
w wynikach wyszukiwania wskazuje, czy film lub zasób kanału zawiera treści z transmisji na żywo. Prawidłowe wartości właściwości toupcoming
,active
inone
.-
Nowa właściwość
video
zasobusnippet.liveBroadcastContent
wskazuje, czy film jest nadchodzącą czy aktywną transmisją na żywo. Poniżej znajdziesz listę możliwych wartości tej właściwości:upcoming
– film jest transmisją na żywo, która jeszcze się nie rozpoczęła.active
– film jest transmitowany na żywo.none
– film nie jest nadchodzącą ani aktywną transmisją na żywo. Będzie to wartość właściwości dla zakończonych transmisji, które nadal można oglądać w YouTube.
-
Nowa właściwość
liveStreamingDetails
zasobuvideo
to obiekt zawierający metadane dotyczące transmisji strumieniowej wideo. Aby pobrać te metadane, dodajliveStreamingDetails
do listy części zasobu w wartości parametrupart
. Metadane zawierają te nowe właściwości:liveStreamingDetails.actualStartTime
– godzina, o której rozpoczęła się transmisja. (ta wartość będzie widoczna, gdy stan transmisji będzie wynosiłactive
).liveStreamingDetails.actualEndTime
– czas zakończenia transmisji. (ta wartość będzie widoczna po zakończeniu transmisji).liveStreamingDetails.scheduledStartTime
– godzina rozpoczęcia transmisji.liveStreamingDetails.scheduledEndTime
– godzina planowanego zakończenia transmisji. Jeśli wartość właściwości jest pusta lub właściwości nie ma, transmisja jest zaplanowana na czas nieokreślony.liveStreamingDetails.concurrentViewers
– liczba osób oglądających transmisję na żywo.
Aby pobrać te metadane, podczas wywoływania metody
videos.list
,videos.insert
lubvideos.update
podaj wartość parametrupart
, która zawiera wartośćliveStreamingDetails
.
1 października 2013 r. zostały opublikowane 2 inne funkcje identyfikacji treści transmisji na żywo: parametr
search.list
metodyeventType
i właściwośćsnippet.liveBroadcastContent
wyników wyszukiwania. -
-
Metoda
videos.insert
obsługuje teraz parametrnotifySubscribers
, który wskazuje, czy YouTube ma wysłać powiadomienie o nowym filmie do użytkowników, którzy subskrybują kanał. Domyślna wartość parametru toTrue
, co oznacza, że subskrybenci będą otrzymywać powiadomienia o nowo przesłanych filmach. Właściciel kanału, który przesyła wiele filmów, może jednak ustawić wartość naFalse
, aby uniknąć wysyłania powiadomień o każdym nowym filmie do subskrybentów. -
Lista właściwości, które można modyfikować podczas wywoływania metody
channels.update
, została zaktualizowana i uwzględnia właściwościinvideoPromotion.items[].customMessage
iinvideoPromotion.items[].websiteUrl
. Lista została też zmodyfikowana, aby wskazywać 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 ma wpływu na dotychczasową funkcjonalność interfejsu API. -
Metody
playlists.insert
,playlists.update
iplaylists.delete
obsługują teraz parametronBehalfOfContentOwner
, który jest już obsługiwany przez kilka innych metod. -
Metoda
playlists.insert
obsługuje teraz parametronBehalfOfContentOwnerChannel
, który jest już obsługiwany w kilku innych metodach. -
Właściwość
contentDetails.contentRating.tvpgRating
zasobuvideo
obsługuje teraz wartośćpg14
, która odpowiada ocenieTV-14
. -
Definicja właściwości
snippet.liveBroadcastContent
, która jest częścią wyników wyszukiwania, została poprawiona, aby odzwierciedlała fakt, ż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) – dzieci powinny być pod opieką osoby dorosłej.mibacVm6
(V.M.6) – Dozwolone od 6 roku życia.mibacVm12
(V.M.12) – Dozwolone od 12 roku życia.
-
Nowa właściwość
invideoPromotion.items[].promotedByContentOwner
zasobuchannel
wskazuje, czy podczas wyświetlania promocji ma być widoczna nazwa właściciela treści. To pole może być ustawiane tylko wtedy, gdy żądanie interfejsu API, które określa wartość, jest wysyłane w imieniu właściciela treści. Więcej informacji znajdziesz w przypadku parametruonBehalfOfContentOwner
.
1 października 2013 r.
Ta aktualizacja zawiera następujące zmiany:
-
Nowy obiekt
auditDetails
zasobuchannel
zawiera dane kanału, które sieć wielokanałowa (MCN) ocenia, aby określić, czy dany kanał ma zostać zaakceptowany, czy odrzucony. Pamiętaj, że każde żądanie interfejsu API, które pobiera tę część zasobu, musi zawierać token autoryzacji z zakresemhttps://www.googleapis.com/auth/youtubepartner-channel-audit
. Ponadto każdy token, który wykorzystuje ten zakres, musi zostać cofnięty, gdy sieć wielokanałowa zdecyduje się zaakceptować lub odrzucić kanał, lub w ciągu 2 tygodni od daty wydania tokena. -
Właściwość
invideoPromotion.items[].id.type
zasobuchannel
obsługuje teraz wartośćrecentUpload
, która wskazuje, że promowany element to ostatnio przesłany film z określonego kanału.Domyślnie jest to ten sam kanał, dla którego ustawiono dane dotyczące promocji w filmie. 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
ibrandingSettings.image.bannerTvHighImageUrl
, które określają adresy URL obrazów banera wyświetlanych na stronach kanału w aplikacjach telewizyjnych. -
Nowa właściwość
snippet.liveBroadcastContent
w wynikach wyszukiwania wskazuje, czy film lub zasób kanału zawiera treści z transmisji na żywo. Prawidłowe wartości właściwości toupcoming
,active
inone
.- W przypadku zasobu
video
wartośćupcoming
wskazuje, że film jest transmisją na żywo, która jeszcze się nie rozpoczęła, a wartośćactive
wskazuje, że film jest trwającą transmisją na żywo. - W przypadku zasobu
channel
wartośćupcoming
oznacza, że na kanale jest zaplanowana transmisja, która jeszcze się nie rozpoczęła, a wartośćacive
oznacza, że na kanale trwa transmisja na żywo.
- W przypadku zasobu
-
W zasobie
watermark
właściwośćtargetChannelId
zmieniła się z obiektu na ciąg znaków. Zamiast zawierać usługę podrzędną, która określa identyfikator kanału YouTube, do którego linkuje obraz znaku wodnego, usługatargetChannelId
określa teraz tę wartość samodzielnie. 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 kilku innych metodach. -
Metoda
search.list
obsługuje teraz parametreventType
, który ogranicza wyszukiwanie do zwracania tylko aktywnych, nadchodzących lub zakończonych wydarzeń z transmisją na żywo. -
Nowa właściwość
contentDetails.contentRating.mibacRating
wskazuje ocenę filmu otrzymaną od włoskiego Ministerstwa Dziedzictwa Kulturowego, Turystyki i Kultury. -
Interfejs API obsługuje teraz te błędy:
Typ błędu Szczegóły błędu Opis badRequest
invalidImage
Metoda thumbnails.set
zwraca ten błąd, jeśli podany obraz jest nieprawidłowy.forbidden
videoRatingDisabled
Metoda videos.rate
zwraca ten błąd, jeśli właściciel filmu, który jest oceniany, wyłączył oceny.
27 sierpnia 2013 r.
Ta aktualizacja zawiera następujące zmiany:
-
Nowy zasób
watermark
identyfikuje obraz wyświetlany podczas odtwarzania filmów na określonym kanale. Możesz też określić kanał docelowy, do którego będzie prowadzić link z obrazem, a także szczegóły dotyczące czasu, który określa, kiedy znak wodny ma się wyświetlać podczas odtwarzania filmu, oraz jak długo ma być widoczny.Metoda
watermarks.set
umożliwia przesłanie i ustawienie obrazu znaku wodnego kanału. Metodawatermarks.unset
usuwa obraz znaku wodnego kanału.Dokumentacja błędów zawiera opisy komunikatów o błędach obsługiwanych przez interfejs API 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. Dlatego, jeśli liczba subskrybentów jest publicznie widoczna, wartość tej właściwości tofalse
. -
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 ma zostać pobrany wykres. Tego parametru można używać tylko w połączeniu z parametremchart
. Wartość parametru to kod kraju w formacie ISO 3166-1 alpha-2. -
Dokument
error documentation
opisuje nowy typowy błąd żądania, który może wystąpić w przypadku wielu metod interfejsu API:Typ błędu Szczegóły błędu Opis forbidden
insufficientPermissions
Zakresy powiązane z tokenem OAuth 2.0 podanym w żądaniu są niewystarczające do uzyskania dostępu do żądanych danych.
15 sierpnia 2013 r.
Ta aktualizacja zawiera następujące zmiany:
-
Obiekt
invideoPromotion
zasobuchannel
ma te nowe i zaktualizowane właściwości:-
Interfejs API obsługuje teraz możliwość określenia 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
, aby określić adres URL. Użyj też nowej właściwościinvideoPromotion.items[].customMessage
, aby zdefiniować komunikat niestandardowy, który będzie wyświetlany w ramach promocji.Linki mogą prowadzić do powiązanych witryn, witryn sprzedawców lub serwisów społecznościowych. Aby dowiedzieć się więcej o włączaniu linków do swoich treści, zapoznaj się z instrukcjami w Centrum pomocy YouTube dotyczącymi powiązanych witryn i witryn sprzedawców.
Dodając linki promocyjne, Użytkownik zgadza się, że linki te nie będą używane 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 YouTube i Warunkami korzystania z usługi YouTube.
-
Właściwości związane z ustawieniami czasu wyświetlania promowanych elementów podczas odtwarzania filmu zostały przebudowane:
-
Obiekt
invideoPromotion.timing
został przeniesiony do folderuinvideoPromotion.items[].timing
. Ten obiekt umożliwia teraz dostosowywanie danych dotyczących czasu dla każdego promowanego elementu na liścieinvideoPromotion.items[]
. -
Nowy obiekt
invideoPromotion.defaultTiming
określa domyślne ustawienia czasu promocji. Te ustawienia określają, kiedy promowany element będzie wyświetlany podczas odtwarzania filmów na Twoim kanale. Możesz zastąpić domyślne ustawienie czasu dla dowolnego promowanego produktu 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
, w którym określa się domyślny czas wyświetlania promowanego produktu.
-
-
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 dla tych metod:
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, Python)
Pamiętaj, że przykład w Pythonie dla metody
playlistItems.insert
został również usunięty, ponieważ funkcja, którą demonstrował, jest teraz obsługiwana przez metodęvideos.rate
. -
W dokumentacji
error documentation
opisano nowy błąd kontekstu żądania, który może wystąpić w przypadku dowolnej metody interfejsu API obsługującej parametrmine
: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. Należy 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 dostępny w przypadku wywoływanej metody.
8 sierpnia 2013 r.
Ta aktualizacja zawiera następujące zmiany:
-
Sekcja Wykorzystanie limitu kwoty w przewodniku Pierwsze kroki z interfejsem YouTube Data API została zaktualizowana, aby odzwierciedlić zmianę kosztu kwoty za przesyłanie filmu z około 16 tys. na około 1600 jednostek.
30 lipca 2013 r.
Ta aktualizacja zawiera następujące zmiany:
-
W zasobie
channelBanner
wartość właściwościkind
zmieniła się zyoutube#channelBannerInsertResponse
nayoutube#channelBannerResource
. Ten zasób jest zwracany w odpowiedzi na żądaniechannelBanners.insert
. -
Nowa właściwość
brandingSettings.channel.profileColor
zasobuchannel
określa wyróżniający się kolor, który uzupełnia treść kanału. Wartość właściwości to znak funta (#
), po którym następuje 6-znakowy ciąg szesnastkowy, np.#2793e6
. -
Interfejs API umożliwia teraz określenie, czy subskrypcja obejmuje wszystkie aktywności na kanale, czy tylko nowe przesłane treści. Nowa właściwość
subscription
zasobusubscription
określa typy działań, o których subskrybent otrzyma powiadomienie.contentDetails.activityType
Prawidłowe wartości właściwości toall
iuploads
. -
Metoda
videos.list
obsługuje nowe parametry służące do pobierania listy najpopularniejszych filmów w YouTube:- Parametr
chart
identyfikuje wykres, który chcesz pobrać. Obecnie obsługiwana jest tylko wartośćmostPopular
. 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ę filmu, dla której ma zostać pobrany 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
zawiera listę identyfikatorów tematów Freebase, które są powiązane z filmem lub jego treścią. Tematy te mogą być wspomniane w filmie lub pojawić się w nim. -
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 film otrzymał w ramach różnych systemów oceny, w tym MPAA, TVPG itp. Interfejs API obsługuje teraz wartość oceny dla każdego systemu oceny, która wskazuje, że film nie został oceniony. Pamiętaj, że w przypadku ocen MPAA często używana jest ocena „bez oceny”, aby wskazać nieocenione wersje filmów, których ocena została przyznana w przypadku wersji ocenzurowanej. -
Nowa właściwość
contentDetails.contentRating.ytRating
zasobuvideo
wskazuje treści z ograniczeniem wiekowym. Wartość tej właściwości toytAgeRestricted
, jeśli YouTube zidentyfikował film jako zawierający treści nieodpowiednie dla użytkowników poniżej 18 roku życia. Jeśli właściwość jest nieobecna lub jej wartość jest pusta, oznacza to, że treści nie zostały oznaczone jako objęte ograniczeniem wiekowym. -
Parametr
mySubscribers
metodychannels.list
został wycofany. Aby pobrać listę subskrybentów kanału uwierzytelnionego użytkownika, użyj metodysubscriptions.list
i jej 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 określonego w wartości parametru. -
Dokumentacja metody
channels.update
została zaktualizowana, aby odzwierciedlić fakt, że można jej używać do aktualizowania obiektubrandingSettings
zasobuchannel
i jego właściwości podrzędnych. Dokumentacja zawiera też zaktualizowaną listę właściwości, które możesz ustawić dla obiektuinvideoPromotion
zasobuchannel
. -
Plik
error documentation
zawiera opis tych nowych błędów:Typ błędu Szczegóły błędu Opis forbidden
accountDelegationForbidden
Ten błąd nie dotyczy konkretnej metody interfejsu API. Wskazuje, ż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. Wskazuje, że konto YouTube uwierzytelnionego użytkownika zostało zamknięte. Jeśli użytkownik działa w imieniu innego konta Google, ten błąd oznacza, że to drugie konto zostało zamknięte. forbidden
authenticatedUserAccountSuspended
Ten błąd nie dotyczy konkretnej metody interfejsu API. Wskazuje na to, że konto YouTube uwierzytelnionego użytkownika zostało zawieszone. Jeśli użytkownik działa w imieniu innego konta Google, ten błąd oznacza, że to drugie konto jest zawieszone. forbidden
authenticatedUserNotChannel
Ten błąd nie dotyczy konkretnej metody interfejsu API. Wskazuje, że serwer interfejsu API nie może zidentyfikować kanału powiązanego z żądaniem interfejsu API. Jeśli żądanie jest autoryzowane i używa parametru onBehalfOfContentOwner
, musisz też ustawić parametronBehalfOfContentOwnerChannel
.forbidden
cmsUserAccountNotFound
Ten błąd nie dotyczy konkretnej metody interfejsu API. Użytkownik CMS nie może działać w imieniu określonego właściciela treści. notFound
contentOwnerAccountNotFound
Ten błąd nie dotyczy konkretnej metody interfejsu API. Nie znaleziono podanego konta właściciela treści. badRequest
invalidPart
Ten błąd nie dotyczy konkretnej metody interfejsu API. Parametr part
w żądaniu określa części, których nie można zapisać w tym samym czasie.badRequest
videoChartNotFound
Metoda videos.list
zwraca ten błąd, gdy żądanie określa nieobsługiwany lub niedostępny schemat wideo.notFound
videoNotFound
Metoda videos.update
zwraca ten błąd, aby wskazać, że nie można znaleźć filmu, który chcesz zaktualizować. Sprawdź wartość właściwościid
w treści żądania, aby mieć pewność, że jest prawidłowa.
10 czerwca 2013 r.
Ta aktualizacja zawiera następujące zmiany:
-
Nowy parametr
forUsername
metodychannels.list
umożliwia pobieranie informacji o kanale przez podanie jego nazwy użytkownika w YouTube. -
Metoda
activities.list
obsługuje teraz parametrregionCode
, który instruuje interfejs API, aby zwracał wyniki odpowiednie dla określonego kraju. YouTube używa tej wartości, gdy poprzednia aktywność autoryzowanego użytkownika w YouTube nie zawiera wystarczającej ilości informacji do wygenerowania kanału aktywności. -
Zasoby playlist zawierają teraz właściwość
snippet.tags
. Usługa zostanie zwrócona tylko autoryzowanym użytkownikom, którzy pobierają dane o własnych playlistach. Autoryzowani użytkownicy mogą też ustawiać tagi playlist podczas wywoływania metodplaylists.insert
lubplaylists.update
. -
Parametr
onBehalfOfContentOwner
, który był wcześniej obsługiwany w przypadku metodchannels.list
isearch.list
, jest teraz obsługiwany również w przypadku metodvideos.insert
,videos.update
ivideos.delete
. Pamiętaj, że gdy ten parametr jest używany w wywołaniu metodyvideos.insert
, żądanie musi też zawierać wartość nowego parametruonBehalfOfContentOwnerChannel
, który identyfikuje kanał, do którego zostanie dodany film. Kanał musi być połączony z właścicielem treści, którego określa parametronBehalfOfContentOwner
.Parametr wskazuje, że dane logowania autoryzujące żądanie identyfikują użytkownika systemu CMS YouTube, który działa w imieniu właściciela treści określonego w wartości parametru. Konto CMS, za pomocą którego użytkownik się uwierzytelnia, musi być powiązane z określonym właścicielem treści w YouTube.
Ten parametr jest przeznaczony dla partnerów, którzy są właścicielami wielu kanałów YouTube i nimi zarządzają. Parametr umożliwia im jednorazowe uwierzytelnienie i uzyskanie dostępu do wszystkich danych o filmach i kanałach bez konieczności podawania danych uwierzytelniających dla każdego kanału.
W tej wersji parametr umożliwia partnerowi dodawanie, aktualizowanie i usuwanie filmów na dowolnym z jego kanałów w YouTube.
-
Plik
error documentation
zawiera opis tych nowych błędów:Typ błędu Szczegóły błędu Opis forbidden
insufficientCapabilities
Ten błąd nie dotyczy konkretnej metody interfejsu API. Oznacza to, że użytkownik systemu CMS wywołujący interfejs API nie ma wystarczających uprawnień do wykonania żądanej operacji. Ten błąd jest związany z użyciem parametru onBehalfOfContentOwner
, który jest obsługiwany w kilku metodach 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
usunięto właściwośćinvideoPromotion.channelId
, ponieważ identyfikator kanału jest już podany za pomocą właściwościid
tego zasobu. -
Nowy przewodnik Praca z identyfikatorami kanałów wyjaśnia, jak interfejs API używa identyfikatorów kanałów. Przewodnik może być szczególnie przydatny dla deweloperów, którzy przechodzą z poprzedniej wersji interfejsu API i mają aplikacje, które proszą o treści dla użytkownika
default
lub opierają się na założeniu, że każdy kanał w YouTube ma unikalny identyfikator użytkownika, co nie jest już prawdą.
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 następnie ustawić jako obraz banera dla kanału za pomocą nowej właściwościbrandingSettings.image.bannerExternalUrl
zasobuchannel
. -
Dokumentacja metody
channels.update
została zaktualizowana i zawiera listę właściwości, które można modyfikować podczas wywoływania tej metody. -
Dokumentacja zasobu
video
nie zawiera już wartościunspecified
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
. -
Plik
error documentation
zawiera teraz listę błędów metodchannelBanners.insert
isubscriptions.list
. Zawiera on też kilka nowych błędów dotyczących metodychannels.update
.
14 maja 2013 r.
Ta aktualizacja zawiera następujące zmiany:
-
Na stronach samodzielnych znajdziesz teraz przykłady kodu w językach Java, .NET, PHP i Ruby.
-
Strona z przykładami kodu Python zawiera teraz przykłady dodawania subskrypcji, tworzenia playlist i aktualizowania filmów.
10 maja 2013 r.
Ta aktualizacja zawiera następujące zmiany:
-
YouTube nie identyfikuje już eksperymentalnych funkcji i usług interfejsu API. Zamiast tego udostępniamy listę interfejsów YouTube API, 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 zawiera informacje o kampanii promocyjnej powiązanej z kanałem. Kanał może wyświetlać kampanię promocyjną w filmie, aby wyświetlać miniatury promowanych filmów w odtwarzaczu podczas odtwarzania filmów na kanale.Aby pobrać te dane, w żądaniu
channels.list
podaj wartość parametrupart
jakoinvideoPromotion
. -
Nowa metoda
channels.update
może służyć do aktualizowania danych o kampanii promującej kanał w filmie. Pamiętaj, że ta metoda obsługuje tylko aktualizacje częściinvideoPromotion
zasobuchannel
i jeszcze nie obsługuje 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 w YouTube lub kontem Google+. Użytkownik, który ma jeden z tych linków, ma już publiczną tożsamość w YouTube, która jest warunkiem wstępnym do wykonywania pewnych działań, takich jak przesyłanie filmów. -
Zasoby subskrypcji obsługują teraz część
subscriberSnippet
. Ten obiekt zawiera dane z fragmentu kanału subskrybenta. -
Interfejs API obsługuje teraz metodę
videos.getRating
, która pobiera oceny przyznane przez uwierzytelnionego użytkownika liście co najmniej 1 filmu. -
Nowy parametr
myRating
metodyvideos.list
umożliwia pobranie listy filmów, które uwierzytelniony użytkownik ocenił nalike
lubdislike
.Parametry
myRating
iid
są teraz uważane za parametry filtra, co oznacza, że żądanie interfejsu 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ą do tego odpowiednich uprawnień. -
Wraz z wprowadzeniem parametru
myRating
zaktualizowaliśmy też metodęvideos.list
, aby obsługiwała podział na strony. Pamiętaj jednak, że parametry podziału są obsługiwane tylko w przypadku żądań z parametremmyRating
. (parametry i informacje dotyczące przewijania nie są obsługiwane w przypadku zapytań, które używają parametruid
).-
Parametr
maxResults
określa maksymalną liczbę filmów, które interfejs API może zwrócić w zbiorze wyników, a parametrpageToken
wskazuje konkretną stronę w zbiorze wyników, którą chcesz pobrać. -
Zasób
youtube#videoListResponse
, który jest zwracany w odpowiedzi na żądanievideos.list
, zawiera teraz obiektpageInfo
, który zawiera takie szczegóły jak łączna liczba wyników i liczba wyników zawartych w bieżącym zbiorze wyników. Zasóbyoutube#videoListResponse
może też zawierać właściwościnextPageToken
iprevPageToken
, z których każda udostępnia token, który można wykorzystać do pobrania konkretnej strony w zbiorze wyników.
-
-
Metoda
videos.insert
obsługuje te nowe parametry:autoLevels
– ustaw tę wartość parametru natrue
, aby YouTube automatycznie poprawił oświetlenie i kolorystykę filmu.stabilize
– ustaw tę wartość parametru natrue
, aby zlecić YouTube dostosowanie filmu przez usunięcie drgań spowodowanych ruchem kamery.
-
Właściwość
channelTitle
została dodana do plikusnippet
w przypadku tych zasobów:playlistItem
– właściwość ta określa nazwę kanału, który dodał element playlisty.playlist
– ta właściwość określa nazwę kanału, który utworzył playlistę.subscription
– ta właściwość określa nazwę kanału, do którego użytkownik jest subskrybowany.
-
Dodano przykłady kodu dla tych metod:
activities.insert
(Ruby)playlistItems.list
(.NET)search.list
(.NET)subscriptions.insert
(Java, Ruby)videos.insert
(.NET, Ruby)
-
Nowy parametr
mySubscribers
metodysubscriptions.list
umożliwia pobranie listy subskrybentów aktualnie uwierzytelnionego użytkownika. Tego parametru można używać tylko w prawidłowo autoryzowanym żądaniu.Uwaga: ta funkcja ma zastąpić parametr
mySubscribers
, który jest obecnie obsługiwany w przypadku metodychannels.list
. Ten parametr zostanie wycofany. -
W zasobie
video
wartość właściwościunspecified
nie jest już możliwa w przypadku żadnej z tych właściwości: -
Żądania interfejsu API zawierające nieoczekiwany parametr zwracają teraz błąd
badRequest
, a zgłaszany powód błędu tounexpectedParameter
. -
Zaktualizowano błąd zwracany przez metodę
playlistItems.insert
, gdy playlista zawiera już maksymalną liczbę dozwolonych elementów. Błąd jest teraz zgłaszany jako błądforbidden
, a jego przyczyną jestplaylistContainsMaximumNumberOfVideos
.
19 kwietnia 2013 r.
Ta aktualizacja zawiera następujące zmiany:
-
Nowa metoda
videos.rate
umożliwia użytkownikowi ustawienie ocenylike
lubdislike
dla filmu lub jej usunięcie.Zaktualizowaliśmy też dokumentację błędów, aby zawierała listę błędów, które interfejs API może zwrócić w odpowiedzi na wywołanie metody
videos.rate
. -
W dokumentacji interfejsu API miniatury są teraz identyfikowane jako oddzielne zasoby, a nowa metoda
thumbnails.set
umożliwia przesyłanie niestandardowych miniatur filmów do YouTube i ustawianie ich dla filmów.Zaktualizowaliśmy też dokumentację błędów, aby zawierała listę błędów, które interfejs API może zwrócić w odpowiedzi na wywołanie metody
thumbnails.set
.Pamiętaj, że ta zmiana nie ma wpływu na istniejące zasoby, które zwracają miniatury. Miniatury są zwracane w tych zasobach w taki sam sposób jak wcześniej, ale dokumentacja zawiera teraz nazwy różnych rozmiarów miniatur, które może zwrócić interfejs API.
-
Nowa część
brandingSettings
zasobubrandingSettings
identyfikuje ustawienia, tekst i obrazy na stronie kanału oraz stronach odtwarzania filmów.channel
-
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
identyfikuje stan prywatności elementu playlisty.
-
-
Zasób
video
zawiera te nowe właściwości:-
Właściwość
status.publicStatsViewable
wskazuje, czy rozszerzone statystyki filmu na stronie odtwarzania są publicznie dostępne. Domyślnie te statystyki są widoczne, a takie dane jak liczba wyświetleń i oceny filmu będą nadal publicznie dostępne, nawet jeśli wartość tej właściwości zostanie ustawiona nafalse
. Wartość tej właściwości możesz ustawić podczas wywołania metodyvideos.insert
lubvideos.update
. -
Obiekt
contentDetails.contentRating
zawiera oceny, które film otrzymał w ramach różnych systemów oceny. Poniżej znajdziesz listę obsługiwanych systemów ocen oraz link do obiektu powiązanego z każdym z nich. Definicje właściwości wskazują obsługiwane wartości ocen 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 klasyfikacji filmów do użytku domowego (CHVRS) contentDetails.contentRating.chvrsRating
Francja Centre national 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 British Board of Film Classification (BBFC) contentDetails.contentRating.bbfcRating
Indie Central Board of Film Certification (CBFC) contentDetails.contentRating.cbfcRating
Japonia 映倫管理委員会 (EIRIN) contentDetails.contentRating.eirinRating
Korea 영상물등급위원회 (KMRB) contentDetails.contentRating.kmrbRating
Meksyk General Directorate of Radio, Television and Cinematography (RTC) contentDetails.contentRating.rtcRating
Nowa Zelandia Office of Film and Literature Classification contentDetails.contentRating.oflcRating
Rosja Narodowy Rejestr Filmów 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, aby odzwierciedlić fakt, że w zasobach wysyłanych jako treść żądania należy podać właściwośćsnippet.resourceId
. -
Metoda
search.list
obsługuje teraz te funkcje:-
Nowy parametr
forMine
ogranicza wyszukiwanie tylko do filmów uwierzytelnionego użytkownika. -
Parametr
order
umożliwia teraz sortowanie wyników według nazwy (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, które zostały wymienione 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 podają nieprawidłową ocenę gry wideo. badRequest
invalidVideoMetadata
Metadane żądania są nieprawidłowe. -
Parametr
onBehalfOfContentOwner
został usunięty z listy obsługiwanych parametrów w metodachvideos.update
ivideos.delete
.
12 marca 2013 r.
Ta aktualizacja zawiera następujące zmiany:
-
Właściwość
channelTitle
została dodana do plikusnippet
w przypadku tych zasobów: -
Metoda
search.list
obsługuje te nowe parametry:-
Parametr
channelType
pozwala ograniczyć wyszukiwanie kanałów do wszystkich kanałów lub tylko programów. -
Parametr
videoType
pozwala ograniczyć wyszukiwanie filmów tak, aby zwracać wszystkie filmy lub tylko filmy lub tylko odcinki seriali.
-
-
Definicja części
recordingDetails
zasobuvideo
została zaktualizowana, aby wskazać, że obiekt zostanie zwrócony tylko w przypadku filmu, jeśli 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 kodu. -
Kilka metod interfejsu API obsługuje nowe parametry przeznaczone wyłącznie dla partnerów treści YouTube. Partnerzy udostępniający treści w YouTube to studia filmowe i telewizyjne, wytwórnie płytowe oraz inni twórcy, którzy udostępniają swoje treści w YouTube.
-
Parametr
onBehalfOfContentOwner
wskazuje, że dane logowania autoryzujące żądanie 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ę uwierzytelnia, musi być powiązane z określonym właścicielem treści w YouTube.Ten parametr jest przeznaczony dla partnerów, którzy są właścicielami wielu kanałów YouTube i nimi zarządzają. Parametr umożliwia im jednorazowe uwierzytelnienie i uzyskanie dostępu do wszystkich danych o filmach i kanałach bez konieczności podawania danych uwierzytelniających dla każdego kanału.
Parametr ten jest obsługiwany przez metody
channels.list
,search.list
,videos.delete
,videos.list
ivideos.update
. -
Parametr
managedByMe
, który jest obsługiwany przez metodęchannels.list
, instruuje interfejs API, aby zwrócił wszystkie kanały należące do właściciela treści, które są określone przez parametronBehalfOfContentOwner
. -
Parametr
forContentOwner
, który jest obsługiwany przez metodęsearch.list
, instruuje interfejs API, aby ograniczał wyniki wyszukiwania do tych zasobów, które należą 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 zasobów
video
:-
Nowe sekcje
fileDetails
,processingDetails
isuggestions
zawierają informacje dla właścicieli filmów dotyczące przesłanych filmów. Te dane są bardzo przydatne w aplikacjach, które umożliwiają przesyłanie filmów. Obejmują one:- stan przetwarzania i postęp,
- błędy lub inne problemy występujące podczas przetwarzania filmu;
- dostępność miniatur
- sugestie dotyczące poprawy jakości filmu lub metadanych.
- szczegóły oryginalnego pliku przesłanego do YouTube;
Wszystkie te elementy może pobrać tylko właściciel filmu. Poniżej znajdziesz krótki opis nowych części, a w dokumentacji zasobów
video
znajdziesz wszystkie właściwości, które zawierają poszczególne części.-
Obiekt
fileDetails
zawiera informacje o pliku wideo przesłanym do YouTube, w tym rozdzielczość pliku, czas trwania, kodek audio i wideo, bitrate strumienia i inne. -
Obiekt
processingProgress
zawiera informacje o postępach YouTube w przetwarzaniu przesłanego pliku wideo. Właściwości obiektu wskazują bieżący stan przetwarzania i oszacowany czas pozostały do zakończenia przetwarzania filmu przez YouTube. W tym miejscu możesz też sprawdzić, czy w przypadku filmu dostępne są różne typy danych lub treści, np. szczegóły pliku czy miniatury.Ten obiekt jest przeznaczony do ankietowania, aby osoba przesyłająca film mogła śledzić postępy w przetwarzaniu przesłanego pliku wideo przez YouTube.
-
Obiekt
suggestions
zawiera sugestie, które wskazują możliwości poprawy jakości filmu lub jego metadanych.
-
Część
contentDetails
zawiera 4 nowe właściwości. Te właściwości można pobrać za pomocą żądań niezaufanego.dimension
– wskazuje, czy film jest dostępny w wersji 2D czy 3D.definition
– wskazuje, czy film jest dostępny w rozdzielczości standardowej czy wysokiej.caption
– wskazuje, czy napisy są dostępne w przypadku filmu.licensedContent
– wskazuje, czy film zawiera treści, do których roszczenie zgłosił partner treści YouTube.
-
Część
status
zawiera 2 nowe właściwości. Właściciele filmów mogą ustawiać wartości dla obu usług podczas wstawiania lub aktualizowania filmu. Te właściwości można też pobrać za pomocą żądań bez uwierzytelniania.embeddable
– wskazuje, czy film może być umieszczany w innej witrynie.license
– określa licencję filmu. Prawidłowe wartości tocreativeCommon
iyoutube
.
-
-
Definicja parametru
part
została zaktualizowana w metodachvideos.list
,videos.insert
ivideos.update
, aby uwzględnić nowo dodane elementy opisane powyżej oraz elementrecordingDetails
, który został przez pomyłkę pominięty. -
Nowa właściwość
contentDetails.googlePlusUserId
zasobuchannel
określa identyfikator profilu Google+ powiązanego z kanałem. Tej wartości można użyć do wygenerowania linku do profilu Google+. -
Każdy obiekt miniatury obrazu określa teraz jego szerokość i wysokość. Obecnie miniatury są zwracane w zasobach
activity
,channel
,playlist
,playlistItem
,search result
,subscription
ivideo
. -
Zapytanie
playlistItems.list
obsługuje teraz parametrvideoId
, który można używać w połączeniu z parametremplaylistId
, aby pobierać tylko element playlisty reprezentujący określony film.Jeśli na playliście nie ma filmu określonego przez parametr, interfejs API zwraca błąd
notFound
. -
Dokumentacja błędów zawiera opis nowego błędu
forbidden
, który wskazuje, że żądanie nie jest prawidłowo autoryzowane do wykonania określonego działania. -
Właściwość
snippet.channelId
zasobuchannel
została usunięta. Właściwośćid
zasobu ma tę samą wartość.
30 stycznia 2013 r.
Ta aktualizacja zawiera następujące zmiany:
-
Na nowej stronie błędów znajdziesz listę błędów, które może zwrócić interfejs API. Na tej stronie znajdziesz błędy ogólne, które mogą wystąpić w przypadku wielu różnych metod interfejsu API, a także błędy związane z poszczególnymi metodami.
16 stycznia 2013 r.
Ta aktualizacja zawiera następujące zmiany:
-
Przykłady kodu są teraz dostępne dla 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, Pythonsearch.list
– Java, JavaScript, Python, Rubyvideos.insert
– Java
-
Zasoby
activity
mogą teraz zgłaszać działaniechannelItem
, które występuje, gdy YouTube dodaje film do automatycznie wygenerowanego kanału w YouTube. (YouTube automatycznie identyfikuje tematy, które cieszą się dużą popularnością na stronie YouTube, i generuje kanały tematyczne). -
Zaktualizowaliśmy te parametry
search.list
:- Parametr
q
nie jest już wyznaczany jako filtr, co oznacza, że - Parametr
relatedToVideo
został przemianowany narelatedToVideoId
. - Parametr
published
został zastąpiony 2 nowymi parametrami:publishedAfter
ipublishedBefore
, które zostały opisane poniżej.
- Parametr
-
Metoda
search.list
obsługuje te nowe parametry:Nazwa parametru Wartość Opis channelId
string
Zwraca zasoby utworzone przez określony kanał. publishedAfter
datetime
Zwraca zasoby utworzone po określonym czasie. publishedBefore
datetime
Zwraca zasoby utworzone przed określonym czasem. regionCode
string
Zwraca zasoby w wybranym kraju. videoCategoryId
string
Filtrowanie wyników wyszukiwania filmów tak, aby obejmowały tylko filmy powiązane z określoną kategorią filmów. videoEmbeddable
string
Filtrowanie wyników wyszukiwania filmów tak, aby obejmowały tylko te, które można odtwarzać w umieszczonym na stronie internetowej odtwarzaczu. Aby pobierać tylko filmy, które można osadzić, ustaw wartość parametru na true
.videoSyndicated
string
Filtrowanie wyników wyszukiwania filmów tak, aby obejmowały tylko te, które można odtwarzać poza YouTube.com. Aby pobierać tylko filmy z syndykacji, ustaw wartość parametru na true
. -
Kilka zasobów interfejsu API obsługuje nowe właściwości. W tabeli poniżej przedstawiono zasoby i ich nowe właściwości:
Zasób Nazwa usługi Wartość Opis activity
contentDetails.playlistItem.playlistItemId
string
Identyfikator elementu na playliście przypisany przez YouTube do jednoznacznej identyfikacji elementu na playliście. activity
contentDetails.channelItem
object
Obiekt zawierający informacje o zasobie dodanym do kanału. Ta właściwość jest obecna tylko wtedy, gdy wartość snippet.type
tochannelItem
.activity
contentDetails.channelItem.resourceId
object
Obiekt identyfikujący zasób dodany do kanału. Podobnie jak inne właściwości resourceId
zawiera ona właściwośćkind
, która określa typ zasobu, np. film lub playlistę. Zawiera też jedną z kilku właściwości (videoId
,playlistId
itp.), która określa identyfikator jednoznacznie identyfikujący dany zasób.channel
status
object
Ten obiekt zawiera informacje o stanie prywatności kanału. channel
status.privacyStatus
string
stan prywatności kanału. Prawidłowe wartości to private
ipublic
.playlist
contentDetails
object
Obiekt ten zawiera metadane dotyczące treści playlisty. playlist
contentDetails.itemCount
unsigned integer
Liczba filmów na playliście. playlist
player
object
Ten obiekt zawiera informacje, których używasz do odtwarzania playlisty w odtwarzaczu umieszczonym na stronie internetowej. playlist
player.embedHtml
string
Tag <iframe>
, który umieszcza odtwarzacz wideo odtwarzający playlistę.video
recordingDetails
object
Ten obiekt zawiera informacje, które identyfikują lub opisują miejsce i czas nagrania filmu. video
recordingDetails.location
object
Ten obiekt zawiera informacje o geolokalizacji powiązane z filmem. video
recordingDetails.location.latitude
double
Szerokość geograficzna w stopniach. video
recordingDetails.location.longitude
double
Długość geograficzna w stopniach. video
recordingDetails.location.elevation
double
Wysokość nad powierzchnią Ziemi w metrach. video
recordingDetails.locationDescription
string
Tekstowy opis lokalizacji, w której nagrano film. video
recordingDetails.recordingDate
datetime
Data i godzina nagrania filmu. Wartość jest podawana w formacie ISO 8601 ( YYYY-MM-DDThh:mm:ss.sZ
). -
Dokumentacja kilku metod interfejsu API zawiera teraz informacje o właściwościach, które należy określić w ciele żądania lub które są aktualizowane na podstawie wartości w ciele żądania. Tabela poniżej zawiera te metody oraz właściwości wymagane lub modyfikowalne.
Uwaga: dokumentacja innych metod może już zawierać listę wymaganych i modyfikowalnych właściwości.
Metoda Właściwości activities.insert
Właściwości wymagane: snippet.description
snippet.description
contentDetails.bulletin.resourceId
playlists.update
Właściwości wymagane: id
playlistItems.update
Właściwości wymagane: id
videos.update
Właściwości wymagane: id
-
Interfejs API nie zwraca już błędu
playlistAlreadyExists
, jeśli spróbujesz create lub zaktualizować playlistę, która ma mieć ten sam tytuł co playlista już istniejąca na tym samym kanale. -
Kilka metod interfejsu API obsługuje nowe typy błędów. W tabeli poniżej znajdziesz metodę i nowo obsługiwane błędy:
Metoda Typ błędu Szczegóły błędu Opis guideCategories.list
notFound
notFound
Nie można znaleźć kategorii przewodnika określonej przez parametr id
. Aby pobrać listę prawidłowych wartości, użyj metody guideCategories.list.playlistItems.delete
forbidden
playlistItemsNotAccessible
prośba nie jest odpowiednio upoważniona do usunięcia określonego elementu playlisty; videoCategories.list
notFound
videoCategoryNotFound
Nie można znaleźć kategorii filmu określonej przez parametr id
. Aby pobrać listę prawidłowych wartości, użyj metody videoCategories.list.