Na tej stronie znajdziesz zmiany w interfejsie YouTube Data API (v3) oraz aktualizacje dokumentacji. Zasubskrybuj ten dziennik zmian. .
30 kwietnia 2024 r.
Uwaga: to jest ogłoszenie o wycofaniu tej usługi.
Ta aktualizacja zawiera następujące zmiany:
Interfejs API nie obsługuje już możliwości wstawiania ani pobierania dyskusji na kanale. Zmiana ta wynika z funkcji dostępnej na stronie YouTube, która nie pozwala na publikowanie komentarzy na kanałach.
13 marca 2024 r.
Uwaga: to jest ogłoszenie o wycofaniu tej usługi.
Ta aktualizacja zawiera następujące zmiany:
Parametr sync
parametru
captions.insert
i
captions.update
metod
została wycofana. YouTube przestanie obsługiwać
12 kwietnia 2024 r.
W związku z tą zmianą deweloperzy muszą podać informacje o czasie w trakcie wstawiania lub nie uda się zaktualizować ścieżek z napisami.
12 marca 2024 r.
Ta aktualizacja zawiera następujące zmiany:
Dokumentacja zasobu captions
została zaktualizowana, aby zaznaczyć, że maksymalna dozwolona długość dla zasobu snippet.name
pole ma 150 znaków. Interfejs API zwraca błąd nameTooLong
jeśli nazwa ścieżki jest dłuższa.
7 marca 2024 r.
Uwaga: to jest ogłoszenie o wycofaniu tej usługi.
Właściwość zasobu channel
Usługa brandingSettings.channel.moderateComments
została wycofana. YouTube przestanie działać
obsługuje ten parametr od 7 marca 2024 r.
31 stycznia 2024 r.
Ta aktualizacja zawiera następujące zmiany:
Nowa wartość forHandle
metody channels.list
umożliwia pobieranie informacji o kanale przez określenie jego nicka YouTube.
9 listopada 2023 r.
Wszystkie odwołania do zasobu videoId
w licencji Comments
zostały usunięte, ponieważ zasób videoId
nie jest zwracany za pomocą wywołania interfejsu API.
12 września 2023 r.
Uwaga: to jest ogłoszenie o wycofaniu tej usługi.
Metoda comments.markAsSpam
została wycofana od kilku lat. Ta metoda nie jest już obsługiwana w YouTube, więc nie można
obsługiwane przez interfejs API.
Do wszystkich dokumentów odwołujących się do
Metoda comments.markAsSpam
.
22 sierpnia 2023 r.
Metoda search.list
obsługuje teraz metodę
videoPaidProductPlacement
. Umożliwia on filtrowanie wyników wyszukiwania, tak by zawierały tylko filmy, do których
twórca określił, że ma płatną promocję.
18 sierpnia 2023 r.
Definicja zasobu video
liveStreamingDetails.concurrentViewers
został zaktualizowany, aby zwrócić uwagę na to, że liczba równoczesnych widzów, którą zwraca interfejs YouTube Data API, może
różnią się od przetworzonych, pozbawionych spamu równoczesnych widzów
podanych w YouTube.
Analytics.
Centrum pomocy YouTube
zawiera więcej informacji o danych transmisji na żywo.
7 sierpnia 2023 r.
Zgodnie z ogłoszeniem z 12 czerwca 2023 r.
Metoda search.list
Parametr relatedToVideoId
został wycofany. Ten parametr nie jest już
jest obsługiwany, a odwołania do tego parametru zostały usunięte z dokumentacji interfejsu API.
28 czerwca 2023 r.
Metoda thumbnails.set obsługuje teraz
Błąd uploadRateLimitExceeded
, który oznacza, że na kanał przesłano zbyt wiele treści
miniatur w ciągu ostatnich 24 godzin. Spróbuj ponownie później.
12 czerwca 2023 r.
Uwaga: to jest ogłoszenie o wycofaniu tej usługi.
Metoda search.list
Parametr relatedToVideoId
został wycofany. YouTube przestanie obsługiwać
7 sierpnia 2023 r.
Do tej metody search.list
dodaliśmy powiadomienie o wycofaniu
dokumentacji. Ten parametr zostanie całkowicie usunięty z dokumentacji search.list
7 sierpnia 2023 r. lub później.
Dodatkowo pokazujemy, jak pobrać podobne filmy, usunąć z przewodnika po implementacji interfejsu API.
22 sierpnia 2022 r.
Poprawione adnotacje typu w atrybucie video.statistics na ciąg znaków z długości bez znaku.
5 sierpnia 2022 r.
YouTube zmienił sposób generowania identyfikatorów napisów. W ramach tej zmiany
przypisywanie nowych identyfikatorów napisów do wszystkich ścieżek napisów. Ta zmiana może być niezgodna wstecznie
dla aplikacji, które przechowują
caption_id
, ale nie będzie
wpływają na aplikacje, które nie przechowują
caption_id
wartości.
Od teraz do 1 grudnia 2022 r.
captions.list
,
captions.update
,
captions.download
i
i captions.delete
metod
obsługują zarówno stare, jak i nowe identyfikatory ścieżek z napisami. Jednak 1 grudnia 2022 r. lub później
przestaną obsługiwać stare identyfikatory ścieżek z napisami. Wtedy wywołanie dowolnej z tych metod interfejsu API
ze starym identyfikatorem ścieżki z napisami,
captionNotFound
błąd.
Aby przygotować się na tę zmianę, należy zaplanować całkowite zastąpienie wszystkich przechowywanych danych ścieżek z napisami
do 1 grudnia 2022 r. Oznacza to, że każdy film, do którego przechowujesz ścieżkę z napisami,
należy usunąć obecnie przechowywane dane, a następnie wywołać funkcję
Metoda captions.list
do pobrania
bieżący zestaw ścieżek napisów dla filmu i przechowuje dane w odpowiedzi interfejsu API w taki sam sposób, jak
w zwykły sposób.
12 lipca 2022 r.
Warunki korzystania z usług YouTube API zostały zaktualizowane. Proszę zobacz Warunki korzystania z usług YouTube API – wersja Historia.
27 kwietnia 2022 r.
Opis metody videos.insert
został zmieniony z informacją, że maksymalny rozmiar przesłanych filmów wzrósł z 128 GB do 256 GB.
8 kwietnia 2022 r.
Metoda subscriptions.list
myRecentSubscribers
i definicje parametrów mySubscribers
zostały zaktualizowane tak, aby zwracały uwagę na to, że maksymalna liczba subskrybentów zwracanych przez interfejs API może być ograniczona.
Ta zmiana jest poprawką w dokumentacji, a nie zmianą w działaniu interfejsu API.
15 grudnia 2021 r.
Zgodnie z ogłoszeniem z 18 listopada 2021 r. oraz
zmiany dotyczące oznaczania filmu jako „Nie podoba mi się”
uznaje się za prywatne na całej platformie YouTube, zasób video
to
statistics.dislikeCount
usługa jest teraz prywatna.
Więcej informacji na temat tej zmiany znajdziesz na oficjalnym blogu YouTube.
18 listopada 2021 r.
W połączeniu ze zmianami w
ustaw liczbę negatywnych ocen filmu jako prywatną na całej platformie YouTube, zasób video
statistics.dislikeCount
13 grudnia 2021 r. zostanie ona ustawiona jako prywatna. Oznacza to, że w przypadku tej usługi dostępne są tylko
być uwzględniony w odpowiedzi interfejsu API z punktu końcowego videos.list
, jeśli żądanie do interfejsu API zostało
uwierzytelniona przez właściciela filmu.
Nie ma to wpływu na punkt końcowy videos.rate
przez tę zmianę.
Deweloperzy, którzy nie wyświetlają publicznie liczby głosów na nie, ale nadal potrzebują tej liczby Klient interfejsu API może ubiegać się o dodanie do listy dozwolonych w celu zwolnienia z obowiązku spełniania wymogów tych zasad. Aby ubiegać się o zwolnienie z obowiązku posiadania licencji, musi to zrobić formularz zgłoszeniowy.
Więcej informacji na temat tej zmiany znajdziesz na oficjalnym blogu YouTube.
2 lipca 2021 r.
Uwaga: to jest ogłoszenie o wycofaniu tej usługi.
Punkt końcowy commentThreads.update
został wycofany i nie jest już obsługiwany.
Ten punkt końcowy powiela funkcje dostępne w innych punktach końcowych interfejsu API. Zamiast tego możesz:
Zadzwoń na comments.update
commentThreads
, wyślij dodatkowe wywołanie do funkcji
Metoda commentThreads.list
.
1 lipca 2021 r.
Aby otrzymać więcej niż domyślny przydział 10 tysięcy jednostek,wszyscy deweloperzy korzystający z usług interfejsu API YouTube muszą przejść kontrolę zgodności interfejsów API. Do tej pory deweloperzy, którzy wypełnili i przesyłali formularz dotyczący audytu zgodności z zasadami i zwiększenia limitu na potrzeby korzystania z usług YouTube API, musieli wypełnić i przesłać prośbę o przyznanie dodatkowych jednostek przydziału.
Aby doprecyzować te procesy i lepiej spełniać potrzeby deweloperów korzystających z naszych usług API, dodajemy 3 nowe formularze oraz przewodnik, jak je wypełniać:
- Formularz próśb deweloperów objętych kontrolą: deweloperzy, którzy przeszli już audyt zgodności interfejsu API, mogą wypełnić i przesłać ten krótszy formularz, aby poprosić o zwiększenie limitu.
- Formularz odwołania: deweloperzy, których projekty interfejsu API nie przeszły kontroli zgodności (lub nie otrzymały prośby o zwiększenie liczby jednostek przydziału), mogą wypełnić i przesłać ten formularz.
- Zmiana formularza kontrolnego: deweloperzy lub dowolny podmiot obsługujący klienta interfejsu API w imieniu dewelopera, w przypadku którego nastąpi zmiana kontroli (np. w wyniku zakupu lub sprzedaży akcji, fuzji przedsiębiorstw bądź innego rodzaju transakcji firmowej) związanych z projektem API, musi wypełnić i przesłać ten formularz. Dzięki temu zespół YouTube zajmujący się interfejsami API może aktualizować nasze dane, kontrolować zgodność nowego projektu API z zasadami i weryfikować aktualny przydział limitów dewelopera.
Każdy nowy formularz poinformuje nas o zamierzonym użyciu interfejsu API YouTube i umożliwi nam lepszą pomoc.
Więcej informacji znajdziesz w naszym nowym przewodniku po audytach zgodności interfejsów API.
12 maja 2021 r.
Uwaga: to jest ogłoszenie o wycofaniu tej usługi.
Ta aktualizacja obejmuje te zmiany w interfejsie API:
-
Zasób
channel
contentDetails.relatedPlaylists.favorites
została wycofana. Funkcja ulubionych filmów została już wycofana w przypadku kilka lat, jak podano w 28 kwietnia 2016 r., wersja wpis w historii.Przed tą aktualizacją interfejs API nadal tworzył nową playlistę, jeśli klient API próbował to zrobić. Dodanie filmu do nieistniejącej playlisty ulubionych. Od tej pory playlista nie będzie w tym przypadku, a interfejs API zwróci błąd. Próby modyfikacji playlist ulubionych dodając, modyfikując lub usuwając elementy, również zostaną wycofane zgodnie z poprzednimi ogłoszeniami. mogą w każdej chwili zacząć zwracać błędy.
-
channel
zasób zostały wycofane. Te właściwości nie są już obsługiwane w interfejsie YouTube Studio oraz w YouTube. W związku z tym nie są one już obsługiwane przez interfejs API.brandingSettings.channel.defaultTab
brandingSettings.channel.featuredChannelsTitle
brandingSettings.channel.featuredChannelsUrls[]
brandingSettings.channel.profileColor
brandingSettings.channel.showBrowseView
brandingSettings.channel.showRelatedChannels
Wszystkie miejsca zakwaterowania zostały usunięte z
channel
reprezentacji zasobu. Ich definicje zostały usunięte z listę usług. Dodatkowo błędy powiązane z tymi właściwościami zostały usunięte z dokumentacji konkretnej metody. -
channelSection
zasób zostały wycofane. Te właściwości nie są już obsługiwane w interfejsie YouTube Studio oraz w YouTube. W związku z tym nie są one już obsługiwane przez interfejs API.snippet.style
snippet.defaultLanguage
snippet.localized.title
localizations
localizations.(key)
localizations.(key).title
targeting
targeting.languages[]
targeting.regions[]
targeting.countries[]
W połączeniu z tą zmianą funkcja
channelSection.list
Parametrhl
również zawiera została wycofana, ponieważ obsługiwane przez nią funkcje nie są obsługiwane.Wszystkie miejsca zakwaterowania zostały usunięte z
channelSection
reprezentacji zasobu. Ich definicje zostały usunięte z listę usług. Dodatkowo błędy powiązane z tymi właściwościami zostały usunięte z dokumentacji konkretnej metody. -
W przypadku zasobu
channelSection
usługęsnippet.type
, poniższe wartości zostały wycofane. Te wartości nie są już obsługiwane w YouTube strony kanału i w efekcie nie są one już obsługiwane przez interfejs API.likedPlaylists
likes
postedPlaylists
postedVideos
recentActivity
recentPosts
-
Zasób
playlist
Usługasnippet.tags[]
została wycofana. Ta właściwość już nie jest obsługiwana w YouTube i w rezultacie nie jest już obsługiwana przez interfejs API.
9 lutego 2021 r.
Zasób playlistItem
obsługuje 2 nowe właściwości:
snippet.videoOwnerChannelId
określa identyfikator kanału, na który przesłano film z playlisty.snippet.videoOwnerChannelTitle
zawiera nazwę kanału, na który przesłano film z playlisty.
28 stycznia 2021 r.
Ta aktualizacja zawiera następujące zmiany:
-
playlistItems.delete
,playlistItems.insert
,playlistItems.list
,playlistItems.update
,playlists.delete
,playlists.list
i Wszystkie obsługiwane metodyplaylists.update
nowy błądplaylistOperationUnsupported
. Błąd występuje, gdy żądanie próbuje podejść do wykonać operację, która jest niedozwolona w przypadku danej playlisty. Użytkownik nie może na przykład usuwa filmy z przesłanych filmów lub całą playlistę.We wszystkich przypadkach ten błąd zwraca kod odpowiedzi HTTP
400
(Nieprawidłowe żądanie). -
Metoda
playlistItems.list
BłędywatchHistoryNotAccessible
iwatchLaterNotAccessible
zostały usunięte zostały usunięte z dokumentacji. Chociaż użytkownicy historia oglądania i listy Do obejrzenia niedostępne za pośrednictwem interfejsu API, te konkretne błędy nie są przez niego zwracane.
15 października 2020 r.
Do strony Dla programistów dodaliśmy dwie nowe sekcje Zasady:
- Nowa sekcja III.E.4.i stanowi dodatkowe informacje na temat danych zbieranych i wysyłanych za pośrednictwem osadzonego odtwarzacza YouTube. Ty ponosi odpowiedzialność za wszelkie dane użytkownika wysyłane do nas za pośrednictwem dowolnego umieszczonego odtwarzacza YouTube przed użytkownik wszedł w interakcję z odtwarzaczem, aby wskazać zamiar odtworzenia. Możesz ograniczyć udostępniane dane YouTube, zanim użytkownik wejdzie w interakcję z odtwarzaczem, ustawiając opcję autoodtwarzania na wartość Fałsz.
- Nowa sekcja III.E.4.j dotyczy sprawdzić, czy treści są przeznaczone dla dzieci (MFK), zanim umieścisz je na swoich stronach; aplikacji. Ponosisz odpowiedzialność za informacje o tym, kiedy filmy umieszczone przez Ciebie w kliencie API zostaną utworzone dla dzieci i odpowiednio traktuj dane zbierane przez odtwarzacz umieszczony na stronie. W związku z tym musisz sprawdź stan treści za pomocą usługi YouTube Data API, zanim umieścisz je w interfejsie API. Klient za pośrednictwem dowolnego umieszczonego na stronie odtwarzacza YouTube
Nowy Jak sprawdzić, czy film ma status MadeForKids wyjaśnia, jak sprawdzić stan treści przeznaczonych dla dzieci za pomocą Usługa YouTube Data API.
W związku z tymi zmianami dodaliśmy przypomnienie do sekcji dokumentacji parametru osadzonego odtwarzacza, która wyjaśnia, jeśli włączysz autoodtwarzanie, odtwarzanie będzie odbywać się bez interakcji użytkownika z odtwarzaczem; odtwarzanie dane są więc zbierane i udostępniane podczas wczytywania strony.
8 października 2020 r.
Ta aktualizacja obejmuje trzy niewielkie zmiany związane z
channel
zasób:
snippet.thumbnails
do identyfikacji obrazów miniatur kanału. W nowo utworzonych obiektach może on być pusty. kanałów. Zapełnienie danych może potrwać nawet 1 dzień.statistics.videoCount
odzwierciedla liczbę filmów publicznych na kanale, nawet dla właścicieli. To zachowanie są zgodne z danymi na stronie YouTube.- Słowa kluczowe kanału, które są określane na podstawie tagu
brandingSettings.channel.keywords
mogą zostać obcięte, jeśli przekraczają maksymalną dozwoloną długość 500 znaków lub jeśli zawiera cudzysłowy bez zmiany znaczenia ("
). Pamiętaj, że limit 500 znaków nie oznacza limitu liczby słów kluczowych, ale raczej ograniczenia łącznej długości wszystkich słów kluczowych. Takie zachowanie jest zgodne z zasadami w YouTube.
9 września 2020 r.
Uwaga: to jest ogłoszenie o wycofaniu tej usługi.
Ta aktualizacja obejmuje poniższe zmiany w interfejsie API. Wszystkie zmiany zaczną obowiązywać najwcześniej 9 września 2020 roku, data opublikowania tego ogłoszenia. Mając to na uwadze, deweloperzy nie powinni już korzystać z funkcji interfejsu API wymienionych poniżej.
-
Te zasoby, metody, parametry i właściwości zasobów interfejsu API zostały wycofane
natychmiast i przestanie działać w dniu otrzymania tego ogłoszenia lub po nim:
channel
zasób właściwości:- Właściwość
statistics.commentCount
- Obiekt
brandingSettings.image
i wszystkie jego właściwości podrzędne - Lista
brandingSettings.hints
i wszystkie jej właściwości podrzędne
- Właściwość
- Metoda
channels.list
categoryId
parametr filtra - Zasób
guideCategories
orazguideCategories.list
metoda
-
Odpowiedzi interfejsu API dla argumentu
Numer metody
channels.list
zawierają jużprevPageToken
, jeśli żądanie do interfejsu API ustawia wartośćmanagedByMe
parametr dotrue
. Ta zmiana nie ma wpływu na właściwośćprevPageToken
dla innych żądańchannels.list
i nie ma wpływu nanextPageToken
dla dowolnych żądań. -
Zasób
channel
:contentDetails.relatedPlaylists.watchLater
i obiektycontentDetails.relatedPlaylists.watchHistory
zostały ogłoszone jako wycofane 11 sierpnia 2016 r. Obsługa metodplaylistItems.insert
iplaylistItems.delete
dla tych playlist zostały w pełni wycofane i zostały usunięte z dokumentacji. -
Parametr
mySubscribers
metodychannels.list
, który był ogłoszona jako wycofana 30 lipca 2013 r. została zostały usunięte z dokumentacji. Użyjsubscriptions.list
imySubscribers
, aby pobrać listę subskrybentów na kanale uwierzytelnionego użytkownika. -
Obiekt
invideoPromotion
zasobuchannel
i cały jego obiekt podrzędny usług, które zostały ogłoszone jako wycofane 27 listopada 2017 r. zostały usunięte z dokumentacji.
29 lipca 2020 r.
Uprościliśmy proces naliczania opłat za żądania do interfejsu API, usuwając dodatkowe
koszt powiązany z parametrem part
. Obowiązuje natychmiast. Będziemy pobierać tylko opłaty
podstawowy koszt wywoływanej metody. Więcej informacji o wersji uproszczonej
tutaj.
W efekcie większość wywołań interfejsu API będzie miała nieznacznie niższy limit, a niektóre wywołania interfejsu API nadal mają taki sam koszt. Ta zmiana nie zwiększy kosztów żadnego interfejsu API połączeń. Ogólnie prawdopodobnym wpływem będzie przydzielony Ci limit, który widać w Google Cloud Console.
Zdecydowanie zalecamy wszystkim deweloperom wykonanie audytu zgodności projekty, aby zapewnić nieprzerwany dostęp do usług interfejsu API YouTube.
Ten wpis historii zmian został pierwotnie opublikowany 20 lipca 2020 r.
28 lipca 2020 roku
Wszystkie filmy przesłane przez videos.insert
punktu końcowego z niezweryfikowanych projektów API utworzonych po 28 lipca 2020 roku będą ograniczone do
w trybie wyświetlania prywatnego. Aby można było usunąć to ograniczenie, każdy projekt musi
przejść kontrolę, aby zweryfikować,
zgodność z
Warunki korzystania z usługi.
Twórcy, którzy przesyłają filmy za pomocą niezweryfikowanego klienta API, otrzymają e-maila z wyjaśnieniem, film zostanie zablokowany jako prywatny i będzie mógł uniknąć ograniczeń, korzystając z oficjalnego lub klienta podlegającego kontroli.
Projekty interfejsu API utworzone przed 28 lipca 2020 roku są których obecnie nie dotyczy ta zmiana. Zdecydowanie zalecamy jednak, aby przeprowadzić audyt zgodności w celu zapewnienia stałego dostępu do usług YouTube API.
21 lipca 2020 r.
[Zaktualizowano 28 lipca 2020 r.] Aktualizacja dokumentacji, do której odwołuje się ta wersja wpis w historii został ponownie opublikowany 28 lipca 2020 roku.
Wczoraj opublikowaliśmy aktualizację dokumentacji związanej z naszym procesem naliczania limitu ładowania. Jednak ze względu na nieprzewidziane okoliczności zmiany limitu nie zostały jeszcze wprowadzone. W rezultacie cofnięto w celu zapewnienia dokładności dokumentacji. Aby uniknąć nieporozumień, wersja wpis w historii wyjaśniający zmianę został usunięty i wkrótce zostanie ponownie opublikowany.
7 lipca 2020 r.
Uwaga: to jest ogłoszenie o wycofaniu tej usługi.
Metoda videos.insert
Parametry autoLevels
i stabilize
zostały wycofane. Oba te parametry zostały wycofane
– parametry zostały usunięte z dokumentacji. Ich wartości są ignorowane i nie mają wpływu na
przetwarzania nowo przesłanych filmów.
15 czerwca 2020 r.
Nowy artykuł Zgodność z zasadami dla programistów YouTube Przewodnik z zasadami zawiera wskazówki i przykłady, które pomogą Ci zadbać o to, aby klienci korzystający z interfejsów API przestrzegali do określonych części usług YouTube API Warunki oraz Zasady (Warunki korzystania z interfejsów API).
Te wskazówki dostarczają informacji o tym, jak YouTube egzekwuje określone aspekty Warunków korzystania z interfejsów API, ale nie nie zastępuje żadnych istniejących dokumentów. Przewodnik zawiera odpowiedzi na niektóre z najczęstszych pytań, pytają deweloperów podczas audytów zgodności interfejsów API. Mamy nadzieję, że uprości to tworzenie funkcji i pomaga zrozumieć, jak interpretujemy i egzekwujemy nasze zasady.
4 czerwca 2020 r.
Uwaga: ta aktualizacja dotyczy poprzedniego ogłoszenia o wycofaniu.
Funkcja biuletynu kanału została całkowicie wycofana. Ta zmiana została wstępnie ogłoszona
17 kwietnia 2020 r. i zaczęła obowiązywać. W rezultacie
Metoda activities.insert
nie ma wartości
dłużej obsługiwane,
activities.list
nie zwraca już biuletynów kanałów. Aby uzyskać więcej informacji, zobacz
Centrum pomocy YouTube.
17 kwietnia 2020 r.
Uwaga: to jest ogłoszenie o wycofaniu tej usługi.
YouTube wycofuje funkcję biuletynu kanału. W rezultacie
activities.insert
metoda będzie
wycofane, a activities.list
zatrzymuje zwracanie biuletynów kanałów. Zmiany te zaczną obowiązywać w interfejsie API od dnia
po 18 maja 2020 r. Aby uzyskać więcej informacji, zobacz
Centrum pomocy YouTube.
31 marca 2020 r.
Ta aktualizacja zawiera następujące zmiany:
-
Nowe zasoby i metody
-
Nowy zasób
member
reprezentuje wspierający kanał w YouTube. Wspierający zapewnia cykliczną pomoc finansową i otrzymuje specjalne korzyści. Członkowie mogą na przykład czatować, gdy twórca włączy tryb tylko dla wspierających na czacie.Ten zasób zastępuje
sponsor
który jest częścią interfejsu YouTube Live Streaming API. Zasóbsponsor
został wycofany, a klienty interfejsu API powinny zaktualizować wywołania do metodysponsors.list
, by użyć funkcjimembers.list
. -
Nowy
membershipsLevel
określa poziom cen zarządzany przez twórcę, który autoryzował żądanie do interfejsu API.membershipsLevels.list
pobiera listę wszystkich poziomów wspierania twórcy.
-
Styczeń 10, 2020
Interfejs API umożliwia teraz identyfikację treści skierowanych do dzieci, które są wywoływane przez YouTube. przeznaczone dla dzieci. Więcej informacji o „przeznaczony dla dzieci” w Centrum pomocy YouTube.
channel
i
Zasoby video
obsługują 2 nowe właściwości
umożliwia twórcom treści i widzom identyfikowanie treści przeznaczonych dla dzieci:
-
Właściwość
selfDeclaredMadeForKids
umożliwia twórcom treści określenie, czy channel lub film jest przeznaczony dla dzieci.
W przypadku kanałów tę właściwość można ustawić przy wywoływaniu funkcji Metodachannels.update
. W przypadku filmów można ustawić przy wywoływaniu funkcjivideos.insert
lubvideos.update
metody.
Pamiętaj, że ta właściwość jest uwzględniana tylko w odpowiedziach interfejsu API zawierających wartośćchannel
lub Zasoby:video
, jeśli właściciel kanału autoryzował żądanie do interfejsu API. -
Właściwość
madeForKids
umożliwia każdemu użytkownikowi pobieranie treści „przeznaczonych dla dzieci” stan kanału lub film. Stanem może być na przykład wyznaczany na podstawie wartości właściwościselfDeclaredMadeForKids
. Zobacz Centrum pomocy YouTube Informacje na temat określania odbiorców kanału, filmów lub transmisji.
Zaktualizowaliśmy też Warunki korzystania z usług YouTube API oraz zasady dla deweloperów. Proszę zobacz Warunki korzystania z usług YouTube API – wersja Historia. Zmiany w Warunkach korzystania z interfejsów API YouTube oraz Zasady dla deweloperów zaczną obowiązywać 10 stycznia 2020 roku (według czasu pacyficznego).
10 września 2019 r.
Zaktualizowaliśmy dokumentację referencyjną API, by odzwierciedlić zmianę w sposobie, w jaki subskrybent
są podawane w YouTube, a w konsekwencji w odpowiedziach interfejsu API. W wyniku tej zmiany
liczby subskrybentów zwrócone przez interfejs YouTube Data API są zaokrąglane w dół do trzech istotnych
gdy liczba subskrybentów przekracza 1000. Ta zmiana wpływa na
channel
zasób
statistics.subscriberCount
usłudze.
Uwaga: ta zmiana wpływa na tę wartość właściwości nawet w przypadku, gdy użytkownik wysyła autoryzowaną prośbę o dostęp do danych na temat swojego kanału. Właściciele kanału nadal mogą zobaczyć dokładne liczbę subskrybentów w YouTube Studio.
Na przykład, jeśli kanał ma 123 456 subskrybentów,
Właściwość statistics.subscriberCount
będzie zawierać wartość 123000
.
Tabela poniżej zawiera przykłady zaokrąglania liczby subskrybentów w odpowiedziach interfejsu API oraz
skrócone w innych publicznie dostępnych interfejsach użytkownika YouTube:
Przykładowa liczba subskrybentów | YouTube Data API | Publicznie widoczne interfejsy YouTube |
---|---|---|
1234 | 1230 | 1,23 tys. |
12 345 | 12300 | 12,3 tys. |
123 456 | 123000 | 123 tys. |
1 234 567 | 1230000 | 1,23 mln |
12 345 678 | 12300000 | 12,3 mln |
123 456 789 | 123000000 | 123 mln |
4 kwietnia 2019 r.
Ta aktualizacja zawiera następujące zmiany:
-
Zaktualizowaliśmy dokumentację interfejsu API, aby lepiej objaśnić typowe przypadki użycia poszczególnych metod i zapewnić dynamiczne, wysokiej jakości przykłady kodu za pomocą widżetu Eksploratora interfejsów API. Przykład znajdziesz w dokumentacji metody
channels.list
. Na stronach, które opisują metody interfejsu API, pojawiły się teraz 2 nowe elementy:-
Widżet Eksplorator interfejsów API pozwala wybrać zakresy autoryzacji, wpisać przykładowe parametry i wartości właściwości, a następnie wysyłać rzeczywiste żądania do interfejsu API i wyświetlać rzeczywiste odpowiedzi interfejsu API. Widżet oferuje również widok pełnoekranowy, który zawiera pełne przykłady kodu, które są dynamicznie aktualizowane zgodnie z podanymi zakresami i wartościami.
-
W sekcji Typowe przypadki użycia opisano jeden lub więcej typowych przypadków użycia metody opisanej na stronie. Możesz na przykład wywołać metodę
channels.list
, aby pobrać dane o wybranym kanale lub o kanale bieżącego użytkownika.Za pomocą linków w tej sekcji możesz uzupełnić narzędzie APIs Explorer przykładowymi wartościami na potrzeby swojego przypadku użycia lub otworzyć pełnoekranowy Eksplorator interfejsów API z tymi wartościami. W ten sposób łatwiej Ci będzie znaleźć przykłady kodu, które mają zastosowanie bezpośrednio w przypadku zastosowania, które próbujesz zaimplementować w swojej aplikacji.
Przykładowe fragmenty kodu są obecnie obsługiwane w językach Java, JavaScript, PHP, Python i curl.
-
-
Zaktualizowaliśmy też narzędzie przykładowego kodu o nowy interfejs, który ma wszystkie opisane powyżej funkcje. Korzystając z tego narzędzia, możesz zapoznać się z przypadkami użycia różnych metod, wczytać wartości w narzędziu APIs Explorer, a także otworzyć pełnoekranowy Eksplorator interfejsów API, aby pobrać przykłady kodu w językach Java, JavaScript, PHP i Python.
W związku z tą zmianą strony, które wcześniej zawierały dostępne przykłady kodu dla Javy, JavaScriptu, PHP i Pythona, zostały usunięte.
-
Zaktualizowaliśmy przewodniki wprowadzające po językach Java, JavaScript, PHP i Python. Zaktualizowane przewodniki wyjaśniają, jak uruchomić jedną przykładową z kluczem interfejsu API, a drugą z identyfikatorem klienta OAuth 2.0, korzystając z przykładowego kodu z Eksploratora interfejsów API.
Opisane powyżej zmiany zastępują interaktywne narzędzie dodane do dokumentacji API w 2017 roku.
9 lipca 2018 r.
Ta aktualizacja zawiera następujące zmiany:
-
Zaktualizowaliśmy definicję właściwości
snippet.thumbnails
zasobuchannel
, aby zaznaczyć, że podczas wyświetlania miniatur w aplikacji kod powinien używać adresów URL obrazów dokładnie w takiej postaci, w jakiej są one zwracane w odpowiedziach interfejsu API. Na przykład aplikacja nie powinna używać domenyhttp
zamiast domenyhttps
w adresie URL zwróconym w odpowiedzi interfejsu API.Od lipca 2018 roku adresy URL miniatur kanału będą dostępne tylko w domenie
https
. Tak wyświetlają się one w odpowiedziach interfejsu API. Po tym czasie mogą pojawić się uszkodzone obrazy, jeśli aplikacja spróbuje wczytać obrazy YouTube z domenyhttp
. -
Uwaga: to jest ogłoszenie o wycofaniu tej usługi.
Właściwość
recordingDetails.location.altitude
zasobuvideo
została wycofana. Nie ma gwarancji, że filmy zwrócą wartości tej właściwości. I podobnie, nawet jeśli żądania do interfejsu API próbują ustawić wartość dla danej właściwości, może się zdarzyć, że dane przychodzące nie będą przechowywane.
22 czerwca 2018 r.
Przewodnik po implementacji (dawniej nazywany Przewodnik po implementacji i migracji został zaktualizowany w taki sposób, aby usunąć instrukcje migracji z v2 do interfejsu API w wersji 3. Usunęliśmy też instrukcje dla funkcji, które zostały wycofane w interfejsie v3 API, na przykład w sekcji Ulubione filmy.
27 listopada 2017 r.
Ta aktualizacja zawiera następujące zmiany:
-
Uwaga: to jest ogłoszenie o wycofaniu tej usługi.
YouTube wycofuje obsługę funkcji Polecany film i Polecane strony, które są obsługiwane w interfejsie API przez obiekt
invideoPromotion
zasobuchannel
. W związku z tym ten obiekt wraz ze wszystkimi jego właściwościami podrzędnymi jest wycofywany.Dane
invideoPromotion
możesz pobierać i ustawiać do 14 grudnia 2017 r. Po tej dacie:- Próby pobrania części
invideoPromotion
podczas wywoływania funkcjichannels.list
zwracają pustą wartośćinvideoPromotion
lub nie zwracają żadnych danychinvideoPromotion
. - Próby zaktualizowania danych
invideoPromotion
podczas wywoływania funkcjichannels.update
będą zwracać pomyślną odpowiedź co najmniej do 27 maja 2018 r., ale zostaną potraktowane jako próby zaktualizowania danych, co oznacza, że nie przeprowadzą aktualizacji.
Po 27 maja 2018 roku takie żądania mogą zwracać komunikaty o błędach wskazujące na przykład, że
invalidPromotion
jest nieprawidłową częścią. - 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ładowy kod w Node.js. Przykłady są też widoczne w dokumentacji niemal wszystkich metod interfejsu API, takich jak
channels.list
.Przykłady z możliwością dostosowania zostały zaprojektowane w taki sposób, aby stanowiły punkt wyjścia dla aplikacji Node.js specyficzne dla danego przypadku. Funkcja jest podobna do kodu w krótkim przewodniku dotyczącym Node.js. Przykłady zawierają jednak funkcje użytkowe, których nie ma w krótkim wprowadzeniu:
- Funkcja
removeEmptyParameters
pobiera listę par klucz-wartość odpowiadających parametrom żądania do interfejsu API i usuwa parametry, które nie mają wartości. - Funkcja
createResource
pobiera listę par klucz-wartość odpowiadających właściwościom w zasobie interfejsu API. Następnie konwertuje właściwości na obiekt JSON, którego można użyć w operacjachinsert
iupdate
. W poniższym przykładzie pokazano zbiór nazw i wartości właściwości oraz obiekt JSON, który zostałby dla nich utworzony przez kod:# Key-value pairs: {'id': 'ABC123', 'snippet.title': 'Resource title', 'snippet.description': 'Resource description', 'status.privacyStatus': 'private'} # JSON object: { 'id': 'ABC123', 'snippet': { 'title': 'Resource title', 'description': 'Resource description', }, 'status': { 'privacyStatus': 'private' } }
Wszystkie te przykłady są przeznaczone do pobrania i uruchamiania lokalnie. Aby uzyskać więcej informacji, zapoznaj się z wymaganiami wstępnymi dotyczącymi lokalnego uruchamiania pełnych przykładów kodu w instrukcjach narzędzia do tworzenia fragmentów kodu.
- Funkcja
25 października 2017 r.
Ta aktualizacja zawiera następujące zmiany:
-
Przykłady kodu Pythona w interaktywnym narzędziu do fragmentów kodu zostały zaktualizowane tak, aby korzystały z bibliotek
google-auth
igoogle-auth-oauthlib
zamiast bibliotekioauth2client
, która została wycofana.Oprócz tej zmiany narzędzie udostępnia teraz pełne przykładowe fragmenty kodu dla zainstalowanych aplikacji w Pythonie i aplikacji serwerów WWW w Pythonie, które korzystają z nieco innych przepływów autoryzacji. Aby zobaczyć pełne przykłady (oraz tę zmianę):
- Otwórz interaktywne narzędzie do tworzenia fragmentów kodu lub zapoznaj się z dokumentacją dowolnej metody interfejsu API, takiej jak metoda
channels.list
. - Kliknij kartę
Python
nad przykładowym kodem. - Kliknij przełącznik nad kartami, aby przełączyć się z wyświetlania fragmentu na pełną próbkę.
- Karta powinna teraz zawierać kompletny przykładowy kod, który korzysta z procesu autoryzacji
InstalledAppFlow
. W opisie powyżej znajduje się wyjaśnienie, a także link do przykładowej aplikacji serwera WWW. - Kliknij link, aby przełączyć się na przykład serwera WWW. W tym przykładzie użyto platformy aplikacji internetowej Flask i innego przepływu autoryzacji.
Wszystkie te przykłady są przeznaczone do pobrania i uruchamiania lokalnie. Jeśli chcesz uruchomić fragmenty kodu, zapoznaj się z instrukcjami uruchamiania całego przykładowego kodu lokalnie w instrukcjach narzędzia fragmentu kodu.
- Otwórz interaktywne narzędzie do tworzenia fragmentów kodu lub zapoznaj się z dokumentacją dowolnej metody interfejsu API, takiej jak metoda
29 sierpnia 2017 r.
Ta aktualizacja zawiera następujące zmiany:
- Zaktualizowaliśmy definicję parametru
forContentOwner
metodysearch.list
, aby zaznaczyć, że jeśli ten parametr ma wartośćtrue
, parametrtype
musi mieć wartośćvideo
. - Zaktualizowaliśmy definicję parametru
regionCode
w metodziesearch.list
, aby doprecyzować, że ogranicza on wyniki wyszukiwania do filmów, które można oglądać w wybranym regionie. - Zaktualizowaliśmy logo i ikony marki w YouTube. Nowy „stworzony we współpracy z YouTube” które można pobrać ze wskazówek dotyczących promowania marki. Na tej stronie znajdują się też inne nowe logo i ikony YouTube. Możesz je pobrać ze strony marki YouTube.
24 lipca 2017 r.
Ta aktualizacja zawiera następujące zmiany:
- Udostępniliśmy nowy krótki przewodnik po interfejsie YouTube Data API dla iOS. Przewodnik wyjaśnia, jak korzystać z interfejsu YouTube Data API w prostej aplikacji na iOS napisanej w języku Objective-C lub Swift.
- Interaktywne narzędzie do fragmentu kodu do interfejsu YouTube Data API zawiera teraz dokumentację objaśniającą niektóre funkcje tego narzędzia:
- Wykonywanie żądań do interfejsu API
- Przełączanie się między fragmentami i pełnymi przykładami kodu
- Korzystanie z funkcji stałych
- Wczytuję istniejące zasoby (na potrzeby metod aktualizacji)
Uwaga: narzędzie jest też umieszczone w dokumentacji API dotyczącej metod API (przykład).
1 czerwca 2017 r.
Ta aktualizacja zawiera następujące zmiany:
-
Uwaga: to jest ogłoszenie o wycofaniu tej usługi.
Wycofujemy te właściwości zasobu
video
. Chociaż właściwości będą obsługiwane do 1 grudnia 2017 r., nie możemy zagwarantować, że do tego czasu filmy nadal będą je wyświetlać. Podobnie żądaniavideos.insert
ivideos.update
, które ustawiają te wartości właściwości, przed tą datą nie będą generować błędów, ale może się zdarzyć, że dane przychodzące 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 wszechstronne i interaktywne. Na stronach, które wyjaśniają metody interfejsu API, np.
channels.list
czyvideos.rate
, znajdziesz teraz interaktywne narzędzie, które pozwala wyświetlać i dostosowywać fragmenty kodu w językach Java, JavaScript, PHP, Python, Ruby, Apps Script i Go.Narzędzie pokazuje fragmenty kodu dla dowolnej metody dla jednego lub wielu przypadków użycia, a każdy przypadek użycia opisuje typowy sposób jej wywoływania. Możesz na przykład wywołać metodę
channels.list
, aby pobrać dane o wybranym kanale lub o kanale bieżącego użytkownika.Możesz też korzystać z przykładowego kodu:
-
Modyfikują wartości parametrów i właściwości, a fragmenty kodu są dynamicznie aktualizowane, aby odzwierciedlać podane przez Ciebie wartości.
-
Przełączaj się między fragmentami kodu a pełnymi przykładami. Fragment kodu przedstawia fragment kodu, który wywołuje metodę API. Zawiera on ten fragment oraz stały kod służący do autoryzacji i wysyłania żądań. Pełne przykłady można kopiować i uruchamiać z wiersza poleceń lub na lokalnym serwerze WWW.
-
Wykonuj żądania, klikając przycisk. (Aby wykonywać żądania, musisz autoryzować narzędzie do wywoływania interfejsu API w Twoim imieniu).
Pamiętaj, że to narzędzie zastąpiło narzędzie APIs Explorer na stronach, na których jest dostępne. (Każda strona zawiera link umożliwiający wczytanie żądania, nad którym pracujesz, w narzędziu Google APIs Explorer).
-
-
Ulepszyliśmy też narzędzie Fragmenty kodu interfejsu Data API o nowy interfejs, który ma wszystkie opisane powyżej funkcje. Najważniejsze nowe funkcje dostępne na tej stronie to:
- Obsługa żądań do interfejsu API, które zapisują dane.
- Obsługa przykładów kodu Java.
- Bardziej elastyczny i wszechstronny stały kod do autoryzowania użytkowników i tworzenia żądań do interfejsu API.
27 kwietnia 2017 r.
Ta aktualizacja zawiera następujące zmiany:
- W nowych krótkich przewodnikach wyjaśniamy, jak skonfigurować prostą aplikację, która tworzy żądania do interfejsu YouTube Data API. Obecnie dostępne są przewodniki dotyczące Androida, Apps Script, Go, Java, JavaScript, Node.js, PHP, Pythona i Ruby.
30 marca 2017 r.
Ta aktualizacja zawiera następujące zmiany:
- Nowa właściwość
topicDetails.topicCategories[]
zasobuchannel
zawiera listę adresów URL Wikipedii opisujących zawartość kanału. Adresy URL odpowiadają identyfikatorom tematów zwróconym w usłudzetopicDetails.topicIds[]
zasobu. - Nowa właściwość
contentDetails.videoPublishedAt
zasobuplaylistItem
określa czas opublikowania filmu w YouTube. Zasób zawiera już właściwośćsnippet.publishedAt
, która określa czas dodania elementu do playlisty. - Podobnie jak zasób
channel
zasó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 zwróconym w usłudzetopicDetails.relevantTopicIds[]
zasobu. - Nowa właściwość
contentDetails.contentRating.mpaatRating
zasobuvideo
określa ocenę, jaką otrzymało zwiastun lub podgląd filmu od organizacji Motion Picture Association of America.
27 lutego 2017 r.
Zgodnie z pierwotnym ogłoszeniem z 11 sierpnia 2016 roku YouTube zmienił listę obsługiwanych identyfikatorów tematów na listę wyselekcjonowaną. Pełna lista identyfikatorów tematów znajduje się we właściwościach topicDetails
zasobów channel
i video
, a także w parametrze topicId
metody search.list
.
Pamiętaj, że na liście wybranych elementów wprowadzono kilka zmian:
- Następujące tematy zostały dodane jako podtematy tematu
Society
:Nazwa identyfikator tematu Firma /m/09s1f
Zdrowie /m/0kt51
Wojsko /m/01h6rj
Polityka /m/05qt0
Religia /m/06bvp
- Temat
Animated cartoon
(wcześniej podrzędny wobec elementuEntertainment
), został usunięty. - Temat
Children's music
(wcześniej podrzędny wobec elementuMusic
), został usunięty.
W wyniku tej zmiany tematy powiązane z filmem są teraz zawsze zwracane w wartości właściwości topicDetails.relevantTopicIds[]
zasobu video
.
29 listopada 2016 r.
Ta aktualizacja zawiera następujące zmiany:
-
Na liście identyfikatorów tematów, które będzie obsługiwane od 10 lutego 2017 roku, wprowadziliśmy 3 niewielkie zmiany:
- Kategoria
Professional wrestling
, która wcześniej była podrzędna w kategoriiSports
, jest teraz podrzędna dla kategoriiEntertainment
. - Kategoria
TV shows
, która jest podrzędna dlaEntertainment
, jest nowa. - Kategoria
Health
, która wcześniej była podrzędna dla 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:
-
Zgodnie z pierwszą zapowiedzią 11 sierpnia 2016 roku wycofanie Freebase i interfejsu Freebase API wymaga wprowadzenia kilku zmian związanych z identyfikatorami tematów. Identyfikatory tematów identyfikują tematy powiązane z zasobami
channel
ivideo
. Możesz też używać 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 znacznie bardziej szczegółowego zestawu identyfikatorów zwracanych do tej pory. Pamiętaj też, że nie możemy zagwarantować, że kanały i filmy będą powiązane z żadnym tematem, ponieważ jest to zgodne z aktualnym działaniem interfejsu API.
Aby można było przygotować klienty API na te zmiany, zaktualizowaliśmy definicje poniższych parametrów i właściwości API, tak aby zawierały identyfikatory tematów, które będą obsługiwane po tym czasie. Pamiętaj, że lista kategorii jest taka sama w przypadku wszystkich usług.
- 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 tej usługi.
Wycofujemy te usługi:
- 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 właściwość nie będzie już zawierać wartości. (Po tym terminie wartość właściwościtopicDetails.relevantTopicIds[]
będzie określać wszystkie tematy powiązane z filmem).
- Właściwość
-
Ponieważ platforma Freebase została już wycofana, przewodnik Searching with Freebase Topics został usunięty z dokumentacji. W tym przewodniku znajdziesz przykładowe fragmenty kodu, które pokazują, jak aplikacja będzie działać z interfejsem Freebase API.
Oprócz tego z dokumentacji metody
search.list
usunęliśmy kilka przykładów kodu związanych z identyfikatorami tematów.
2 listopada 2016 r.
Ta aktualizacja zawiera następujące zmiany:
-
Nowe właściwości i parametry
-
Zasób
video
zawiera kilka nowych właściwości:-
Właściwość
player.embedHtml
zawiera tag<iframe>
, który pozwala umieścić odtwarzacz wyświetlający film. Nowe właściwościplayer.embedHeight
iplayer.embedWidth
określają wymiary umieszczonego odtwarzacza. Te właściwości są zwracane tylko wtedy, gdy żądanie do interfejsu API określa wartość co najmniej jednego z parametrówmaxHeight
lubmaxWidth
. Te dwa nowe parametry zostały objaśnione w dalszej części tego wpisu historii zmian. -
Nowa właściwość
hasCustomThumbnail
informuje, czy osoba, która przesłała film, udostępniła niestandardową miniaturę filmu. Pamiętaj, że ta właściwość jest widoczna tylko dla osoby, która przesłała film. -
Nowy dokument
fpbRatingReasons[]
określa powody, dla których film otrzymał ocenę FPB (Republika Południowej Afryki). -
Nowy
mcstRating
określa ocenę, jaką film otrzymał w Wietnamie.
-
-
Metoda
videos.list
obsługuje 2 nowe parametry:maxHeight
imaxWidth
. Podczas pobierania częściplayer
w zasobachvideo
możesz użyć jednego z tych parametrów lub obu tych parametrów.Domyślnie wysokość elementu
<iframe>
zwróconego w usłudzeplayer.embedHtml
wynosi 360 pikseli. Szerokość jest dostosowywana do współczynnika proporcji filmu, dzięki czemu w odtwarzaczu umieszczonym na stronie nie ma czarnych pasów otaczających obraz. Jeśli więc na przykład film ma proporcje 16:9, szerokość odtwarzacza będzie wynosić 640 pikseli.Dzięki nowym parametrom możesz określić, że zamiast domyślnych wymiarów kod do umieszczenia powinien mieć wysokość lub szerokość odpowiednią do układu aplikacji. Serwer interfejsu API odpowiednio skaluje wymiary odtwarzacza, aby odtwarzacz umieszczony na stronie nie zawierał czarnych pasów wokół obrazu. Oba parametry określają maksymalne wymiary umieszczonego odtwarzacza. Jeśli więc określisz oba parametry, jeden z wymiarów może być nadal mniejszy od maksymalnej dozwolonej wartości dla tego wymiaru.
Załóżmy na przykład, że film ma proporcje 16:9. Oznacza to, że jeśli parametr
maxHeight
lubmaxWidth
nie jest ustawiony, tagplayer.embedHtml
zawiera odtwarzacz o rozmiarze 640 x 360.- Jeśli parametr
maxHeight
ma wartość720
, a parametrmaxWidth
nie jest skonfigurowany, interfejs API zwróci odtwarzacz 1280 x 720. - Jeśli parametr
maxWidth
ma wartość960
, a parametrmaxHeight
nie jest skonfigurowany, interfejs API zwróci odtwarzacz 960 x 540. - Jeśli parametr
maxWidth
ma wartość960
, a parametrmaxHeight
ma wartość450
, interfejs API zwróci odtwarzacz 800 x 450.
Opisane powyżej nowe właściwości
player.embedHeight
iplayer.embedWidth
określają wymiary odtwarzacza. - Jeśli parametr
-
-
Aktualizacje dotychczasowych metod, właściwości i parametrów
-
Opis zasobu
channelSection
został zaktualizowany, aby zaznaczyć, że kanał może utworzyć maksymalnie 10 półek bez konfigurowania danych kierowania oraz maksymalnie 100 półek z danymi kierowania.Oprócz tego zaktualizowaliśmy właściwość
targeting
zasobuchannelSection
, aby odzwierciedlić fakt, że opcje kierowania można ustawiać tylko za pomocą interfejsu API. Opcje kierowania są usuwane po zmodyfikowaniu sekcji kanału za pomocą interfejsu w witrynie YouTube. -
Poprawiliśmy definicję właściwości
snippet.name
zasobui18nLanguage
, aby odzwierciedlić, że wartość reprezentuje nazwę języka w języku określonym w parametrzehl
metodyi18nLanguage.list
. -
Zaktualizowaliśmy właściwość
contentDetails.note
zasobuplaylistItem
, by zaznaczyć, że maksymalna długość wartości właściwości to 280 znaków. -
Właściwości
contentDetails.startAt
icontentDetails.endAt
zasobuplaylistItem
zostały wycofane. Te pola są ignorowane, jeśli są ustawione w żądaniachplaylistItems.insert
lubplaylistItems.update
. -
Metody
playlistItems.delete
iplaylistItems.update
obsługują teraz parametronBehalfOfContentOwner
, który jest już obsługiwany w przypadku kilku innych metod. Żądania używające tej metody muszą też być autoryzowane za pomocą tokena zapewniającego dostęp do zakresuhttps://www.googleapis.com/auth/youtubepartner
. -
Parametry
publishedBefore
ipublishedAfter
metodysearch.list
zostały zaktualizowane, aby wskazać, że ich wartości obejmują uwzględnianie. Jeśli więc na przykład masz skonfigurowany parametrpublishedBefore
, interfejs API zwraca zasoby utworzone przed podanym czasem lub w określonym czasie. -
Właściwość
contentDetails.contentRating.grfilmRating
zasobuvideo
obsługuje 3 dodatkowe wartości:grfilmK12
,grfilmK15
igrfilmK18
. -
Opis metody
videos.insert
został zmieniony z informacją, że maksymalny rozmiar przesłanych filmów wzrósł z 64 do 128 GB.
-
-
Nowe i zaktualizowane błędy
-
Interfejs API obsługuje nowe błędy:
Typ błędu Szczegóły błędu Opis forbidden (403)
homeParameterDeprecated
Metoda activities.list
zwraca ten błąd, aby wskazać, że dane o aktywności użytkownika na stronie głównej nie są dostępne za pomocą tego interfejsu API. Ten błąd może wystąpić, jeśli w nieautoryzowanym żądaniu ustawisz wartość parametruhome
natrue
.invalidValue (400)
invalidContentDetails
Metoda playlistItems.insert
zwraca ten błąd, aby wskazać, że obiektcontentDetails
w żądaniu jest nieprawidłowy. Jedną z przyczyn tego błędu jest to, że polecontentDetails.note
ma więcej niż 280 znaków.forbidden (403)
watchHistoryNotAccessible
Metoda playlistItems.list
zwraca ten błąd, aby wskazać, że żądanie próbowało pobrać „historię oglądania” elementów playlisty, ale nie można ich pobrać za pomocą interfejsu API.forbidden (403)
watchLaterNotAccessible
Metoda playlistItems.list
zwraca ten błąd, wskazując, że żądanie próbowało pobrać element „Do obejrzenia”. elementów playlisty, ale nie można ich pobrać za pomocą interfejsu API.badRequest (400)
uploadLimitExceeded
Metoda videos.insert
zwraca ten błąd, wskazując, że na kanał został przekroczony limit filmów, które można przesłać.forbidden (403)
forbiddenEmbedSetting
Metoda videos.update
zwraca ten błąd, aby wskazać, że żądanie interfejsu API próbuje ustawić nieprawidłowe ustawienie umieszczania filmu na stronie. Pamiętaj, że niektóre kanały mogą nie mieć uprawnień do oferowania osadzonych odtwarzaczy dla transmisji na żywo. Więcej informacji znajdziesz w Centrum pomocy YouTube. -
Metoda
playlistItems.insert
nie zwraca już błędu, jeśli wstawisz zduplikowany film do playlisty. Ten błąd występował wcześniej w przypadku niektórych playlist (np. ulubionych filmów), które nie pozwalały na tworzenie duplikatów, ale które nie są już obsługiwane. Ogólnie na playlistach można tworzyć duplikaty filmów.
-
-
Inne informacje
-
Pozycja historii zmian z 15 września 2016 roku została zaktualizowana, aby doprecyzować, że gdy w odpowiedzi znajdują się właściwości
contentDetails.relatedPlaylists.watchHistory
icontentDetails.relatedPlaylists.watchLater
zasobuchannel
, zawsze zawierają one odpowiednio wartościHL
iWL
. Co więcej, te właściwości są uwzględniane tylko wtedy, gdy autoryzowany użytkownik pobiera dane o własnym kanale.
-
15 września 2016 r.
Ta aktualizacja zawiera następujące zmiany:
-
W aktualizacji historii zmian 11 sierpnia 2016 roku wprowadziliśmy kilka zmian związanych z identyfikatorami tematów, w tym fakt, że 10 lutego 2017 roku zmieni się zestaw obsługiwanych identyfikatorów tematów. Lista tematów, które będą obsługiwane, zostanie opublikowana do 10 listopada 2016 roku.
-
Poniższe zmiany zostały wprowadzone. Powiadomienie o tych zmianach zostało podane w aktualizacji historii zmian 11 sierpnia 2016 roku:
-
Jeśli metoda
activities.list
zostanie wywołana z parametremhome
ustawionym natrue
, odpowiedź interfejsu API będzie teraz zawierać elementy podobne do tego, co wylogowany użytkownik YouTube zobaczy na stronie głównej.Wprowadzamy tę drobną zmianę, która ma zwiększyć komfort użytkowników niż w przypadku działania opisanego w aktualizacji historii zmian 11 sierpnia 2016 roku. Ta aktualizacja zawierała informację, że żądania korzystające z parametru
home
będą zwracać pustą listę. -
Właściwość
contentDetails.relatedPlaylists.watchHistory
icontentDetails.relatedPlaylists.watchLater
zasobuchannel
zawiera teraz wartości odpowiednioHL
iWL
dla wszystkich kanałów.Dla jasności – te właściwości są widoczne tylko dla autoryzowanego użytkownika, który pobiera dane o swoim kanale. Właściwości zawsze zawierają wartości
HL
iWL
, nawet jeśli autoryzowany użytkownik pobiera dane o swoim kanale. W związku z tym identyfikatorów oglądania i playlist do obejrzenia później nie można pobrać za pomocą interfejsu API.Oprócz tego prośby o pobranie szczegółów playlisty (
playlists.list
) lub elementów playlisty (playlistItems.list
) z historii oglądania lub playlisty Do obejrzenia na kanale zwracają teraz puste listy. Dzieje się tak w przypadku nowych wartości (HL
iWL
), a także w przypadku wszystkich identyfikatorów oglądania i playlist do obejrzenia później, które mogły już zapisać Twój klient API.
-
-
Obiekt
fileDetails.recordingLocation
zasobuvideo
i jego właściwości podrzędne nie są już zwracane. Wcześniej te dane (jak 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 YouTube API („Zaktualizowane warunki”), które są szczegółowo omówione na blogu YouTube dla inżynierów i deweloperów, zawierają obszerny zestaw aktualizacji obecnych Warunków korzystania z usługi. Oprócz zaktualizowanych warunków, które zaczną obowiązywać 10 lutego 2017 roku, ta aktualizacja zawiera też dodatkowe dokumenty wyjaśniające zasady, których muszą przestrzegać deweloperzy.
Pełny zestaw nowych dokumentów znajdziesz w historii zmian zaktualizowanych Warunków. Ponadto w historii zmian będą również wyjaśniane przyszłe zmiany w zaktualizowanych warunkach lub w dokumentach uzupełniających. Możesz zasubskrybować kanał RSS zawierający listę zmian w historii zmian, klikając link w tym dokumencie.
-
Wycofanie narzędzi Freebase i Freebase API powoduje kilka zmian związanych z identyfikatorami tematów. Identyfikatory tematów są używane w tych zasobach i metodach interfejsu API:
- Część
topicDetails
zasobuchannel
określa tematy powiązane z kanałem. - Część
topicDetails
zasobuvideo
określa tematy powiązane z filmem. - Parametr
topicId
metodysearch.list
umożliwia wyszukiwanie filmów lub kanałów związanych z określonym tematem.
Zmiany tych funkcji są następujące:
-
Od 10 lutego 2017 r. YouTube zacznie zwracać mały zestaw identyfikatorów tematów zamiast znacznie bardziej szczegółowego zestawu identyfikatorów zwracanych do tej pory. Ten zestaw obsługiwanych tematów pozwala identyfikować ogólne kategorie, takie jak Sport czy Koszykówka, ale na przykład nie identyfikować konkretnych drużyn czy zawodników. Aby dać Ci czas na przygotowanie się do tej zmiany, poinformujemy o zestawie obsługiwanych tematów.
-
Wszystkie pobrane już identyfikatory tematów Freebase możesz używać do wyszukiwania treści do 10 lutego 2017 r. Po tym czasie do pobierania wyników wyszukiwania według tematu będzie można używać tylko mniejszego zestawu tematów określonych w poprzedniej pozycji.
-
Jeśli po 10 lutego 2017 roku spróbujesz wyszukać wyniki przy użyciu identyfikatora tematu, który nie należy do mniejszego zestawu obsługiwanych identyfikatorów tematów, interfejs API zwróci pusty zbiór wyników.
- Część
-
12 września 2016 r. wycofamy 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 byłby wyświetlany na stronie głównej tego użytkownika w YouTube. Żądania, które używają tego parametru po 12 września 2016 r., będą zwracać pustą listę. -
Właściwości
contentDetails.relatedPlaylists.watchHistory
icontentDetails.relatedPlaylists.watchLater
zasobuchannel
są widoczne tylko dla autoryzowanego użytkownika pobierającego dane o swoim kanale. Po 12 września 2016 r.contentDetails.relatedPlaylists.watchHistory
będzie zwracać wartośćHL
, a właściwościcontentDetails.relatedPlaylists.watchLater
–WL
dla wszystkich kanałów.Po 12 września 2016 r. prośby o pobranie szczegółów playlisty (
playlists.list
) z historii oglądania lub Do obejrzenia na kanale będą zwracać pustą listę. Po tym czasie prośba o pobranie elementów playlisty (playlistItems.list
) z każdej z tych playlist również będzie zwracać pustą listę. Dotyczy to nowych wartości (HL
iWL
), a także identyfikatorów historii oglądania i playlist do obejrzenia później, które mogły już zapisać Twój klient API. -
Po 12 września 2016 r. obiekt
fileDetails.recordingLocation
zasobuvideo
ani żadna z jego właściwości podrzędnych nie będą już zwracane. Te dane może pobrać tylko właściciel filmu, ponieważ nadrzędny obiektfileDetails
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 ta właściwość była dostępna tylko wtedy, gdy kanał był powiązany z profilem Google+. Po wycofaniu usługa nie będzie już uwzględniana w żadnych zasobachchannel
. -
Właściwość
snippet.authorGoogleplusProfileUrl
zasobucomment
została wycofana. Wcześniej ta właściwość była dostępna tylko wtedy, gdy kanał był powiązany z profilem Google+. Po wycofaniu usługa nie będzie już uwzględniana w żadnych zasobachcomment
.
Po wycofaniu żadna z tych właściwości nie zostanie zwrócona, więc zostały one usunięte z odpowiedniej dokumentacji zasobów.
31 maja 2016 r.
Ta aktualizacja zawiera następujące zmiany:
-
Nowy parametr
myRecentSubscribers
metodysubscriptions.list
pobiera listę subskrybentów kanału uwierzytelnionego użytkownika w odwrotnej kolejności chronologicznej w kolejności od zasubskrybowania kanału.Pamiętaj, że nowy parametr umożliwia pobieranie do kanału uwierzytelnionego użytkownika tylko ostatnich 1000 subskrybentów. Aby uzyskać pełną listę subskrybentów, użyj parametru
mySubscribers
. Ten parametr, który nie zwraca subskrybentów w określonej kolejności, nie ogranicza liczby subskrybentów, które można pobrać. -
Zaktualizowaliśmy definicję właściwości
snippet.thumbnails.(key)
w przypadku zasobów aktywność, playlistItem, playlist, wyniki wyszukiwania, miniatury i filmy, aby uwzględnić dodatkowe rozmiary miniatur w przypadku niektórych filmów.- Obraz
standard
ma 640 pikseli szerokości i 480 pikseli wysokości. - Obraz
maxres
ma 1280 pikseli szerokości i 720 pikseli wysokości.
- Obraz
-
Zaktualizowaliśmy definicję parametru
part
metodychannelSection.list
, aby zaznaczyć, że częśćtargeting
można pobrać za opłatą wynoszącą2
jednostek limitu. -
Metoda
videos.list
zwraca teraz błąd zabronione (403
), gdy nieprawidłowo autoryzowane żądanie próbuje pobrać częścifileDetails
,processingDetails
lubsuggestions
zasobuvideo
. Te części są dostępne tylko dla właściciela filmu.
17 maja 2016 r.
Nowe narzędzie Fragmenty kodu interfejsu Data API udostępnia krótkie fragmenty kodu na potrzeby typowych zastosowań interfejsu YouTube Data API. Fragmenty kodu są obecnie dostępne dla wszystkich metod interfejsu API tylko do odczytu w Apps Script, Go, JavaScript, PHP, Python i Ruby.
W przypadku każdej metody narzędzie wyświetla przykładowy kod na potrzeby co najmniej 1 przypadku użycia. Zawiera np. 5 fragmentów kodu dla metody search.list
:
- Wymień filmy według słów kluczowych
- Wymień filmy według lokalizacji
- Wyświetl listę wydarzeń na żywo
- Wyszukiwanie filmów uwierzytelnionego użytkownika
- Lista podobnych filmów
W każdym przypadku użycia narzędzie wyświetla parametry użyte w żądaniu do interfejsu API. Wartości parametrów możesz zmieniać. W takim przypadku narzędzie zaktualizuje fragmenty kodu, aby odzwierciedlały podane przez Ciebie wartości parametrów.
Na koniec narzędzie wyświetla odpowiedź interfejsu API na każde żądanie. Jeśli parametry żądania zostały zmodyfikowane, odpowiedź interfejsu API zależy od podanych przez Ciebie wartości parametrów. Pamiętaj, że aby wyświetlać odpowiedzi interfejsu API, musisz upoważnić narzędzie do przesyłania w Twoim imieniu żądań.
28 kwietnia 2016 r.
Ta aktualizacja zawiera następujące zmiany:
-
Nowa właściwość
contentDetails.projection
zasobuvideo
określa format wyświetlania filmu. Prawidłowe wartości właściwości to360
irectangular
. -
Zaktualizowaliśmy właściwości
recordingDetails.location
ifileDetails.recordingLocation
zasobuvideo
, aby wyjaśnić różnicę między nimi:- Właściwość
recordingDetails.location
określa lokalizację, którą właściciel filmu chce powiązać z filmem. Tę lokalizację można edytować, wyszukiwać w filmach publicznych i może być wyświetlana użytkownikom w przypadku filmów publicznych. - Wartość właściwości
fileDetails.recordingLocation
jest stała i reprezentuje lokalizację powiązaną z oryginalnym, przesłanym plikiem wideo. Wartość jest widoczna tylko dla właściciela filmu.
- Właściwość
-
Zaktualizowaliśmy definicję właściwości
contentDetails.relatedPlaylists.favorites
zasobuchannel
, by zaznaczyć, że wartość właściwości może zawierać identyfikator playlisty odnoszący się do pustej playlisty, której nie można pobrać. Wynika to z faktu, że funkcja ulubionych filmów została już wycofana. Pamiętaj, że ta usługa nie podlega zasadom wycofywania interfejsów API. -
Definicja błędu
ineligibleAccount
, który może być zwracany przez metodęcomments.insert
,comments.update
,commentThreads.insert
lubcommentThreads.update
, została zaktualizowana, aby odzwierciedlić ten błąd, gdy konto YouTube użyte do autoryzacji żądania do interfejsu API nie zostało scalone z kontem Google użytkownika.
20 kwietnia 2016 r.
Ta aktualizacja zawiera następujące zmiany:
-
Zaktualizowaliśmy definicję parametru
part
metodychannels.update
, aby zaznaczyć, żelocalizations
również jest prawidłową wartością tego parametru. -
Sekcja Wykorzystanie limitu w przewodniku dla początkujących zawiera teraz link do Google Developers Console, gdzie znajdziesz informacje o rzeczywistym i wykorzystaniu limitu.
16 marca 2016 r.
Ta aktualizacja zawiera następujące zmiany:
-
Aktualizacje istniejących zasobów i metod
-
Dokumentacja zasobu
channelBanner
została zaktualizowana, aby zaznaczyć, że zalecany rozmiar przesłanego obrazu banera kanału to 2560 x 1440 pikseli. Minimalny rozmiar (2048 na 1152 pikseli) nie uległ zmianie. -
Nowa właściwość
snippet.customUrl
zasobuchannel
określa niestandardowy adres URL powiązany z kanałem. (Nie wszystkie kanały mają niestandardowe URL-e). W Centrum pomocy YouTube znajdziesz opis wymagań, które należy spełnić, aby otrzymać niestandardowy URL, a także dowiedzieć się, jak go skonfigurować. -
Obiekt
brandingSettings.watch
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ść określa kod regionu, który został użyty w zapytaniu. Kod regionu instruuje interfejs API tak, aby zwracał wyniki wyszukiwania dla określonego kraju.Wartością właściwości jest dwuliterowy kod kraju w formacie ISO identyfikujący region. Metoda
i18nRegions.list
zwraca listę obsługiwanych regionów. Wartością domyślną jestUS
. Nawet jeśli określisz nieobsługiwany region, YouTube do obsługi zapytania może wybrać inny region zamiast wartości domyślnej. -
Zaktualizowaliśmy definicje właściwości
snippet.label
isnippet.secondaryReasons[].label
zasobuvideoAbuseReportReason
, by poinformować, że zawierają one zlokalizowany tekst etykiet do celów zgłaszania nadużyć.Oprócz tego metoda
videoAbuseReportReasons.list
obsługuje teraz parametrhl
, który określa język tekstu etykiety w odpowiedzi interfejsu API. Wartość domyślna toen_US
. -
Nowa właściwość
contentDetails.contentRating.ecbmctRating
zasobuvideo
określa ocenę filmu określoną przez turecką radę ds. oceny i klasyfikacji Ministerstwa Kultury i Turystyki.Dodatkowo właściwości interfejsu API w innych systemach ocen obsługują te nowe wartości właściwości:
contentDetails.contentRating.fpbRating
(Republika Południowej Afryki)
Ocena: 10; wartość właściwości:fpb10
contentDetails.contentRating.moctwRating
(Tajwan)
Ocena: R-12; wartość właściwości:moctwR12
contentDetails.contentRating.moctwRating
(Tajwan)
Ocena: R-15; wartość właściwości:moctwR15
-
Właściwość
liveStreamingDetails.activeLiveChatId
zasobuvideo
zawiera identyfikator aktywnego czatu na żywo powiązanego z filmem. Wartość właściwości występuje tylko wtedy, gdy film jest bieżącą transmisją na żywo i włączony jest czat na żywo. Po zakończeniu transmisji i zakończeniu czatu na żywo usługa nie jest już zwracana, aby wyświetlić film. -
Właściwość
status.rejectionReason
zasobuvideo
obsługuje nową wartośćlegal
właściwości.
-
-
Interfejs API obsługuje nowe błędy:
Typ błędu Szczegóły błędu Opis badRequest (400)
notEditable
Metody channelSections.insert
,channelSections.update
ichannelSections.delete
zwracają ten błąd, wskazując, że nie można utworzyć, zaktualizować ani usunąć określonej sekcji kanału.badRequest (400)
styleRequired
Metody channelSections.insert
ichannelSections.update
zwracają ten błąd, aby wskazać, że zasóbchannelSection
przesłany w żądaniu do interfejsu API musi określać wartość właściwościsnippet.style
.badRequest (400)
typeRequired
Metody channelSections.insert
ichannelSections.update
zwracają ten błąd, aby wskazać, że zasóbchannelSection
przesłany w żądaniu do interfejsu API musi określać wartość właściwościsnippet.type
.badRequest (400)
processingFailure
Metoda commentThreads.list
zwraca ten błąd, aby wskazać, że serwer interfejsu API nie mógł przetworzyć żądania. Może to być błąd przejściowy, zazwyczaj oznacza, że dane wejściowe żądania są nieprawidłowe. Sprawdź strukturę zasobucommentThread
w treści żądania, aby upewnić się, że jest on prawidłowy.forbidden (403)
commentsDisabled
Metoda commentThreads.list
zwraca ten błąd, wskazując, że w filmie wskazanym przez parametrvideoId
wyłączono dodawanie komentarzy.badRequest (400)
commentTextTooLong
Metoda commentThreads.insert
zwraca ten błąd, aby wskazać, że wstawiony zasóbcomment
zawiera zbyt wiele znaków we właściwościsnippet.topLevelComment.snippet.textOriginal
.invalidValue (400)
videoAlreadyInAnotherSeriesPlaylist
Metoda playlistItems.insert
zwraca ten błąd, wskazując, że film, który chcesz dodać do playlisty, jest już na playliście innego serialu. Więcej informacji na temat playlist seriali znajdziesz w Centrum pomocy YouTube.badRequest (400)
subscriptionForbidden
Metoda subscriptions.insert
zwraca ten błąd, aby wskazać, że masz już maksymalną liczbę subskrypcji lub utworzono zbyt wiele niedawnych subskrypcji. W drugim przypadku możesz spróbować przesłać żądanie po kilku godzinach.badRequest (400)
invalidCategoryId
Metoda videos.update
zwraca ten błąd, aby wskazać, że właściwośćsnippet.categoryId
w przesłanym zasobievideo
ma nieprawidłowy identyfikator kategorii. Użyj metodyvideoCategories.list
, aby pobrać obsługiwane kategorie.badRequest (400)
invalidDescription
Metoda videos.update
zwraca ten błąd, aby wskazać, że właściwośćsnippet.description
w przesłanym zasobievideo
zawiera nieprawidłową wartość.badRequest (400)
invalidPublishAt
Metoda videos.update
zwraca ten błąd, aby wskazać, że właściwośćstatus.publishAt
w przesłanym zasobievideo
określa nieprawidłowy czas zaplanowanego opublikowania.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
zawiera nieprawidłową wartość.badRequest (400)
invalidTitle
Metoda videos.update
zwraca ten błąd, aby wskazać, że właściwośćsnippet.title
w przesłanym zasobievideo
określa nieprawidłowy lub pusty tytuł filmu.badRequest (400)
invalidVideoMetadata
Metoda videos.update
zwraca ten błąd, aby wskazać, że metadane żądania są nieprawidłowe. Ten błąd występuje, jeśli żądanie aktualizuje częśćsnippet
zasobuvideo
, ale nie ustawia wartości zarówno dla właściwościsnippet.title
, jak isnippet.categoryId
.
18 grudnia 2015 r.
Przepisy Unii Europejskiej (UE) wymagają udostępnienia określonych informacji użytkownikom z Unii Europejskiej i uzyskania ich zgody. Dlatego w przypadku użytkowników z Unii Europejskiej musisz przestrzegać polityki w zakresie zgody użytkownika z UE. Dodaliśmy powiadomienie o tym wymaganiu w Warunkach korzystania z interfejsu YouTube API.
19 listopada 2015 r.
Interfejs API umożliwia teraz ustawianie i pobieranie zlokalizowanego tekstu we właściwościach snippet.title
i snippet.description
zasobów playlist
i video
, właściwości snippet.title
zasobu channelSection
oraz właściwości snippet.description
zasobu channel
.
-
Ustawianie zlokalizowanych tytułów i opisów
Możesz ustawić zlokalizowane wartości dla zasobu, wywołując dla niego metodę
insert
lubupdate
. Aby ustawić zlokalizowane wartości dla zasobu, wykonaj obie te czynności:-
Upewnij się, że ustawiona jest wartość właściwości
snippet.defaultLanguage
zasobu. Ta właściwość określa język właściwościsnippet.title
isnippet.description
zasobu. Jego wartością może być dowolny obsługiwany język aplikacji lub większość pozostałych kodów języków w formacie ISO 639-1:2002. Jeśli na przykład prześlesz film, który ma angielski tytuł i opis, ustaw we właściwościsnippet.defaultLanguage
wartośćen
.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 w standardzie ISO 639-1:2002, a każdy klucz jest mapowany na obiekt zawierający zlokalizowany tytuł (i opis) zasobu.Przykładowy fragment kodu poniżej ustawia domyślny język zasobu na angielski. Dodaje też przetłumaczone tytuły i opisy w języku niemieckim i hiszpańskim:
{ "kind": "youtube#video", ... "snippet": { "title": "Playing soccer", "description": "We play soccer in the park on Sundays.", "defaultLanguage": "en", ... }, "localizations": "de": { "title": "Fußball spielen", "description": "Wir spielen Fußball im Park am Sonntag" }, "es": { "title": "Jugar al fútbol", "description": "Nosotros jugamos fútbol en el parque los domingos", } } }
Ważne: pamiętaj, że gdy aktualizujesz zlokalizowane dane zasobu, żądanie do interfejsu API musi zawierać wszystkie istniejące zlokalizowane wersje danych. Jeśli na przykład wyślesz kolejną prośbę o dodanie danych w języku portugalskim do filmu z przykładu powyżej, prośba musi zawierać zlokalizowane dane dotyczące języka niemieckiego, hiszpańskiego i portugalskiego.
-
-
Pobieram zlokalizowane wartości
Interfejs API obsługuje 2 sposoby pobierania zlokalizowanych wartości dla zasobu:
-
Dodaj parametr
hl
do żądaniachannels.list
,channelSections.list
,playlists.list
lubvideos.list
, aby pobrać zlokalizowane dane dla określonego języka aplikacji obsługiwanego przez stronę YouTube. Jeśli zlokalizowane szczegóły zasobu są dostępne w danym języku, obiektsnippet.localized
zasobu będzie zawierać zlokalizowane wartości. Jeśli jednak zlokalizowane szczegóły nie są dostępne, obiektsnippet.localized
będzie zawierać szczegóły zasobu w domyślnym języku zasobu.Załóżmy na przykład, że żądanie
videos.list
pobrało dane dotyczące opisanego powyżej filmu ze zlokalizowanymi danymi w języku niemieckim i hiszpańskim. Gdyby parametrhl
miał wartośćde
, zasób zawierałby te dane:{ "kind": "youtube#video", ... "snippet": { "title": "Playing soccer", "description": "We play soccer in the park on Sundays.", "defaultLanguage": "en", "localized": { "title": "Fußball spielen", "description": "Wir spielen Fußball im Park am Sonntag" } ... } }
Jeśli jednak parametr
hl
miałby wartośćfr
, obiektsnippet.localized
zawierałby angielski tytuł i opis, ponieważ domyślny język zasobu to angielski, a zlokalizowane szczegóły w języku francuskim nie są dostępne.Ważne: parametrhl
obsługuje tylko wartości identyfikujące języki aplikacji obsługiwane przez witrynę YouTube. Aby sprawdzić, czy zlokalizowany tekst jest dostępny dla innych języków, musisz pobrać częśćlocalizations
dla zasobu i filtr, aby sprawdzić, czy zlokalizowany tekst istnieje.
Musisz na przykład pobrać pełną listę lokalizacji, aby sprawdzić, czy zlokalizowany tekst jest dostępny w języku Appalachów.
-
Podczas pobierania zasobu uwzględnij
localizations
w wartości parametrupart
, aby pobrać wszystkie zlokalizowane szczegóły tego zasobu. Jeśli pobierasz zlokalizowane dane dla języka, który nie jest aktualnym językiem aplikacji YouTube, użyj tej metody, aby pobrać wszystkie lokalizacje, a następnie zastosować filtr, aby sprawdzić, czy są potrzebne zlokalizowane dane.
-
-
Błędy związane z wartościami zlokalizowanego tekstu
Interfejs API obsługuje też te nowe błędy w przypadku wartości zlokalizowanych tekstów:
Typ błędu Szczegóły błędu Opis badRequest (400)
defaultLanguageNotSetError
Ten błąd oznacza, że żądanie, które próbuje wstawić lub zaktualizować obiekt localizations
dla zasobu, kończy się niepowodzeniem, ponieważ dla tego zasobu nie ustawiono właściwoś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 w obiekcie localizations
zasobu. Ten błąd może wystąpić na przykład wtedy, gdy obiekt zawiera nieprawidłowy kod języka. Metodychannels.update
,channelSections.insert
,channelSections.update
,playlists.insert
iplaylists.update
obsługują ten błąd.
4 listopada 2015 r.
Ta aktualizacja zawiera następujące zmiany:
-
Aktualizacje istniejących zasobów i metod
-
Parametr
order
metodysearch.list
został zaktualizowany, by poinformować, że jeśli sortujesz transmisje na żywo według parametruviewCount
, wyniki interfejsu API są sortowane według transmisji widzów w czasie trwania transmisji. -
Parametr
relatedToVideoId
metodysearch.list
został zaktualizowany, aby zwrócić uwagę, że jeśli jest on skonfigurowany, jedynymi obsługiwanymi parametrami są:part
,maxResults
,pageToken
,regionCode
,relevanceLanguage
,safeSearch
,type
(który musi być ustawiony navideo
) orazfields
. Ta aktualizacja nie odzwierciedla zmiany w działaniu interfejsu API. -
Zaktualizowaliśmy definicję właściwości
snippet.publishedAt
zasobuvideo
, aby zaznaczyć, że wartość właściwości, która określa datę i godzinę opublikowania filmu, może się różnić od czasu przesłania filmu. Jeśli na przykład film zostanie przesłany jako prywatny, a później upubliczniony, wartość właściwości określa czas jego ustawienia jako publicznego. Zaktualizowana definicja wyjaśnia też sposób wypełniania tej wartości w przypadku filmów prywatnych i niepublicznych.Ta zmiana nie odzwierciedla zmiany w działaniu interfejsu API.
-
Definicja właściwości
status.publishAt
zasobuvideo
została zaktualizowana, aby zawierała następujące informacje:- Jeśli ustawisz wartość tej właściwości podczas wywoływania metody
videos.update
, musisz też ustawić wartość właściwościstatus.privacyStatus
naprivate
, nawet jeśli film jest już prywatny. - Jeśli żądanie zaplanuje publikację filmu w przeszłości, zostanie on opublikowany natychmiast. Dlatego ustawienie właściwości
status.publishAt
na datę i godzinę z przeszłości jest takie samo jak zmiana wartościprivacyStatus
filmu zprivate
napublic
.
- Jeśli ustawisz wartość tej właściwości podczas wywoływania metody
-
Właściwość
contentDetails.contentRating.cncRating
zasobuvideo
określa ocenę filmu według francuskiej komisji ds. klasyfikacji filmowej. Ta usługa zastępuje właściwośćcontentDetails.contentRating.fmocRating
, która została wycofana. -
Definicja właściwości brandingSettings.channel.keywords zasobu
channel
została zaktualizowana, aby poprawnie odzwierciedlała, że wartość właściwości zawiera listę ciągów rozdzielonych spacjami, a nie listę rozdzielaną przecinkami, jak w poprzedniej dokumentacji. Ta aktualizacja nie odzwierciedla zmiany w działaniu interfejsu API. -
Dokumentacja metody
thumbnails.set
została zaktualizowana tak, aby trafnie odzwierciedlić, że treść żądania zawiera obraz miniatury, który przesyłasz i powiązujesz z filmem. Treść żądania nie zawiera zasobuthumbnail
. Wcześniej z dokumentacji wynikało, że przy wywoływaniu tej metody nie należy podawać treści żądania. Ta aktualizacja nie odzwierciedla zmiany w działaniu interfejsu API. -
Opis zasobu
activity
został zaktualizowany, aby uwzględnić fakt, że metodaactivities.list
nie obejmuje obecnie zasobów związanych z komentarzami do nowych filmów.snippet.type
icontentDetails.comment
zasobu również zostały zaktualizowane.
-
-
Nowe i zaktualizowane błędy
-
Interfejs API obsługuje teraz następujące błędy:
Szczegóły błędu activities.insert
Kod odpowiedzi HTTP badRequest (400)
Przyczyna invalidMetadata
Opis Właściwość kind
nie pasuje do typu podanego identyfikatora.commentThreads.update
comments.insert
comments.update
Kod odpowiedzi HTTP badRequest (400)
Przyczyna commentTextTooLong
Opis Wstawiony lub aktualizowany zasób comment
zawiera zbyt wiele znaków we właściwościsnippet.topLevelComment.snippet.textOriginal
.playlistItems.insert
playlistItems.update
Kod odpowiedzi HTTP forbidden (403)
Przyczyna playlistItemsNotAccessible
Opis Żądanie nie ma odpowiednich uprawnień do wstawienia, aktualizowania lub usuwania określonego elementu playlisty. playlists.delete
playlists.insert
playlists.update
Kod odpowiedzi HTTP badRequest (400)
Przyczyna playlistForbidden
Opis Ta operacja jest zabroniona lub żądanie nie jest poprawnie 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
jest nieprawidłowo sformatowana.subscriptions.insert
Kod odpowiedzi HTTP badRequest (400)
Przyczyna subscriptionForbidden
Opis Ten błąd występuje, gdy jest spełniony dowolny z tych warunków: - Subskrypcja, którą próbujesz utworzyć, już istnieje
- Masz już maksymalną liczbę subskrypcji
- Próbujesz zasubskrybować własny kanał, co nie jest obsługiwane.
- Masz ostatnio utworzonych zbyt wiele subskrypcji. Odczekaj kilka godzin, zanim spróbujesz ponownie.
videos.update
Kod odpowiedzi HTTP badRequest (400)
Przyczyna invalidDefaultBroadcastPrivacySetting
Opis Żądanie próbuje określić nieprawidłowe ustawienie prywatności dla domyślnej transmisji.
-
28 sierpnia 2015 r.
Ta aktualizacja zawiera następujące zmiany:
-
Aktualizacje istniejących zasobów i metod
-
Właściwość
statistics.favoriteCount
zasobuvideo
została wycofana.Zgodnie z naszymi zasadami wycofywania ta usługa będzie uwzględniana w zasobach
video
przez co najmniej rok od momentu opublikowania tego ogłoszenia. Jednak teraz wartość właściwości będzie zawsze ustawiona na0
.
-
7 sierpnia 2015 r.
Ta aktualizacja zawiera następujące zmiany:
-
Aktualizacje istniejących zasobów i metod
-
Zaktualizowaliśmy definicję właściwości
snippet.tags[]
zasobuvideo
, aby dostarczyć więcej informacji o tym, jak serwer API oblicza długość wartości właściwości. Pamiętaj, że ta aktualizacja nie odzwierciedla zmiany w działaniu interfejsu API.Definicja wyjaśnia teraz, że jeśli tag zawiera spację, serwer interfejsu API obsługuje wartość tagu tak, jakby była ona ujęta w cudzysłów, a cudzysłowy są wliczane do limitu znaków. Dlatego tag Foo-Baz ma siedem znaków, a Foo Baza – dziewięć znaków.
-
Metoda
commentThreads.insert
nie obsługuje już parametrushareOnGooglePlus
, który wcześniej określał, czy komentarz i odpowiedzi na niego mają być publikowane także w profilu Google+ autora. Jeśli żądanie przesyła parametr, serwer interfejsu API go ignoruje, ale w inny sposób obsługuje żądanie.
-
18 czerwca 2015 r.
Ta aktualizacja zawiera następujące zmiany:
-
Aktualizacje istniejących zasobów i metod
-
Nowy parametr
order
metodycommentThreads.list
określa kolejność, w jakiej odpowiedź interfejsu API powinna wyświetlać listę wątków komentarzy. Wątki można porządkować według czasu lub trafności. Domyślne działanie to sortowanie według czasu. -
Nowa właściwość
snippet.defaultAudioLanguage
zasobuvideo
określa język używany na domyślnej ścieżce dźwiękowej filmu. -
Zaktualizowaliśmy definicję właściwości
contentDetails.licensedContent
zasobuvideo
, aby doprecyzować, że treści muszą zostać wcześniej przesłane na kanał połączony z partnerem treści YouTube, a następnie zgłosić roszczenie przez partnera. Nie odzwierciedla to zmiany w rzeczywistym działaniu interfejsu API. -
Metody
captions.delete
,captions.download
,captions.insert
,captions.list
icaptions.update
obsługują teraz parametronBehalfOfContentOwner
, który jest już obsługiwany w przypadku kilku innych metod. Żądania używające tej metody muszą też być autoryzowane za pomocą tokena zapewniającego dostęp do zakresuhttps://www.googleapis.com/auth/youtubepartner
.
-
-
Nowe i zaktualizowane błędy
-
Interfejs API obsługuje teraz następujące błędy:
Szczegóły błędu videos.rate
Kod odpowiedzi HTTP badRequest (400)
Przyczyna emailNotVerified
Opis Przed wystawieniem oceny filmu użytkownik musi zweryfikować swój adres e-mail. videos.rate
Kod odpowiedzi HTTP badRequest (400)
Przyczyna videoPurchaseRequired
Opis Wypożyczone filmy mogą być oceniane tylko przez użytkowników, którzy je wypożyczyli. -
Metody
subscriptions.delete
isubscriptions.insert
nie obsługują już błędówaccountClosed
iaccountSuspended
.
-
27 kwietnia 2015 r.
Ta aktualizacja zawiera następujące zmiany:
-
Nowe zasoby i metody
-
Nowy zasób
videoAbuseReportReason
zawiera informacje o przyczynie oznaczenia filmu jako zawierającego nieodpowiednie treści. MetodavideoAbuseReportReasons.list
umożliwia pobranie listy wszystkich powodów, dla których filmy mogą zostać zgłoszone. -
Nowa metoda
videos.reportAbuse
umożliwia zgłoszenie filmu, który zawiera nieodpowiednie treści. Treść żądania zawiera obiekt JSON określający zgłoszony film oraz przyczynę, dla której uznano, że zawiera on treści naruszające zasady. Prawidłowe przyczyny można uzyskać za pomocą opisanej powyżej metodyvideoAbuseReportReason.list
.Do przewodnika po migracji dodaliśmy też przykład zgłaszania nieodpowiedniego filmu. Dzięki tej zmianie interfejs API w wersji 3 obsługuje teraz wszystkie funkcje interfejsu API w wersji 2, które ma być obsługiwane. Wszystkie te funkcje zostały również omówione w przewodniku po migracji.
-
-
Aktualizacje istniejących zasobów i metod
-
Nowy parametr filtra
forDeveloper
w metodziesearch.list
ogranicza wyszukiwanie tak, aby pobierać tylko filmy przesłane za pomocą aplikacji lub strony dewelopera. ParametruforDeveloper
można używać w połączeniu z opcjonalnymi parametrami wyszukiwania, np.q
.Dzięki tej funkcji każdy przesłany film jest automatycznie oznaczany numerem projektu powiązanym z aplikacją dewelopera w Google Developers Console.
Gdy w żądaniu wyszukiwania parametr
forDeveloper
ma wartośćtrue
, serwer interfejsu API identyfikuje dewelopera na podstawie danych uwierzytelniających żądania. Dlatego deweloper może ograniczyć wyniki do filmów przesłanych za pomocą jego własnej aplikacji lub witryny, ale nie do filmów przesłanych za pomocą innych aplikacji lub witryn.Nowa funkcja oferuje funkcje podobne, choć nie identyczne, do funkcji tagów programisty obsługiwanych przez interfejs API w wersji 2.
-
Dzięki nowej usłudze
snippet.country
zasobuchannel
właściciele kanałów mogą powiązać swoje kanały z konkretnym 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 zasobów typu
channelSection
. Kierowanie na sekcje kanału pozwala ograniczyć widoczność sekcji treści do użytkowników spełniających określone kryteria.Interfejs API udostępnia 3 opcje kierowania. Aby sekcja kanału była widoczna, użytkownik musi spełnić wszystkie ustawienia kierowania.
-
targeting.languages[]
: lista języków aplikacji YouTube. Użytkownicy, którzy wybrali jeden z tych języków, zobaczą odpowiednią sekcję kanału. -
targeting.regions[]
: lista regionów treści preferowanych w YouTube. Sekcja kanału jest widoczna dla użytkowników, którzy wybrali jeden z tych regionów, oraz dla użytkowników, dla których jeden z tych regionów został wybrany automatycznie. -
targeting.countries[]
: lista krajów, w których widoczna jest sekcja kanału. Każda wartość na liście jest kodem kraju w formacie ISO 3166-1 alfa-2.
-
-
Poprawiliśmy definicję właściwości
contentDetails.duration
zasobuvideo
, aby odzwierciedlała, że wartość może odzwierciedlać godziny, dni itp. -
Dokumentacja metod
channelSections.delete
,playlistItems.delete
,playlists.delete
,subscriptions.delete
ivideos.delete
została poprawiona, dzięki czemu wszystkie metody, które się udają, zwracają kod odpowiedzi HTTP204
(No Content
).
-
-
Nowe i zaktualizowane błędy
-
Interfejs API obsługuje teraz następujące błędy:
Typ błędu Szczegóły błędu Opis badRequest (400)
targetInvalidCountry
Metody channelSections.insert
ichannelSections.update
zwracają ten błąd, jeśli wstawiony zasóbchannelSection
zawierał nieprawidłową wartość właściwościtargeting.countries[]
.badRequest (400)
targetInvalidLanguage
Metody channelSections.insert
ichannelSections.update
zwracają ten błąd, jeśli wstawiony zasóbchannelSection
zawierał nieprawidłową wartość właściwościtargeting.languages[]
.badRequest (400)
targetInvalidRegion
Metody channelSections.insert
ichannelSections.update
zwracają ten błąd, jeśli wstawiony zasóbchannelSection
zawierał nieprawidłową wartość właściwościtargeting.regions[]
.badRequest (400)
operationNotSupported
Metoda comments.insert
zwraca ten błąd, jeśli użytkownik interfejsu API nie może wstawić komentarza w odpowiedzi na komentarz najwyższego poziomu wskazany przez właściwośćsnippet.parentId
. W zasobiecommentThread
właściwośćsnippet.canReply
wskazuje, czy bieżący przeglądający może odpowiedzieć na wątek.badRequest (400)
invalidChannelId
Metoda search.list
zwraca ten błąd, jeśli parametrchannelId
w żądaniu określa nieprawidłowy identyfikator kanału.badRequest (400)
subscriptionForbidden
Metoda subscriptions.insert
zwraca ten błąd, jeśli użytkownik interfejsu API próbuje zasubskrybować własny kanał użytkownika. -
Metoda
captions.update
nie obsługuje już błędówinvalidMetadata
ivideoNotFound
.
-
16 kwietnia 2015 r.
Ta aktualizacja zawiera następujące zmiany:
-
Zaktualizowaliśmy przewodnik po migracji, aby wyjaśnić, jak przenieść aplikacje, które nadal korzystają z funkcji komentarzy za pomocą interfejsu API w wersji 2.
W przewodniku znajdziesz też informacje o kilku funkcjach komentowania, których interfejs API w wersji 2 nie obsługuje, ale które są obsługiwane przez ten interfejs. Obejmują one:
- Pobieranie komentarzy na temat kanału
- Pobieranie wszystkich wątków komentarzy związanych z kanałem, co oznacza, że odpowiedź interfejsu API może zawierać komentarze na temat kanału lub dowolnego z jego filmów.
- Aktualizowanie tekstu komentarza
- Oznaczanie komentarza jako spamu
- Ustawianie stanu moderowania komentarza
-
Przewodnik Subskrybowanie powiadomień push został zaktualizowany, aby uwzględnić informacje o tym, że powiadomienia są przekazywane tylko do centrum Google PubSubHubBub, a nie do centrum Superfeedr, jak wspomniano wcześniej.
9 kwietnia 2015 r.
Ta aktualizacja zawiera następujące zmiany:
-
Nowe zasoby
commentThread
icomment
interfejsu API umożliwiają pobieranie, wstawianie, aktualizowanie, usuwanie i moderowanie komentarzy.-
Zasób
commentThread
zawiera informacje o wątku komentarza w YouTube, który obejmuje komentarz najwyższego poziomu i odpowiedzi na ten komentarz (jeśli istnieją) ZasóbcommentThread
może reprezentować komentarze do filmu lub kanału.Komentarz najwyższego poziomu i odpowiedzi to w rzeczywistości zasoby
comment
zagnieżdżone w zasobiecommentThread
. Pamiętaj, że zasóbcommentThread
nie musi zawierać wszystkich odpowiedzi na komentarz. Jeśli chcesz pobrać wszystkie odpowiedzi na konkretny komentarz, musisz użyć metodycomments.list
. Ponadto na niektóre komentarze nie ma odpowiedzi.Interfejs API obsługuje następujące metody w przypadku zasobów
commentThread
:commentThreads.list
– pobiera listę wątków komentarzy. Ta metoda służy do pobierania komentarzy powiązanych z konkretnym filmem lub kanałem.commentThreads.insert
– utwórz nowy komentarz najwyższego poziomu. Aby odpowiedzieć na istniejący komentarz, użyj metodycomments.insert
.commentThreads.update
– modyfikuje komentarz najwyższego poziomu.
-
Zasób
comment
zawiera informacje na temat pojedynczego komentarza w YouTube. Zasóbcomment
może reprezentować komentarz do filmu lub kanału. Dodatkowo może to być komentarz najwyższego poziomu lub odpowiedź na komentarz najwyższego poziomu.Interfejs API obsługuje następujące metody w przypadku zasobów
comment
:comments.list
– pobiera listę komentarzy. Ta metoda służy do pobierania wszystkich odpowiedzi na konkretny komentarz.comments.insert
– pozwala utworzyć odpowiedź na istniejący komentarz.comments.update
– modyfikuje komentarz.comments.markAsSpam
– oznacz co najmniej jeden komentarz jako spam.comments.setModerationStatus
– ustawia stan moderowania jednego lub wielu komentarzy. Możesz na przykład usunąć komentarz, który będzie publicznie widoczny, lub odrzucić komentarz, który nie nadaje się do wyświetlenia. Żądanie do interfejsu API musi zostać autoryzowane przez właściciela kanału lub filmu powiązanego z komentarzami.comments.delete
– usuwanie komentarza.
Pamiętaj, że nowy zakres
https://www.googleapis.com/auth/youtube.force-ssl
interfejsu API, opisany w historii zmian z 2 kwietnia 2015 r., jest wymagany w przypadku wywołań metodcomments.insert
,comments.update
,comments.markAsSpam
,comments.setModerationStatus
,comments.delete
,commentThreads.insert
icommentThreads.update
. -
-
W nowym przewodniku Subskrybowanie powiadomień push opisujemy nową obsługę powiadomień push interfejsu API w ramach PubSubHubBub, czyli protokołu między serwerami do publikowania i subskrypcji zasobów dostępnych w internecie. Twój serwer wywołań zwrotnych PubSubHubBub może otrzymywać powiadomienia z kanału Atom, gdy kanał wykona dowolne z tych działań:
- przesyła film
- aktualizuje tytuł filmu
- aktualizuje opis filmu
-
Zaktualizowaliśmy też przewodnik po migracji, aby uwzględnić nową obsługę powiadomień push. Ponieważ interfejs API w wersji 2 obsługiwał wiele innych typów powiadomień push, które nie są obsługiwane w tym interfejsie, wzmianka o obsłudze PubSubHubBub nadal znajduje się w sekcji Wycofane w tym przewodniku.
-
Nowy zakres
https://www.googleapis.com/auth/youtube.force-ssl
interfejsu API jest teraz prawidłowym zakresem dla każdej metody interfejsu API, która wcześniej obsługiwała zakreshttps://www.googleapis.com/auth/youtube
. -
Interfejs API obsługuje teraz następujące błędy:
Typ błędu Szczegóły błędu Opis badRequest (400)
invalidRating
Metoda videos.rate
zwraca ten błąd, jeśli żądanie zawiera nieoczekiwaną wartość parametrurating
. -
Metoda
subscriptions.insert
nie obsługuje już błędusubscriptionLimitExceeded
, który wcześniej wskazywał, że subskrybent określony w żądaniu przekroczył limit liczby subskrypcji.
2 kwietnia 2015 r.
Ta aktualizacja zawiera następujące zmiany:
-
Nowy zasób
captions
reprezentuje ścieżkę z napisami w YouTube. Ścieżka z napisami jest powiązana tylko z jednym filmem w YouTube.Interfejs API obsługuje metody wyświetlania, wstawiania, aktualizacji, pobierania i usuwania ścieżek z napisami.
-
Zaktualizowaliśmy też przewodnik po migracji, aby wyjaśnić, jak przenieść aplikacje, które nadal korzystają z funkcji napisów w interfejsie API w wersji 2.
-
Nowy zakres
https://www.googleapis.com/auth/youtube.force-ssl
interfejsu API wymaga komunikacji z serwerem API przez połączenie SSL.Ten nowy zakres zapewnia taki sam dostęp jak zakres
https://www.googleapis.com/auth/youtube
. W rzeczywistości te 2 zakresy są identyczne pod względem funkcji, ponieważ serwer YouTube API jest dostępny tylko przez punkt końcowy HTTPS. W efekcie, chociaż zakreshttps://www.googleapis.com/auth/youtube
nie wymaga połączenia SSL, w rzeczywistości nie ma innego sposobu na wysłanie żądania do interfejsu API.Nowy zakres jest wymagany w przypadku wywołań wszystkich metod zasobu
caption
.
11 marca 2015 r.
Ta aktualizacja zawiera następujące zmiany:
-
Przewodnik po migracji interfejsu YouTube Data API (v3) zawiera nową kartę o nazwie Nowa w interfejsie API w wersji 3, która zawiera listę funkcji obsługiwanych przez interfejs API w wersji 3 oraz tych, których interfejs w wersji 2 nie był obsługiwany. Wcześniej te same funkcje były dostępne na innych kartach przewodnika. Na przykład nowa funkcja wyjaśniająca, jak aktualizować dane na temat kampanii promocyjnej In-Video na kanale jest dostępna również na karcie Kanały (profile).
-
Zaktualizowaliśmy przewodnik po migracji interfejsu YouTube Data API (v3), aby poinformować, że interfejs API w wersji 3 będzie obsługiwać tę funkcję interfejsu API w wersji 2:
-
Zaktualizowaliśmy przewodnik po migracji interfejsu YouTube Data API (v3), aby poinformować, że te funkcje interfejsu API w wersji 2 nie będą obsługiwane:
-
Pobieranie rekomendacji filmów – interfejs API w wersji 3 nie pobiera listy zawierającej tylko filmy polecane dla bieżącego użytkownika interfejsu API. Możesz jednak używać interfejsu API w wersji 3, aby znajdować polecane filmy. W tym celu wywołaj metodę
activities.list
i ustaw wartość parametruhome
natrue
.W odpowiedzi interfejsu API zasób odpowiada rekomendowanemu filmowi, jeśli wartość właściwości
snippet.type
wynosirecommendation
. 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 nowych filmów objętych subskrypcją – interfejs API w wersji 3 nie pobiera listy zawierającej tylko filmy, które zostały ostatnio przesłane na kanały subskrybowane przez użytkownika interfejsu API. Możesz jednak znajdować nowe filmy w subskrypcji za pomocą interfejsu API w wersji 3. W tym celu wywołaj metodę
activities.list
i ustaw wartość parametruhome
natrue
.W odpowiedzi interfejsu API zasób odpowiada nowemu filmowi w subskrypcji, jeśli wartość właściwości
snippet.type
wynosiupload
. Pamiętaj, że nie możemy zagwarantować, że odpowiedź będzie zawierać określoną liczbę nowych filmów objętych subskrypcją. -
Powiadomienia push o aktualizacjach plików danych – interfejs API w wersji 2 obsługiwał powiadomienia push przy użyciu protokołu Simple Update Protocol (SUP) lub PubSubHubbub, aby monitorować kanały aktywności użytkowników YouTube. Otrzymujemy powiadomienia o nowych subskrypcjach kanałów oraz powiadomieniach o filmach wideo, które zostały ocenione, udostępnione, oznaczone jako ulubione, skomentowane lub przesłane.
Interfejs API w wersji 3 będzie obsługiwać powiadomienia push przy użyciu protokołu PubSubHubbub, ale powiadomienia będą dotyczyć tylko przesłanych filmów oraz aktualizacji tytułów i opisów filmów.
-
Lokalizacja kanału – interfejs API w wersji 2 użył tagu
<yt:location>
do identyfikacji lokalizacji użytkownika podanej w publicznym profilu YouTube kanału. Niektórzy deweloperzy używali tego pola, aby powiązać kanał z konkretnym krajem, ale dane z tego pola nie mogły być konsekwentnie wykorzystywane w tym celu. -
Ustawianie i pobieranie tagów programisty – interfejs API w wersji 2 umożliwiał powiązanie słów kluczowych lub tagów programisty z filmem w momencie jego przesyłania. Tagi dewelopera nie byłyby wyświetlane użytkownikom YouTube, ale właściciele filmów mogli pobierać filmy, które pasowały do określonego tagu programisty.
Interfejs API w wersji 3 zapewni podobną, ale nie identyczną funkcję. Konkretnie programista może wyszukiwać filmy przesłane przez jego własną aplikację. Dzięki tej funkcji każdy przesłany film jest automatycznie oznaczany numerem projektu powiązanym z aplikacją dewelopera w Google Developers Console. Następnie deweloper wyszukuje filmy przy użyciu tego samego numeru projektu.
-
Porządkowanie filmów według daty publikacji, liczby wyświetleń lub oceny – w interfejsie API wersji 2 parametr
orderby
umożliwia sortowanie filmów na playliście według pozycji, czasu trwania, daty publikacji, tytułu i kilku innych wartości. W interfejsie API w wersji 3 elementy playlisty są zwykle sortowane według pozycji w kolejności rosnącej, a inne opcje sortowania są niedostępne.Jest kilka wyjątków. Nowy przesłany lub dodany do ulubionych film, polubiony lub ostatnio oglądany film są automatycznie dodawane jako pierwszy element (
snippet.position
=0
) w przypadku tych typów playlist. Każda z tych list jest więc skutecznie sortowana w kolejności od najnowszego do najstarszego na podstawie czasu dodania elementów do listy.- przesłane przez użytkowników
- ulubione filmy
- polubione filmy
- historia oglądania
Zwróć jednak uwagę, że do listy „Do obejrzenia” dodano nowy element. playlista jest dodawana na końcu listy, więc lista jest posortowana od najstarszego do najnowszego elementu.
-
Przetwarzanie wsadowe – interfejs API w wersji 3 obsługuje jeden z przypadków przetwarzania wsadowego, które były obsługiwane przez interfejs API w wersji 2. Metody
channels.list
,channelSections.list
,guideCategories.list
,playlistItems.list
,playlists.list
,subscriptions.list
,videoCategories.list
ivideos.list
interfejsu API w wersji 3 obsługują parametrid
, którego można użyć do określenia listy rozdzielanej przecinkami identyfikatorów (identyfikatorów filmów, kanałów itp.). Korzystając z tych metod, możesz pobrać listę wielu zasobów w ramach jednego żądania.
Po tych zmianach w przewodniku są teraz wskazane wszystkie funkcje, które były obsługiwane w starej wersji interfejsu API (v2), które zostaną wycofane w obecnej wersji API (v3).
-
4 marca 2015 r.
Ta aktualizacja zawiera następujące zmiany:
-
Metody
channelSections.delete
ichannelSections.update
obsługują teraz parametronBehalfOfContentOwner
, który jest już obsługiwany w przypadku kilku innych metod. -
Te usługi i ich usługi podrzędne zostały wycofane:
brandingSettings.image.backgroundImageUrl
brandingSettings.image.largeBrandedBannerImageImapScript
brandingSettings.image.largeBrandedBannerImageUrl
brandingSettings.image.smallBrandedBannerImageImapScript
brandingSettings.image.smallBrandedBannerImageUrl
Uwaga: żadna z tych usług nie podlegała zasadom wycofywania interfejsów API.
-
Nowa właściwość
contentDetails.contentRating.contentDetails.contentRating.djctqRatingReasons
zasobuvideo
określa powody, dla których film otrzymał ocenę DJCQT (Brazylia). -
Interfejs API obsługuje teraz następujące błędy:
Typ błędu Szczegóły błędu Opis notFound (404)
channelNotFound
Metoda channels.update
zwraca ten błąd, jeśli 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 w żądaniu zostanie podjęta próba ustawienia pozycji elementu playlisty, ale playlista nie korzysta z ręcznego sortowania. Na przykład elementy playlisty mogą być sortowane według daty lub popularności. Możesz rozwiązać ten problem, usuwając elementsnippet.position
z zasobu wysłanego w treści żądania. Jeśli chcesz, by element playlisty miał określoną pozycję na liście, musisz najpierw zmienić ustawienie kolejności playlisty na Ręcznie. To ustawienie można dostosować w Menedżerze filmów YouTube.forbidden (403)
channelClosed
Metoda playlists.list
zwraca ten błąd, jeśli parametrchannelId
żądania określa kanał, który został zamknięty.forbidden (403)
channelSuspended
Metoda playlists.list
zwraca ten błąd, jeśli parametrchannelId
żądania określa kanał, który został zawieszony.forbidden (403)
playlistForbidden
Metoda playlists.list
zwraca ten błąd, jeśli parametrid
żądania nie obsługuje żądania lub żą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
, dzięki czemu możesz prosić o wyniki, które są najbardziej odpowiednie dla danego języka.Zaktualizowaliśmy też przewodnik po migracji interfejsu YouTube Data API (v3), aby wyjaśnić, jak korzystać z tego nowego parametru. Ten parametr eliminuje lukę w funkcjach, która wcześniej występowała 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 (v3), aby poinformować o wycofaniu specjalnych pól plików danych i metadanych, które są przeznaczone do opisywania filmów, zwiastunów, programów telewizyjnych, sezonów i odcinków programów telewizyjnych.
14 stycznia 2015 r.
Ta aktualizacja zawiera następujące zmiany:
-
Zaktualizowaliśmy przewodnik po migracji interfejsu YouTube Data API (v3), aby wyjaśnić, jak przesyłać filmy za pomocą JavaScriptu za pomocą interfejsu API w wersji 3. Więcej informacji znajdziesz w sekcji Przesyłanie filmu. Ta funkcja jest porównywalna z funkcją przesyłania w przeglądarce, którą obsługuje interfejs API w wersji 2. Zwróć uwagę, że ta zmiana w przewodniku po migracji nie odzwierciedla faktycznej zmiany interfejsu API, ale raczej dostępność nowego przykładowego kodu do przesyłania filmów za pomocą JavaScriptu po stronie klienta.
Ze względu na obsługę przesyłania filmów za pomocą biblioteki klienta JavaScript i CORS w przewodniku po migracji nie jest już wymienione przesyłanie z poziomu przeglądarki jako funkcję, która może zostać wycofana w interfejsie API w wersji 3.
-
Dokumentacja metody
videos.insert
została zaktualizowana, aby obejmowała nowy przykładowy kod JavaScript opisany powyżej. Zaktualizowaliśmy też listę przykładowych kodów JavaScript dla interfejsu YouTube Data API (v3).
11 listopada 2014 r.
Ta aktualizacja zawiera następujące zmiany:
-
Limit kosztu wywołania metody
search.list
zmienił się na 100 jednostek.Ważne: w wielu przypadkach możesz użyć innych metod API, aby pobierać informacje niższym kosztem. Rozważ na przykład te 2 sposoby znajdowania filmów przesłanych na kanał GoogleDevelopers.
-
Koszt limitu: 100 jednostek
Wywołaj metodę
search.list
i wyszukajGoogleDevelopers
. -
Koszt limitu: 6 jednostek
Wywołaj metodę
channels.list
, aby znaleźć właściwy identyfikator kanału. Ustaw parametrforUsername
naGoogleDevelopers
, a parametrpart
nacontentDetails
. W odpowiedzi interfejsu API właściwośćcontentDetails.relatedPlaylists.uploads
określa identyfikator playlisty dla filmów przesłanych na kanał.Następnie wywołaj metodę
playlistItems.list
i ustaw parametrplaylistId
na przechwycony identyfikator, a parametrpart
nasnippet
.
-
8 października 2014 r.
Ta aktualizacja zawiera następujące zmiany:
-
Zasób
channel
zawiera 2 nowe właściwości:-
Właściwość
status.longUploadsStatus
wskazuje, czy na kanał mogą być przesyłane filmy dłuższe niż 15 minut. Ta właściwość jest zwracana tylko wtedy, gdy właściciel kanału autoryzował żądanie do interfejsu API. Prawidłowe wartości właściwości to:allowed
– na kanał mogą być przesyłane filmy dłuższe niż 15 minut.eligible
– na kanał może przesyłać filmy dłuższe niż 15 minut, ale najpierw musi włączyć tę funkcję.disallowed
– kanał nie może lub nie może przesyłać filmów dłuższych niż 15 minut.
Więcej informacji o tych wartościach znajdziesz w definicji właściwości. Więcej informacji na temat tej funkcji znajdziesz w Centrum pomocy YouTube.
-
Właściwość
invideoPromotion.useSmartTiming
wskazuje, czy kampania promocyjna na kanale korzysta z funkcji inteligentnego czasu. Ta funkcja służy do wyświetlania promocji w tych momentach filmu, w których jest większa szansa na to, że będą klikane, a nie zakłócają oglądania. Ta funkcja powoduje również wybranie jednej promocji, która jest wyświetlana przy każdym filmie.
-
-
Zaktualizowaliśmy definicje właściwości
snippet.title
isnippet.categoryId
zasobuvideo
, aby doprecyzować sposób, w jaki interfejs API obsługuje wywołania metodyvideos.update
. Jeśli wywołujesz 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
. Zaktualizowano również opis tego błędu. -
Właściwość
contentDetails.contentRating.oflcRating
zasobuvideo
, która identyfikuje ocenę filmu według nowozelandzkiego Urzędu ds. Filmów i Literatury, obsługuje teraz dwie nowe oceny:oflcRp13
ioflcRp16
. Odpowiadają one odpowiednio ocenomRP13
iRP16
. -
Metoda
channelBanners.insert
obsługuje teraz ten błąd:Typ błędu Szczegóły błędu Opis badRequest
bannerAlbumFull
Album z grafiką kanału w YouTube właściciela kanału zawiera zbyt wiele obrazów. Właściciel kanału powinien otworzyć stronę http://photos.google.com, otworzyć stronę albumów i usunąć niektóre zdjęcia z albumu.
12 września 2014 r.
Ta aktualizacja zawiera następujące zmiany:
-
Limit kosztu wywołania metody
search.list
zmienił się z 1 jednostki na 2 jednostki oprócz kosztu określonych części zasobów.
13 sierpnia 2014 r.
Ta aktualizacja zawiera następujące zmiany:
-
Metoda
subscriptions.insert
obsługuje teraz ten błąd:Typ błędu Szczegóły błędu Opis badRequest
subscriptionLimitExceeded
Subskrybent określony w żądaniu przekroczył limit liczby subskrypcji. Za kilka godzin będzie można spróbować zwiększyć liczbę subskrypcji.
12 sierpnia 2014 r.
Ta aktualizacja zawiera następujące zmiany:
-
W nowym przewodniku zatytułowanym Migracja aplikacji do interfejsu YouTube Data API (v3) wyjaśniamy, jak korzystać z interfejsu YouTube Data API (v3) do wykonywania funkcji dostępnych w interfejsie YouTube Data API (v2). Starsza wersja interfejsu API została oficjalnie wycofana 4 marca 2014 r. Ten przewodnik ma na celu pomoc w migracji aplikacji, które nadal korzystają z interfejsu API w wersji 2, do najnowszej wersji.
8 lipca 2014 r.
Ta aktualizacja zawiera następujące zmiany:
-
Metoda
playlists.insert
obsługuje teraz ten błąd:Typ błędu Szczegóły błędu Opis badRequest
maxPlaylistExceeded
Ten błąd występuje, jeśli nie można utworzyć playlisty, ponieważ na kanale znajduje się już maksymalna dozwolona liczba playlist.
18 czerwca 2014 r.
Ta aktualizacja zawiera następujące zmiany:
-
Opis każdej metody interfejsu API został zaktualizowany, aby uwzględnić koszt limitu poniesiony w związku z wywołaniem tej metody. Podobnie definicje parametrów
part
zostały zaktualizowane, aby określić limit kosztów każdej części, którą można pobrać za pomocą wywołania interfejsu API. Na przykład wywołanie metodysubscriptions.insert
wiąże się z limitem kosztu wynoszącym około 50 jednostek. Zasóbsubscription
też składa się z 3 części (snippet
,contentDetails
isubscriberSnippet
), a każda z nich ma koszt 2 jednostek.Pamiętaj, że limity mogą ulec zmianie bez ostrzeżenia.
-
W źródle
video
są teraz dostępne 43 nowe systemy oceny treści, które określają oceny, które filmy otrzymały od różnych krajowych agencji ocenionych.
28 maja 2014 r.
Ta aktualizacja zawiera następujące zmiany:
-
Metoda
search.list
obsługuje teraz parametrylocation
ilocationRadius
, co umożliwia wyszukiwanie filmów powiązanych z lokalizacją geograficzną. Aby można było pobrać wyniki na podstawie lokalizacji, żądanie musi określać wartość obu parametrów. Interfejs API zwróci błąd, jeśli żądanie zawiera tylko jeden z tych 2 parametrów.-
Parametr
location
określa współrzędne szerokości i długości geograficznej w środku okrągłego obszaru geograficznego. -
Parametr
locationRadius
określa maksymalną odległość, w jakiej lokalizacja powiązana z filmem musi znajdować się od środka obszaru, aby film nadal był uwzględniany w wynikach wyszukiwania.
-
13 maja 2014 r.
Ta aktualizacja zawiera następujące zmiany:
-
Zaktualizowaliśmy właściwość
invideoPromotion.items[]
zasobuchannel
, aby zaznaczyć, że zwykle na kanale można ustawić tylko jeden promowany produkt. Jeśli spróbujesz wstawić zbyt wiele promowanych produktów, interfejs API zwróci błądtooManyPromotedItems
z kodem stanu HTTP400
. -
Zasób
channelSection
może teraz zawierać informacje o kilku nowych typach polecanych treści. Właściwośćsnippet.type
zasobuchannelSection
obsługuje teraz te wartości:postedPlaylists
– playlisty opublikowane przez właściciela kanału w obszarze aktywności na kanale.postedVideos
– filmy, które właściciel kanału opublikował w sekcji aktywności na kanale.subscriptions
– kanały, które zasubskrybował właściciel kanału.
-
Nowa właściwość
contentDetails.contentRating.ifcoRating
zasobuvideo
określa ocenę, którą film otrzymał od irlandzkiego biura klasyfikacji filmów. -
Zaktualizowaliśmy definicję właściwości
position.cornerPosition
zasobuwatermark
, aby zaznaczyć, że znak wodny jest zawsze widoczny w prawym górnym rogu odtwarzacza. -
Zaktualizowaliśmy definicję parametru
q
metodysearch.list
, aby zaznaczyć, że wyszukiwane hasło może korzystać z operatora NIE (-
) w celu wykluczania filmów powiązanych z określonym wyszukiwanym hasłem. W przypadku wartości można też użyć operatora logicznego LUB (|
), aby znaleźć filmy powiązane z jednym z kilku wyszukiwanych haseł. -
Zaktualizowaliśmy definicję właściwości
pageInfo.totalResults
zwracaną w odpowiedzi interfejsu API na wywołaniesearch.list
, aby zaznaczyć, że wartość jest przybliżona i może nie przedstawiać dokładnej wartości. Poza tym maksymalna wartość to 1 000 000. Nie należy używać tej wartości do tworzenia linków podziału na strony. Zamiast tego użyj wartości właściwościnextPageToken
iprevPageToken
, aby określić, czy chcesz wyświetlać linki podziału na strony. -
Metody
watermarks.set
iwatermarks.unset
zostały zaktualizowane, aby odzwierciedlić fakt, że interfejs API zwraca kod odpowiedzi HTTP204
w przypadku udanych żądań kierowanych do tych metod.
2 maja 2014 r.
Ta aktualizacja zawiera następujące zmiany:
-
Nowy zasób
i18nLanguage
określa język aplikacji obsługiwany przez stronę YouTube. Język aplikacji można też określić jako język interfejsu. W przypadku strony YouTube język aplikacji może być wybierany automatycznie na podstawie ustawień konta Google, języka przeglądarki lub lokalizacji adresu IP. Użytkownik może też ręcznie wybrać odpowiedni język w stopce strony YouTube.Interfejs API obsługuje metodę wyświetlania listy obsługiwanych języków aplikacji. Obsługiwanych języków można używać jako wartości parametru
hl
przy wywoływaniu metod interfejsu API, takich jakvideoCategories.list
iguideCategories.list
. -
Nowy zasób
i18nRegion
określa obszar geograficzny, który użytkownik YouTube może wybrać jako preferowany region treści. Region treści można też określić jako język treści. W przypadku witryny YouTube region treści może być wybierany automatycznie na podstawie danych heurystycznych, takich jak domena YouTube lub lokalizacja adresu IP użytkownika. Użytkownik mógł też ręcznie wybrać odpowiedni region treści w stopce witryny YouTube.Interfejs API obsługuje metodę wyświetlania obsługiwanych regionów treści. Obsługiwane kody regionów mogą być używane jako wartość parametru
regionCode
przy wywoływaniu metod interfejsu API, takich 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 zbiorze filmów polecanych na kanale. Na przykład sekcja może zawierać najnowsze filmy z kanału, najpopularniejsze materiały czy filmy z jednej lub kilku playlist.Interfejs API obsługuje metody wyświetlania, wstawienia, aktualizowania i usuwania sekcji kanału. Możesz pobrać listę sekcji kanału dla kanału uwierzytelnionego użytkownika, podając konkretny identyfikator kanału lub listę unikalnych identyfikatorów sekcji kanału.
Zaktualizowaliśmy też dokumentację błędów, by opisać komunikaty o błędach obsługiwane przez interfejs API w przypadku tych nowych metod.
-
Zaktualizowaliśmy definicję obiektu
fileDetails
zasobuvideo
, aby wyjaśnić, że obiekt jest zwracany tylko wtedy, gdy właściwośćprocessingDetails.fileDetailsAvailability
filmu ma wartośćavailable
.Zaktualizowaliśmy też definicję obiektu
suggestions
zasobuvideo
, aby wyjaśnić, że obiekt ten zostanie zwrócony tylko wtedy, gdy właściwośćprocessingDetails.tagSuggestionsAvailability
filmu lub jego właściwośćprocessingDetails.editorSuggestionsAvailability
ma wartośćavailable
. -
Zaktualizowaliśmy dokumentację metod
videos.insert
ivideos.update
, by odzwierciedlić możliwość ustawienia właściwościstatus.publishAt
podczas ich wywoływania. -
Zaktualizowaliśmy definicję obiektu
invideoPromotion
zasobuchannel
, aby wyjaśnić, że obiekt może pobrać tylko właściciel kanału. -
Lista parametrów metody
videos.rate
została zaktualizowana, aby odzwierciedlić, że ta metoda nie obsługuje parametruonBehalfOfContentOwner
. Jest to błąd dokumentacji, ponieważ żądaniavideos.rate
ustawiające ten parametr zwracają błąd500
.
31 marca 2014 r.
Ta aktualizacja zawiera następujące zmiany:
-
Nowa właściwość
status.publishAt
zasobuvideo
pozwala określić datę i godzinę publikacji filmu prywatnego. Tę właściwość można ustawić tylko wtedy, gdy stan prywatności filmu toprivate
, a film nigdy nie został opublikowany. Ta nowa usługa nie podlega zasadom wycofywania.
13 marca 2014 r.
Ta aktualizacja zawiera następujące zmiany:
-
Interfejs API obsługuje teraz część
contentOwnerDetails
dla zasobówchannel
. Nowa część zawiera dane kanału, które są istotne w przypadku partnerów YouTube połączonych z kanałem, w tym identyfikator właściciela treści połączonego z kanałem oraz datę i godzinę połączenia właściciela treści z kanałem. Pamiętaj, że ta nowa część nie podlega zasadom wycofywania. -
W dokumentacji znajdziesz teraz maksymalną dozwoloną długość znaków dla tych właściwości:
Zasób Właściwość Maksymalna długość channel
invideoPromotion.items[].customMessage
40 znaków video
snippet.title
100 znaków video
snippet.description
5000 bajtów video
snippet.tags
500 znaków. Pamiętaj, że wartością właściwości jest lista, a przecinki między elementami listy wliczają się do limitu. -
Właściwość
brandingSettings.watch.featuredPlaylistId
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, dodaliśmy te właściwości zasobu
video
: -
Dokumentacja błędów zawiera teraz kod odpowiedzi HTTP dla każdego typu błędu.
-
Interfejs API obsługuje teraz następujące błędy:
Typ błędu Szczegóły błędu Opis badRequest (400)
invalidCriteria
Metoda channels.list
zwraca ten błąd, jeśli żądanie określa parametry filtra, których nie można używać razem.badRequest (400)
channelTitleUpdateForbidden
Metoda channels.update
zwraca ten błąd, jeśli próbujesz zaktualizować elementbrandingSettings
kanału i zmienić wartość właściwościbrandingSettings.channel.title
. (Pamiętaj, że interfejs API nie zwróci błędu, jeśli pominiesz tę właściwość).badRequest (400)
invalidRecentlyUploadedBy
Metoda channels.update
zwraca ten błąd, jeśli właściwośćinvideoPromotion.items[].id.recentlyUploadedBy
określa nieprawidłowy identyfikator kanału.badRequest (400)
invalidTimingOffset
Metoda channels.update
zwraca ten błąd, jeśli częśćinvideoPromotion
określa nieprawidłowe przesunięcie czasu.badRequest (400)
tooManyPromotedItems
Metoda channels.update
zwraca ten błąd, jeśli częśćinvideoPromotion
określa więcej niż dozwolona liczba promowanych produktów.forbidden (403)
promotedVideoNotAllowed
Metoda channels.update
zwraca ten błąd, jeśli właściwośćinvideoPromotion.items[].id.videoId
określa identyfikator filmu, którego nie można znaleźć lub którego nie można użyć jako promowanego elementu.forbidden (403)
websiteLinkNotAllowed
Metoda channels.update
zwraca ten błąd, jeśli właściwośćinvideoPromotion.items[].id.websiteUrl
określa niedozwolony adres URL.required (400)
requiredTimingType
Metoda channels.update
zwraca ten błąd, jeśli żądanie nie określa domyślnych ustawień czasu wyświetlania promowanego produktu w YouTube.required (400)
requiredTiming
Metoda channels.update
musi określać 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 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 zawierająca interfejsy API, które podlegają zasadom wycofywania, wyklucza niektóre funkcje interfejsu API w wersji 3, które podlegają zasadom.
5 grudnia 2013 r.
Ta aktualizacja zawiera następujące zmiany:
-
Zaktualizowaliśmy dokumentację metody
search.list
, by odzwierciedlić potrzebę określania wartości dokładnie jednego parametru filtra podczas przesyłania żądania wyszukiwania. Zamiast tego możesz ustawić wartość dla 1 parametru filtra lub dla 1 parametru filtra. -
Zaktualizowaliśmy definicje parametrów metody
search.list
, aby zaznaczyć, że jeśli określasz wartość dowolnego z tych parametrów, musisz ustawić wartość parametrutype
navideo
:eventType
videoCaption
videoCategoryId
videoDefinition
videoDimension
videoDuration
videoEmbeddable
videoLicense
videoSyndicated
videoType
-
Minimalny rozmiar przesyłanych obrazów banera kanału został zmniejszony do 2048 na 1152 pikseli. (Wcześniej minimalny rozmiar wynosił 2120 na 1192 piksele). Poza tym dokumentacja zasobów
channel
określa maksymalne rozmiary wszystkich obrazów banerów wyświetlanych przez interfejs API. Na przykład maksymalny rozmiar obrazubrandingSettings.image.bannerTvImageUrl
w przypadku aplikacji na telewizory to 2120 x 1192 piksele, ale rzeczywisty obraz może mieć 2048 x 1152 piksele. Centrum pomocy YouTube zawiera dodatkowe wskazówki dotyczące optymalizacji grafiki kanału pod kątem wyświetlania na różnych typach urządzeń. -
Zaktualizowaliśmy kilka definicji właściwości zasobów
channel
, aby uwzględniały te informacje:- Wartość właściwości
brandingSettings.channel.description
może mieć maksymalnie 1000 znaków. - Właściwość
brandingSettings.channel.featuredChannelsTitle
może mieć maksymalnie 30 znaków. - W usłudze
brandingSettings.channel.featuredChannelsUrls[]
można teraz wyświetlać listę maksymalnie 100 kanałów. - Jeśli jest ustawiona, wartość właściwości
brandingSettings.channel.unsubscribedTrailer
musi określać identyfikator filmu publicznego lub niepublicznego należącego do właściciela kanału.
- 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 widoczna podczas wyświetlania promocji. Można go ustawić tylko wtedy, gdy żądanie do interfejsu API ustawiające wartość właściwości jest wysyłane w imieniu właściciela treści za pomocą parametruonBehalfOfContentOwner
. -
Metody
playlistItems.list
iplaylistItems.insert
obsługują teraz parametronBehalfOfContentOwner
, który jest już obsługiwany w przypadku kilku innych metod. -
Właściwość
contentDetails.contentRating.acbRating
może teraz określać ocenę filmów przedstawianą przez Australijską Radę ds. Klasyfikacji (Australian Classification Board, ACB) w przypadku programów telewizyjnych dla dzieci lub od Australian Communications and Media Authority (ACMA). -
Nowe właściwości
contentDetails.contentRating.catvRating
icontentDetails.contentRating.catvfrRating
określają oceny, które film otrzymał w ramach kanadyjskiego systemu klasyfikacji programów telewizyjnych i francuskojęzycznego systemu ocen Régie du cinéma, stosowanego odpowiednio w prowincji Quebec. -
Nowa właściwość
snippet.assignable
zasobuvideoCategory
wskazuje, czy z daną kategorią filmów można powiązać zaktualizowane lub nowo przesłane filmy. -
Dodaliśmy przykłady kodu dla tych metod:
activities.insert
(OK)channelBanners.insert
(Python)channels.update
(Python)playlistItems.list
(OK)search.list
(OK)thumbnails.set
(Java)videos.insert
(OK)
24 października 2013 r.
Ta aktualizacja zawiera następujące zmiany:
-
Interfejs API obejmuje 2 dodatkowe funkcje, które mają pomagać w znajdowaniu i promowaniu transmisji na żywo:
Nowa właściwość
snippet.liveBroadcastContent
w wynikach wyszukiwania wskazuje, czy zasób filmu lub kanału zawiera treści na żywo. Prawidłowe wartości właściwości toupcoming
,active
inone
.-
Nowa właściwość
snippet.liveBroadcastContent
zasobuvideo
wskazuje, czy film jest nadchodzącą czy aktywną transmisją na żywo. Poniższa lista zawiera możliwe wartości tej usługi:upcoming
– to transmisja na żywo, która jeszcze się nie rozpoczęła.active
– film jest transmitowaną na żywo.none
– film nie jest nadchodzącej ani trwającej transmisji na żywo. Będzie to wartość właściwości w przypadku zakończonych transmisji, które są nadal widoczne w YouTube.
-
Nowa właściwość
liveStreamingDetails
zasobuvideo
to obiekt zawierający metadane transmisji wideo na żywo. Aby pobrać te metadane, dodajliveStreamingDetails
do listy części zasobów wartości parametrupart
. Metadane zawierają te nowe właściwości:liveStreamingDetails.actualStartTime
– godzina rozpoczęcia transmisji. Ta wartość będzie widoczna, gdy stan transmisji toactive
.liveStreamingDetails.actualEndTime
– godzina zakończenia transmisji. Będzie ona widoczna po zakończeniu transmisji.liveStreamingDetails.scheduledStartTime
– zaplanowana godzina rozpoczęcia transmisji.liveStreamingDetails.scheduledEndTime
– zaplanowana godzina zakończenia transmisji. Jeśli wartość właściwości jest pusta lub jej nie ma, transmisja będzie trwać bezterminowo.liveStreamingDetails.concurrentViewers
– liczba osób oglądających transmisję na żywo.
Aby pobrać te metadane, dodaj
liveStreamingDetails
do wartości parametrupart
podczas wywoływania metodyvideos.list
,videos.insert
lubvideos.update
.
1 października 2013 r. udostępniliśmy dwie inne funkcje służące do identyfikowania transmisji na żywo – parametr
eventType
metodysearch.list
i właściwośćsnippet.liveBroadcastContent
wyniku wyszukiwania. -
-
Metoda
videos.insert
obsługuje teraz parametrnotifySubscribers
, który określa, czy YouTube ma wysłać powiadomienie o nowym filmie do użytkowników, którzy subskrybują kanał tego filmu. Domyślna wartość tego parametru toTrue
. Oznacza ona, że subskrybenci będą powiadamiani o nowo przesłanych filmach. Właściciel kanału, który przesyła wiele filmów, może jednak ustawić wartośćFalse
, aby uniknąć wysyłania powiadomień o każdym nowym filmie do subskrybentów kanału. -
Lista właściwości, które można zmodyfikować podczas wywoływania metody
channels.update
, została zaktualizowana, tak aby zawierała właściwościinvideoPromotion.items[].customMessage
iinvideoPromotion.items[].websiteUrl
. Dodatkowo lista została zmodyfikowana, aby zidentyfikować właściwościbrandingSettings
, które można modyfikować. Te właściwościbrandingSettings
można było już modyfikować, więc zmiana w dokumentacji nie odzwierciedla zmian w istniejących funkcjach interfejsu API. -
Metody
playlists.insert
,playlists.update
iplaylists.delete
obsługują teraz parametronBehalfOfContentOwner
, który jest już obsługiwany w przypadku kilku innych metod. -
Metoda
playlists.insert
obsługuje teraz parametronBehalfOfContentOwnerChannel
, który jest już obsługiwany w przypadku kilku innych metod. -
Właściwość
contentDetails.contentRating.tvpgRating
zasobuvideo
obsługuje teraz wartośćpg14
, która odpowiada ocenieTV-14
. -
Definicja właściwości
snippet.liveBroadcastContent
, która jest częścią wyników wyszukiwania, została poprawiona, aby odzwierciedlić, ż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) – dzieciom powinno towarzyszyć osoba dorosła.mibacVm6
(V.M.6) – tylko od 6 lat.mibacVm12
(V.M.12) – tylko dla osób, które ukończyły 12 lat.
-
Nowa właściwość
invideoPromotion.items[].promotedByContentOwner
zasobuchannel
wskazuje, czy nazwa właściciela treści będzie widoczna podczas wyświetlania promocji. To pole można ustawić tylko wtedy, gdy żądanie do interfejsu API ustawiające wartość jest wysyłane w imieniu właściciela treści. Więcej informacji znajdziesz w parametrzeonBehalfOfContentOwner
.
1 października 2013 r.
Ta aktualizacja zawiera następujące zmiany:
-
Nowy obiekt
auditDetails
zasobuchannel
zawiera dane o kanale, które sieć wielokanałowa oceni podczas podejmowania decyzji o zaakceptowaniu lub odrzuceniu danego kanału. Pamiętaj, że każde żądanie interfejsu API, które pobiera tę część zasobu, musi zawierać token autoryzacji zawierający zakreshttps://www.googleapis.com/auth/youtubepartner-channel-audit
. Poza tym każdy token korzystający z tego zakresu musi zostać unieważniony, gdy sieć wielokanałowa zdecyduje się zaakceptować lub odrzucić kanał lub w ciągu 2 tygodni od daty jego wydania. -
Właściwość
invideoPromotion.items[].id.type
zasobuchannel
obsługuje teraz wartośćrecentUpload
, co oznacza, że promowany element jest najnowszym filmem z określonego kanału.Domyślnie jest to kanał, dla którego skonfigurowano dane dotyczące promocji In-Video. Możesz jednak promować ostatnio przesłany film z innego kanału, ustawiając wartość nowej właściwości
invideoPromotion.items[].id.recentlyUploadedBy
na identyfikator tego kanału. -
Zasób
channel
zawiera 3 nowe właściwości –brandingSettings.image.bannerTvLowImageUrl
,brandingSettings.image.bannerTvMediumImageUrl
,brandingSettings.image.bannerTvHighImageUrl
– określające adresy URL obrazów banerów wyświetlanych na stronach kanałów w aplikacjach telewizyjnych. -
Nowa właściwość
snippet.liveBroadcastContent
w wynikach wyszukiwania wskazuje, czy zasób filmu lub kanału zawiera treści na żywo. Prawidłowe wartości właściwości toupcoming
,active
inone
.- W przypadku zasobu
video
wartośćupcoming
oznacza, że materiał jest transmisją na żywo, która jeszcze się nie rozpoczęła, a wartośćactive
– że jest to transmisja na żywo. - W przypadku zasobu
channel
wartośćupcoming
oznacza, że na kanale jest zaplanowana transmisja, która jeszcze się nie rozpoczęła, a wartośćacive
oznacza, że na kanale trwa już transmisja na żywo.
- W przypadku zasobu
-
W zasobie
watermark
właściwośćtargetChannelId
zmieniła się z obiektu w ciąg znaków. Zamiast właściwości podrzędnej określającej identyfikator kanału w YouTube, do którego prowadzi obraz znaku wodnego, właściwośćtargetChannelId
określa teraz samą wartość. W związku z tym usunięto właściwośćtargetChannelId.value
zasobu. -
Metoda
thumbnails.set
obsługuje teraz parametronBehalfOfContentOwner
, który jest już obsługiwany w przypadku kilku innych metod. -
Metoda
search.list
obsługuje teraz parametreventType
, który ogranicza wyszukiwanie do zwracania tylko aktywnych, nadchodzących lub zakończonych zdarzeń. -
Nowa właściwość
contentDetails.contentRating.mibacRating
określa ocenę, jaką film otrzymał od włoskiego Ministerstwa Beni e delle Attivita i del Turismo. -
Interfejs API obsługuje teraz następujące błędy:
Typ błędu Szczegóły błędu Opis badRequest
invalidImage
Metoda thumbnails.set
zwraca ten błąd, jeśli przesłana zawartość obrazu jest nieprawidłowa.forbidden
videoRatingDisabled
Metoda videos.rate
zwraca ten błąd, jeśli właściciel ocenianego filmu wyłączył możliwość oceniania tego filmu.
27 sierpnia 2013 r.
Ta aktualizacja zawiera następujące zmiany:
-
Nowy zasób
watermark
identyfikuje obraz, który wyświetla się podczas odtwarzania filmów z określonego kanału. Możesz też określić kanał docelowy, do którego będzie odsyłany obraz, a także określić czas wyświetlania znaku wodnego podczas odtwarzania filmów oraz czas jego widoczności.Metoda
watermarks.set
przesyła i ustawia obraz znaku wodnego kanału. Metodawatermarks.unset
usuwa obraz znaku wodnego kanału.W dokumentacji o błędach opisano komunikaty o błędach obsługiwane przez interfejs API w szczególności w przypadku metod
watermarks.set
iwatermarks.unset
. -
Nowa właściwość
statistics.hiddenSubscriberCount
zasobuchannel
zawiera wartość logiczną wskazującą, czy liczba subskrybentów kanału jest ukryta. Jeśli liczba subskrybentów kanału jest widoczna publicznie, wartość właściwości wynosifalse
. -
Metoda
playlists.list
obsługuje teraz parametryonBehalfOfContentOwner
ionBehalfOfContentOwnerChannel
. Oba parametry są już obsługiwane w przypadku kilku innych metod. -
Metoda
videos.list
obsługuje teraz parametrregionCode
identyfikujący region treści, dla którego należy pobrać wykres. Tego parametru można używać tylko w połączeniu z parametremchart
. Wartością tego parametru jest kod kraju zgodny ze standardem ISO 3166-1 alfa-2. -
error documentation
opisuje nowy typowy błąd żądania, który może wystąpić w przypadku różnych metod interfejsu API:Typ błędu Szczegóły błędu Opis forbidden
insufficientPermissions
Zakresy powiązane z tokenem OAuth 2.0 podanym dla żądania nie wystarczają do uzyskania dostępu do żądanych danych.
15 sierpnia 2013 r.
Ta aktualizacja zawiera następujące zmiany:
-
Obiekt
invideoPromotion
zasobuchannel
ma te nowe i zaktualizowane właściwości:-
Interfejs API umożliwia teraz określenie witryny jako promowanego produktu. Aby to zrobić, ustaw wartość właściwości
invideoPromotion.items[].id.type
nawebsite
i użyj nowej właściwościinvideoPromotion.items[].id.websiteUrl
do określenia adresu URL. Możesz też użyć nowej właściwościinvideoPromotion.items[].customMessage
, aby zdefiniować komunikat niestandardowy, który ma być wyświetlany w związku z promocją.Linki mogą prowadzić do powiązanych stron, stron sprzedawców lub sieci społecznościowych. Więcej informacji o włączaniu linków do swoich treści znajdziesz w Centrum pomocy YouTube dotyczące powiązanych witryn i witryn sprzedawców.
Dodając linki promocyjne, zgadzasz się, aby nie były one używane do przekierowywania ruchu do nieautoryzowanych witryn oraz że będą one zgodne z zasadami AdWords i zasadami dotyczącymi reklam w YouTube, wytycznymi dla społeczności YouTube oraz Warunkami korzystania z usługi YouTube.
-
Zmieniliśmy właściwości związane z ustawieniami czasu wyświetlania promowanych produktów podczas odtwarzania filmu:
-
Obiekt
invideoPromotion.timing
został przeniesiony doinvideoPromotion.items[].timing
. Ten obiekt umożliwia teraz dostosowanie danych o czasie dla każdego promowanego produktu na liścieinvideoPromotion.items[]
. -
Nowy obiekt
invideoPromotion.defaultTiming
określa domyślne ustawienia czasu trwania promocji. Te ustawienia określają, kiedy wyświetlany jest promowany produkt podczas odtwarzania jednego z filmów z Twojego kanału. Domyślny czas trwania dla dowolnego promowanego produktu możesz zastąpić za pomocą obiektuinvideoPromotion.items[].timing
. -
Nowa właściwość
invideoPromotion.items[].timing.durationMs
określa czas (w milisekundach), przez jaki ma się wyświetlać promocja. ObiektinvideoPromotion.defaultTiming
zawiera też poledurationMs
, które określa 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
. -
Dodaliśmy 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)
Zwróć uwagę, że przykład w Pythonie dla metody
playlistItems.insert
również został usunięty, ponieważ zademonstrowana przez niego funkcja jest teraz obsługiwana przez metodęvideos.rate
. -
error documentation
opisuje następujący nowy błąd kontekstu żądania, który może wystąpić w przypadku każdej metody interfejsu API, która obsługuje parametr żądaniamine
:Typ błędu Szczegóły błędu Opis badRequest
invalidMine
Parametru mine
nie można używać w żądaniach, w których uwierzytelniony użytkownik jest partnerem YouTube. Musisz usunąć parametrmine
, uwierzytelnić się jako użytkownik YouTube, usuwając parametronBehalfOfContentOwner
, lub działać jako jeden z kanałów partnera, podając parametronBehalfOfContentOwnerChannel
, jeśli jest on dostępny w przypadku wywoływanej metody.
8 sierpnia 2013 r.
Ta aktualizacja zawiera następujące zmiany:
-
Sekcja Wykorzystanie limitu w przewodniku Pierwsze kroki z interfejsem YouTube Data API została zaktualizowana, aby odzwierciedlić zmianę limitu miejsca na przesłanie filmów z około 16 000 do około 1600.
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 pasuje do zawartości kanału. Wartość właściwości to znak funta (#
), po którym następuje sześcioznakowy ciąg szesnastkowy, np.#2793e6
. -
Umożliwia on teraz określenie, czy subskrypcja dotyczy wszystkich działań na kanale czy tylko nowo przesłanych filmów. Nowa właściwość
contentDetails.activityType
zasobusubscription
określa typy działań, o których subskrybent będzie powiadamiany. Prawidłowe wartości właściwości toall
iuploads
. -
Metoda
videos.list
obsługuje nowe parametry służące do pobierania wykresu najpopularniejszych filmów w YouTube:- Parametr
chart
identyfikuje wykres, który chcesz pobrać. Obecnie jedyną obsługiwaną wartością jestmostPopular
. Pamiętaj, że parametruchart
jest parametrem filtra, co oznacza, że nie można go używać w tym samym żądaniu co inne parametry filtra (id
imyRating
). - Parametr
videoCategoryId
określa kategorię wideo, dla której należy pobrać wykres. Tego parametru można używać tylko w połączeniu z parametremchart
. Domyślnie wykresy nie są ograniczone do konkretnej 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ą pojawiać się w filmie lub pojawiać się w nim. -
Nazwa właściwości
recordingDetails.location.elevation
zasobuvideo
została zmieniona narecordingDetails.location.altitude
, a nazwa jej właściwościfileDetails.recordingLocation.location.elevation
nafileDetails.recordingLocation.location.altitude
. -
Obiekt
contentDetails.contentRating
zasobuvideo
określa oceny, które film otrzymał w ramach różnych schematów ocen, w tym klasyfikacji MPAA, TVPG itd. Dla każdego systemu ocen interfejs API obsługuje teraz wartość oceny wskazującą, że film nie został oceniony. Pamiętaj, że w przypadku ocen MPAA podana jest ocena „bez oceny”. ocena jest często używana do identyfikowania nieskróconych wersji filmów, w przypadku których wersja wycięta filmu otrzymała oficjalną ocenę. -
Nowa właściwość
contentDetails.contentRating.ytRating
zasobuvideo
identyfikuje treści z ograniczeniami wiekowymi. Wartość właściwości toytAgeRestricted
, jeśli YouTube rozpozna film jako zawierający treści nieodpowiednie dla użytkowników poniżej 18 roku życia. Jeśli brakuje właściwości lub wartość właściwości jest pusta, oznacza to, że treści nie zostały zidentyfikowane jako objęte ograniczeniem wiekowym. -
Parametr
mySubscribers
metodychannels.list
został wycofany. Użyj metodysubscriptions.list
z parametremmySubscribers
, aby pobrać listę subskrybentów kanału uwierzytelnionego użytkownika. -
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 tej metody można 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
. -
error documentation
opisuje te nowe błędy:Typ błędu Szczegóły błędu Opis forbidden
accountDelegationForbidden
Ten błąd nie dotyczy konkretnej metody interfejsu API. Wskazuje on, że uwierzytelniony użytkownik nie jest upoważniony do działania w imieniu określonego konta Google. forbidden
authenticatedUserAccountClosed
Ten błąd nie dotyczy konkretnej metody interfejsu API. Oznacza to, że konto YouTube uwierzytelnionego użytkownika zostało zamknięte. Jeśli użytkownik działa w imieniu innego konta Google, ten błąd oznacza, że to konto zostało zamknięte. forbidden
authenticatedUserAccountSuspended
Ten błąd nie dotyczy konkretnej metody interfejsu API. Oznacza to, że konto YouTube uwierzytelnionego użytkownika zostało zawieszone. Jeśli użytkownik działa w imieniu innego konta Google, ten błąd oznacza, że to konto zostało zawieszone. forbidden
authenticatedUserNotChannel
Ten błąd nie dotyczy konkretnej metody interfejsu API. Wskazuje on, że serwer interfejsu API nie może zidentyfikować kanału powiązanego z żądaniem do interfejsu API. Jeśli żądanie jest autoryzowane i korzysta z parametru onBehalfOfContentOwner
, ustaw też parametronBehalfOfContentOwnerChannel
.forbidden
cmsUserAccountNotFound
Ten błąd nie dotyczy konkretnej metody interfejsu API. Użytkownik CMS nie może działać w imieniu podanego właściciela treści. notFound
contentOwnerAccountNotFound
Ten błąd nie dotyczy konkretnej metody interfejsu API. Nie znaleziono podanego konta właściciela treści. badRequest
invalidPart
Ten błąd nie dotyczy konkretnej metody interfejsu API. Parametr part
żądania określa części, których nie można zapisać jednocześnie.badRequest
videoChartNotFound
Metoda videos.list
zwraca ten błąd, gdy żądanie wskazuje nieobsługiwany lub niedostępny wykres wideo.notFound
videoNotFound
Metoda videos.update
zwraca ten błąd, co oznacza, że nie można znaleźć filmu, który próbujesz zaktualizować. Sprawdź, czy wartość właściwościid
w treści żądania 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 YouTube. -
Metoda
activities.list
obsługuje teraz parametrregionCode
, który instruuje interfejs API tak, aby zwracał wyniki istotne dla określonego kraju. YouTube korzysta z tej wartości, gdy poprzednia aktywność autoryzowanego użytkownika w YouTube nie zapewnia wystarczającej ilości informacji do wygenerowania strumienia aktywności. -
Zasoby playlisty zawierają teraz właściwość
snippet.tags
. Usługa będzie zwracana tylko autoryzowanym użytkownikom, którzy pobierają dane o swoich playlistach. Autoryzowani użytkownicy mogą też ustawiać tagi playlisty przy wywoływaniu metodplaylists.insert
lubplaylists.update
. -
Parametr
onBehalfOfContentOwner
, który wcześniej był obsługiwany w przypadku metodchannels.list
isearch.list
, jest teraz obsługiwany w metodachvideos.insert
,videos.update
ivideos.delete
. Pamiętaj, że gdy ten parametr jest używany w wywołaniu metodyvideos.insert
, w żądaniu musi być też określona wartość nowego parametruonBehalfOfContentOwnerChannel
identyfikującego kanał, do którego film zostanie dodany. Kanał musi być połączony z właścicielem treści określonym w parametrzeonBehalfOfContentOwner
.Ten parametr wskazuje, że dane uwierzytelniające żądania wskazują użytkownika YouTube CMS działającego w imieniu właściciela treści określonego w wartości parametru. Konto CMS, za pomocą którego użytkownik się uwierzytelnia, musi być połączone z określonym właścicielem treści YouTube.
Ten parametr jest przeznaczony dla dostawców treści, którzy mają wiele różnych kanałów YouTube i nimi zarządzają. Umożliwia on partnerom uwierzytelnianie jednorazowe i uzyskiwanie dostępu do wszystkich danych o filmach i kanałach bez konieczności podawania danych uwierzytelniających dla każdego kanału.
W kontekście tej wersji parametr umożliwia teraz partnerowi w zakresie treści wstawianie, aktualizowanie i usuwanie filmów na dowolnym z należących do niego kanałów w YouTube.
-
error documentation
opisuje te nowe błędy:Typ błędu Szczegóły błędu Opis forbidden
insufficientCapabilities
Ten błąd nie dotyczy konkretnej metody interfejsu API. Wskazuje on, że użytkownik CMS wywołujący interfejs API nie ma wystarczających uprawnień do wykonania żądanej operacji. Ten błąd jest związany z użyciem parametru onBehalfOfContentOwner
, który jest obsługiwany w przypadku kilku metod interfejsu API.unauthorized
authorizationRequired
Metoda activities.list
zwraca ten błąd, gdy żądanie używa parametruhome
, ale nie jest prawidłowo autoryzowane. -
W zasobie
channels
właściwośćinvideoPromotion.channelId
została usunięta, ponieważ identyfikator kanału został już określony za pomocą właściwościid
zasobu. -
W nowym przewodniku Praca z identyfikatorami kanałów wyjaśniamy, jak interfejs API używa identyfikatorów kanałów. Przewodnik może być szczególnie przydatny dla deweloperów, którzy przechodzą z poprzedniej wersji interfejsu API i używają aplikacji, które wysyłają żądania treści do użytkownika
default
lub opierają się na założeniu, że każdy kanał YouTube ma unikalną nazwę użytkownika, co już nie jest prawdą.
22 maja 2013 r.
Ta aktualizacja zawiera następujące zmiany:
-
Nowa metoda
channelBanners.insert
umożliwia przesłanie obrazu banera, który można później ustawić jako obraz banera kanału za pomocą nowej właściwościbrandingSettings.image.bannerExternalUrl
zasobuchannel
. -
Dokumentacja metody
channels.update
została zaktualizowana, aby wyświetlić listę właściwości, które można zmienić podczas jej wywoływania. -
Dokumentacja zasobów
video
nie zawiera już wartościunspecified
jako prawidłowej wartości właściwościsuggestions.processingErrors[]
,suggestions.processingHints[]
,suggestions.processingWarnings[]
isuggestions.editorSuggestions[]
. -
Parametr
maxResults
metodyvideos.list
ma teraz wartość domyślną5
. -
error documentation
zawiera teraz listę błędów metodchannelBanners.insert
isubscriptions.list
. Zawiera też kilka nowych błędów metodychannels.update
.
14 maja 2013 r.
Ta aktualizacja zawiera następujące zmiany:
-
Na niezależnych stronach znajduje się teraz lista przykładów kodu dla systemów Java, .NET, PHP i Ruby.
-
Strona z przykładowym kodem w języku Python zawiera teraz przykłady dodawania subskrypcji, tworzenia playlisty i aktualizowania filmów.
10 maja 2013 r.
Ta aktualizacja zawiera następujące zmiany:
-
YouTube nie identyfikuje już eksperymentalnych funkcji ani usług interfejsu API. Zamiast tego przygotowaliśmy listę interfejsów API YouTube, które podlegają zasadom wycofywania.
8 maja 2013 r.
Ta aktualizacja zawiera następujące zmiany:
-
Zasoby kanału obsługują teraz obiekt
inVideoPromotion
, który zawiera informacje o kampanii promocyjnej powiązanej z kanałem. Kanał może korzystać z kampanii promocyjnej w filmach, aby wyświetlać w odtwarzaczu miniaturki promowanego filmu podczas odtwarzania jego filmów.Aby pobrać te dane, uwzględnij
invideoPromotion
w wartości parametrupart
w żądaniuchannels.list
. -
Za pomocą nowej metody
channels.update
można aktualizować dane dotyczące kampanii promocyjnych In-Video na kanale. Pamiętaj, że ta metoda obsługuje tylko aktualizacje częściinvideoPromotion
zasobuchannel
i nie obsługuje jeszcze aktualizacji innych części tego zasobu.
2 maja 2013 r.
Ta aktualizacja zawiera następujące zmiany:
-
Zasoby kanału obsługują teraz właściwość
status.isLinked
, która wskazuje, czy dane kanału identyfikują użytkownika powiązanego już z nazwą użytkownika YouTube lub kontem Google+. Użytkownik, który ma jeden z tych linków, ma już publiczną tożsamość YouTube, co jest wymagane do wykonania kilku czynności, takich jak przesyłanie filmów. -
Zasoby subskrypcji obsługują teraz część
subscriberSnippet
. Ten obiekt zawiera fragment danych kanału subskrybenta. -
Interfejs API obsługuje teraz metodę
videos.getRating
, która pobiera oceny nadane przez uwierzytelnionego użytkownika liście filmów lub ich większej liczby. -
Nowy parametr
myRating
metodyvideos.list
umożliwia pobranie listy filmów, które uwierzytelnił użytkownik z ocenąlike
lubdislike
.Parametr
myRating
iid
są teraz uznawane za parametry filtra. Oznacza to, że żądanie do interfejsu API musi określać dokładnie 1 z tych parametrów. Wcześniej w przypadku tej metody wymagany był parametrid
.Ta metoda zwraca błąd
forbidden
w przypadku żądań, które próbują pobrać informacje o ocenach filmu, ale nie mają odpowiednich uprawnień. -
Wraz z wprowadzeniem parametru
myRating
zaktualizowaliśmy też metodęvideos.list
, aby obsługiwała podział na strony. Pamiętaj jednak, że parametry stronicowania są obsługiwane tylko w przypadku żądań korzystających z parametrumyRating
. (Parametry i informacje dotyczące tempa nie są obsługiwane w przypadku żądań korzystających z parametruid
).-
Parametr
maxResults
określa maksymalną liczbę filmów, jaką interfejs API może zwrócić w zestawie wyników, a parametrpageToken
określa w zestawie wyników konkretną stronę, którą chcesz pobrać. -
Zasób
youtube#videoListResponse
, który jest zwracany w odpowiedzi na żądanievideos.list
, zawiera teraz obiektpageInfo
, który zawiera takie informacje jak łączna liczba wyników czy liczba wyników w bieżącym zbiorze wyników. Zasóbyoutube#videoListResponse
może też zawierać właściwościnextPageToken
iprevPageToken
, z których każda zawiera token, który można wykorzystać do pobrania konkretnej strony z zestawu wyników.
-
-
Metoda
videos.insert
obsługuje te nowe parametry:autoLevels
– ustaw tę wartość natrue
, aby serwis YouTube automatycznie poprawił oświetlenie i kolory w filmie.stabilize
– ustaw tę wartość natrue
, aby YouTube korygował obraz przez usunięcie drżenia kamery spowodowanej ruchem kamery.
-
Właściwość
channelTitle
została dodana dosnippet
tych zasobów:playlistItem
– właściwość określa nazwę kanału, na który został dodany element playlisty.playlist
– ta właściwość określa nazwę kanału, na którym została utworzona playlista.subscription
– właściwość określa nazwę kanału, który subskrybujesz.
-
Dodaliśmy przykłady kodu dla tych metod:
activities.insert
(Ruby)playlistItems.list
(.NET)search.list
(.NET)subscriptions.insert
(Java, rubin)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 metodziechannels.list
. Ten parametr zostanie wycofany. -
W zasobie
video
wartość właściwościunspecified
nie jest już możliwą wartością dla żadnej z tych właściwości: -
Żądania do interfejsu API, które zawierają nieoczekiwany parametr, zwracają teraz błąd
badRequest
, a jego raportowana przyczyna tounexpectedParameter
. -
Zwracany jest błąd metody
playlistItems.insert
, gdy playlista zawiera już maksymalną dozwoloną liczbę elementów, a została zaktualizowana. Błąd jest teraz zgłaszany jako błądforbidden
, a jego przyczyna toplaylistContainsMaximumNumberOfVideos
.
19 kwietnia 2013 r.
Ta aktualizacja zawiera następujące zmiany:
-
Nowa metoda
videos.rate
pozwala użytkownikowi ustawić ocenęlike
lubdislike
dla filmu lub usunąć ocenę z niego.Zaktualizowaliśmy też dokumentację błędów, by wymienić błędy, które interfejs API może zwrócić w odpowiedzi na wywołanie metody
videos.rate
. -
Miniatury są teraz oznaczone w dokumentacji interfejsu API jako oddzielne zasoby, a nowa metoda
thumbnails.set
umożliwia przesłanie do YouTube niestandardowej miniatury filmu i ustawienie jej dla filmu.Zaktualizowaliśmy też dokumentację błędów, by wymienić błędy, które interfejs API może zwrócić w odpowiedzi na wywołanie metody
thumbnails.set
.Ta zmiana nie ma tak naprawdę wpływu na istniejące zasoby, które zwracają miniatury obrazów. Miniatury są zwracane w tych zasobach w taki sam sposób jak wcześniej, jednak w dokumentacji znajdują się teraz nazwy różnych rozmiarów miniatur, które mogą być zwracane przez interfejs API.
-
Nowa część
brandingSettings
zasobuchannel
zawiera opis ustawień, tekstu oraz obrazów, które będą wyświetlane na stronie kanału i stronach odtwarzania filmów. -
Zasób
playlistItem
zawiera te nowe właściwości:-
Nowy obiekt
status
zawiera informacje o stanie elementu playlisty, a właściwośćstatus.privacyStatus
określa jego stan prywatności.
-
-
Zasób
video
zawiera te nowe właściwości:-
Właściwość
status.publicStatsViewable
wskazuje, czy rozszerzone statystyki filmu na stronie odtwarzania są publicznie widoczne. Domyślnie te statystyki są widoczne, a statystyki takie jak liczba wyświetleń i oceny filmu nadal są widoczne publicznie, nawet jeśli wartość tej właściwości jest ustawiona nafalse
. Wartość tej właściwości możesz ustawić podczas wywoływania metodyvideos.insert
lubvideos.update
. -
Obiekt
contentDetails.contentRating
zawiera oceny, które film otrzymał w ramach różnych schematów ocen. Na liście poniżej znajdziesz obsługiwane systemy ocen i link do właściwości powiązanej z każdym z nich. Definicje właściwości określają obsługiwane wartości ocen w każdym systemie.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 oceny filmów domowych (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 Klasyfikacja BBFC (Brytyjska Rady ds. Filmów) contentDetails.contentRating.bbfcRating
Indie Certyfikat Central Board of Film Certification (CBFC) contentDetails.contentRating.cbfcRating
Japonia 映倫管理委です (EIRIN) contentDetails.contentRating.eirinRating
Korea 영에물원플레콤비 (KMRB) contentDetails.contentRating.kmrbRating
Meksyk Ogólna Dyrekcja Radia, Telewizji i Filmów (RTC) contentDetails.contentRating.rtcRating
Nowa Zelandia Biuro Klasyfikacji Filmu i Literatury contentDetails.contentRating.oflcRating
Rosja Narodowy Rejestr Filmowy Federacji Rosyjskiej contentDetails.contentRating.russiaRating
Hiszpania Instituto de la Cinematografía y de las Artes Audiovisuales (ICAA) contentDetails.contentRating.icaaRating
-
-
Dokumentacja metody
playlistItems.update
została zaktualizowana, aby odzwierciedlić fakt, że właściwośćsnippet.resourceId
musi być określona w zasobie wysyłanym jako treść żądania. -
Metoda
search.list
obsługuje teraz te funkcje:-
Nowy parametr
forMine
umożliwia wyszukiwanie tylko w przypadku filmów uwierzytelnionego użytkownika. -
Parametr
order
umożliwia teraz sortowanie wyników alfabetycznie według tytułu (order=title
) lub według liczby filmów w kolejności malejącej (order=videoCount
). -
Nowy parametr
safeSearch
wskazuje, czy wyniki wyszukiwania powinny zawierać treści podlegające ograniczeniom.
-
-
Metoda
videos.insert
obsługuje kilka nowych błędów wymienionych w tabeli poniżej:Typ błędu Szczegóły błędu Opis badRequest
invalidCategoryId
Właściwość snippet.categoryId
określa nieprawidłowy identyfikator kategorii. Użyj metodyvideoCategories.list
, aby pobrać obsługiwane kategorie.badRequest
invalidRecordingDetails
metadata specifies invalid recording details.
badRequest
invalidVideoGameRating
Metadane żądania określają nieprawidłową ocenę gry wideo. badRequest
invalidVideoMetadata
Metadane żądania są nieprawidłowe. -
Parametr
onBehalfOfContentOwner
został usunięty z listy parametrów obsługiwanych w metodachvideos.update
ivideos.delete
.
12 marca 2013 r.
Ta aktualizacja zawiera następujące zmiany:
-
Właściwość
channelTitle
została dodana dosnippet
tych zasobów: -
Metoda
search.list
obsługuje te nowe parametry:-
Parametr
channelType
pozwala ograniczyć wyszukiwanie kanałów, aby pobrać wszystkie kanały lub tylko programy. -
Parametr
videoType
pozwala ograniczyć wyszukiwanie filmów w celu pobrania wszystkich filmów lub tylko filmów albo tylko odcinków programów.
-
-
Zaktualizowaliśmy definicję części
recordingDetails
zasobuvideo
, aby zaznaczyć, że obiekt jest zwracany w przypadku filmu tylko wtedy, gdy ustawiono dla niego dane geolokalizacji lub czas nagrywania. -
Metoda
playlistItems.update
zwraca teraz błądinvalidSnippet
, który jest zwracany, jeśli żądanie do interfejsu API nie zawiera prawidłowego fragmentu. -
Kilka metod interfejsu API obsługuje nowe parametry przeznaczone wyłącznie dla partnerów dostarczających treści YouTube. Dostawcy treści YouTube to między innymi studia filmowe i telewizyjne, wytwórnie płytowe i inni twórcy treści, którzy udostępniają swoje materiały w YouTube.
-
Parametr
onBehalfOfContentOwner
wskazuje, że dane uwierzytelniające żądania wskazują użytkownika YouTube CMS, który działa w imieniu właściciela treści określonego w wartości parametru. Konto CMS, za pomocą którego użytkownik się uwierzytelnia, musi być połączone z określonym właścicielem treści YouTube.Ten parametr jest przeznaczony dla dostawców treści, którzy mają wiele różnych kanałów YouTube i nimi zarządzają. Umożliwia on partnerom uwierzytelnianie jednorazowe i uzyskiwanie dostępu do wszystkich danych o filmach i kanałach bez konieczności podawania danych uwierzytelniających dla każdego kanału.
Metody
channels.list
,search.list
,videos.delete
,videos.list
ivideos.update
obsługują ten parametr. -
Parametr
managedByMe
, który jest obsługiwany przez metodęchannels.list
, instruuje interfejs API tak, aby zwracał wszystkie kanały należące do właściciela treści określone w parametrzeonBehalfOfContentOwner
. -
Parametr
forContentOwner
, który jest obsługiwany przez metodęsearch.list
, informuje interfejs API, aby ograniczyć wyniki wyszukiwania tak, aby zawierały tylko zasoby należące do właściciela treści określonego w parametrzeonBehalfOfContentOwner
.
-
25 lutego 2013 r.
Ta aktualizacja zawiera następujące zmiany:
-
Interfejs API obsługuje kilka nowych części i właściwości zasobów
video
:-
Nowe fragmenty
fileDetails
,processingDetails
isuggestions
zawierają informacje dla właścicieli filmów o przesłanych przez nich filmach. Dane te są bardzo przydatne w aplikacjach, które umożliwiają przesyłanie filmów. Obejmują one:- stan i postęp przetwarzania
- błędy lub inne problemy napotkane podczas przetwarzania filmu;
- dostępność miniatur
- sugestie dotyczące poprawy jakości filmu lub metadanych.
- szczegółowe informacje o oryginalnym pliku przesłanym do YouTube
Wszystkie te elementy może pobrać tylko właściciel filmu. Na liście poniżej znajdziesz krótki opis nowych części, a dokumentacja zasobów
video
zawiera definicje wszystkich właściwości zawartych w poszczególnych częściach.-
Obiekt
fileDetails
zawiera informacje o pliku wideo przesłanym do YouTube, w tym rozdzielczość pliku, czas trwania, kodeki audio i wideo, szybkość transmisji bitów i inne informacje. -
Obiekt
processingProgress
zawiera informacje o postępach przetwarzania przesłanego pliku wideo przez YouTube. Właściwości obiektu określają bieżący stan przetwarzania i szacują czas pozostały do zakończenia przetwarzania filmu przez YouTube. Ta część informuje też, czy dla filmu są dostępne różne typy danych lub treści, takie jak szczegóły pliku czy miniatury.Ten obiekt jest przeznaczony do ankietowania, dzięki czemu użytkownik, który przesłał film, może śledzić postęp przetwarzania przesłanego pliku wideo przez YouTube.
-
Obiekt
suggestions
zawiera sugestie, które wskazują możliwości poprawy jakości filmu lub metadanych przesłanego filmu.
-
Część
contentDetails
zawiera 4 nowe właściwości. Właściwości te można pobierać przy użyciu nieuwierzytelnionych żądań.dimension
– wskazuje, czy film jest dostępny w 2D czy 3D.definition
– wskazuje, czy film jest dostępny w rozdzielczości standardowej czy wysokiej.caption
– wskazuje, czy do filmu są dostępne napisy.licensedContent
– wskazuje, czy film zawiera treści, które zostały objęte roszczeniem przez partnera w zakresie treści YouTube.
-
Część
status
zawiera 2 nowe właściwości. Właściciele filmów mogą ustawiać wartości dla obu właściwości podczas wstawiania lub aktualizowania filmu. Właściwości te można też pobierać przy użyciu nieuwierzytelnionych żądań.embeddable
– wskazuje, czy film można umieścić w innej witrynie.license
– określa licencję filmu. Prawidłowe wartości tocreativeCommon
iyoutube
.
-
-
Zaktualizowaliśmy definicję parametru
part
w metodachvideos.list
,videos.insert
ivideos.update
, aby wyświetlać listę nowo dodanych elementów opisanych powyżej, a także częścirecordingDetails
, która została przez przypadek pominięta. -
Nowa właściwość
contentDetails.googlePlusUserId
zasobuchannel
określa identyfikator profilu Google+ powiązany z kanałem. Tej wartości można użyć do wygenerowania linku do profilu Google+. -
Każdy obiekt obrazu miniatury określa teraz szerokość i wysokość obrazu. Miniatury są obecnie zwracane w zasobach
activity
,channel
,playlist
,playlistItem
,search result
,subscription
ivideo
. -
playlistItems.list
obsługuje teraz parametrvideoId
, którego można używać w połączeniu z parametremplaylistId
, by pobierać tylko ten element playlisty, który reprezentuje określony film.Interfejs API zwraca błąd
notFound
, jeśli filmu wskazanego przez parametr nie można znaleźć na playliście. -
Dokumentacja błędów opisuje nowy błąd
forbidden
, który wskazuje, że żądanie nie jest prawidłowo autoryzowane dla żądanego działania. -
Usunięto właściwość
snippet.channelId
zasobuchannel
. Właściwośćid
zasobu zawiera tę samą wartość.
30 stycznia 2013 r.
Ta aktualizacja zawiera następujące zmiany:
-
Nowa strona błędów zawiera listę błędów, które interfejs API może zwrócić. Strona zawiera ogólne błędy, które mogą wystąpić w przypadku wielu różnych metod interfejsu API, a także błędy specyficzne dla metod.
16 stycznia 2013 r.
Ta aktualizacja zawiera następujące zmiany:
-
Przykładowe fragmenty kodu są teraz dostępne dla metod i języków wymienionych na liście poniżej:
activities.insert
– JavaplaylistItems.insert
– PythonplaylistItems.list
– Java, JavaScript, PHP, Python, Rubyplaylists.insert
– Java, JavaScript, Pythonsearch.list
– Java, JavaScript, Python, Rubyvideos.insert
– Java
-
Zasób
activity
może teraz zgłaszać działaniechannelItem
, które ma miejsce, gdy YouTube doda film do automatycznie wygenerowanego kanału YouTube. (YouTube algorytmicznie identyfikuje tematy, które są najpopularniejsze w YouTube, i automatycznie generuje kanały dla tych tematów). -
Zaktualizowano te parametry (
search.list
):- Parametr
q
nie jest już oznaczony jako filtr, co oznacza, że .... - Nazwa parametru
relatedToVideo
została zmieniona narelatedToVideoId
. - Parametr
published
został zastąpiony 2 nowymi parametrami:publishedAfter
ipublishedBefore
, które opisaliśmy poniżej.
- Parametr
-
Metoda
search.list
obsługuje te nowe parametry:Nazwa parametru Wartość Opis channelId
string
Zwróć zasoby utworzone przez podany kanał. publishedAfter
datetime
Zwróć zasoby utworzone po określonym czasie. publishedBefore
datetime
Zwróć zasoby utworzone przed podanym czasem. regionCode
string
Zwraca zasoby dla określonego kraju. videoCategoryId
string
Przefiltruj wyniki wyszukiwania filmów, aby uwzględniały tylko filmy powiązane z określoną kategorią. videoEmbeddable
string
Filtruj wyniki wyszukiwania filmów, aby uwzględniały tylko te filmy, które można odtwarzać w odtwarzaczu umieszczonym na stronie internetowej. Ustaw wartość parametru na true
, aby pobierać tylko filmy do umieszczenia.videoSyndicated
string
Przefiltruj wyniki wyszukiwania filmów, aby uwzględniały tylko te treści, które można odtwarzać poza YouTube.com. Aby pobierać tylko rozpowszechniane filmy, ustaw wartość tego parametru na true
. -
Niektóre zasoby interfejsu API obsługują nowe właściwości. W tabeli poniżej znajdziesz zasoby i ich nowe właściwości:
Zasób Nazwa usługi Wartość Opis activity
contentDetails.playlistItem.playlistItemId
string
Przypisany przez YouTube identyfikator elementu playlisty activity
contentDetails.channelItem
object
Obiekt zawierający informacje o zasobie, który został dodany do kanału. Ta właściwość występuje tylko wtedy, gdy snippet.type
ma wartośćchannelItem
.activity
contentDetails.channelItem.resourceId
object
Obiekt identyfikujący zasób, który został dodany do kanału. Podobnie jak inne właściwości resourceId
, zawiera właściwośćkind
, która określa typ zasobu, np. film lub playlistę. Zawiera też dokładnie jedną z kilku właściwości –videoId
,playlistId
itd. – która określa identyfikator jednoznacznie identyfikujący zasób.channel
status
object
Ten obiekt zawiera informacje o stanie prywatności kanału. channel
status.privacyStatus
string
Status prywatności kanału. Prawidłowe wartości to private
ipublic
.playlist
contentDetails
object
Ten obiekt zawiera metadane dotyczące treści playlisty. playlist
contentDetails.itemCount
unsigned integer
Liczba filmów na playliście. playlist
player
object
Ten obiekt zawiera informacje potrzebne do odtworzenia playlisty w odtwarzaczu umieszczonym na stronie internetowej. playlist
player.embedHtml
string
Tag <iframe>
umieszczający odtwarzacz wideo, który odtwarza playlistę.video
recordingDetails
object
Ten obiekt zawiera informacje, które identyfikują lub opisują miejsce i czas nagrania filmu. video
recordingDetails.location
object
Ten obiekt zawiera informacje geolokalizacyjne powiązane z filmem. video
recordingDetails.location.latitude
double
Szerokość geograficzna w stopniach. video
recordingDetails.location.longitude
double
Długość geograficzna w stopniach. video
recordingDetails.location.elevation
double
Wysokość nad Ziemią w metrach. video
recordingDetails.locationDescription
string
Opis tekstowy miejsca, w którym film został nagrany. video
recordingDetails.recordingDate
datetime
Data i godzina nagrania filmu. Wartość jest podana w formacie ISO 8601 ( YYYY-MM-DDThh:mm:ss.sZ
). -
Dokumentacja kilku metod interfejsu API identyfikuje teraz właściwości, które muszą być określone w treści żądania lub aktualizowane na podstawie wartości zawartych w treści żądania. Poniższa tabela zawiera te metody oraz właściwości wymagane lub możliwe do modyfikacji.
Uwaga: w dokumentacji innych metod mogą się już znajdować właściwości wymagane oraz możliwe do modyfikacji.
Metoda Właściwości activities.insert
Wymagane właściwości: snippet.description
snippet.description
contentDetails.bulletin.resourceId
playlists.update
Wymagane właściwości: id
playlistItems.update
Wymagane właściwości: id
videos.update
Wymagane właściwości: id
-
Interfejs API nie zgłasza już błędu
playlistAlreadyExists
, gdy próbujesz utworzyć lub zaktualizować playlistę, która miałaby taki sam tytuł jak playlista, która już istnieje na tym samym kanale. -
Niektóre metody interfejsu API obsługują nowe typy błędów. W tabeli poniżej znajdziesz informacje o metodzie i nowo obsługiwanych błędach:
Metoda Typ błędu Szczegóły błędu Opis guideCategories.list
notFound
notFound
Nie udało się znaleźć kategorii przewodnika określonej przez parametr id
. Użyj metody guideCategories.list, aby pobrać listę prawidłowych wartości.playlistItems.delete
forbidden
playlistItemsNotAccessible
Żądanie nie jest prawidłowo autoryzowane do usunięcia określonego elementu playlisty. videoCategories.list
notFound
videoCategoryNotFound
Nie można znaleźć kategorii filmu określonej przez parametr id
. Użyj metody videoCategories.list, aby pobrać listę prawidłowych wartości.