Na tej stronie znajdziesz informacje o zmianach w YouTube Data API (v3) i aktualizacjach dokumentacji. Zasubskrybuj ten dziennik zmian.
30 kwietnia 2024 r.
Uwaga: to jest powiadomienie o wycofaniu tych funkcji.
Ta aktualizacja zawiera następujące zmiany:
Interfejs API nie obsługuje już wstawiania ani pobierania dyskusji na kanale. Zmiana ta jest zgodna z funkcjami dostępnymi w YouTube, które nie umożliwiają publikowania komentarzy na kanałach.
13 marca 2024 r.
Uwaga: to jest powiadomienie o wycofaniu tych funkcji.
Ta aktualizacja zawiera następujące zmiany:
Parametr sync
metod captions.insert
i captions.update
został wycofany. Od 12 kwietnia 2024 r. YouTube przestanie obsługiwać ten parametr.
Z tego powodu podczas wstawiania lub aktualizowania ścieżek napisów deweloperzy muszą podać informacje o czasie. W przeciwnym razie przesyłanie się nie powiedzie.
12 marca 2024 r.
Ta aktualizacja zawiera następujące zmiany:
Dokumentacja zasobu captions
została zaktualizowana, aby uwzględnić, że maksymalna dozwolona długość pola snippet.name
to 150 znaków. Jeśli nazwa ścieżki jest dłuższa, interfejs API zwraca błąd nameTooLong
.
7 marca 2024 r.
Uwaga: to jest powiadomienie o wycofaniu tych funkcji.
Właściwość zasobu channel
brandingSettings.channel.moderateComments
została wycofana. 7 marca 2024 r. YouTube przestanie obsługiwać ten parametr.
31 stycznia 2024 r.
Ta aktualizacja zawiera następujące zmiany:
Nowy parametr forHandle
metody channels.list
umożliwia pobieranie informacji o kanale przez określenie jego nicka w YouTube.
9 listopada 2023 r.
Wszystkie odniesienia do zasobu videoId
w domenie 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 powiadomienie o wycofaniu tych funkcji.
Metoda comments.markAsSpam
jest wycofywana od kilku lat. Ta metoda nie jest już obsługiwana w YouTube i nie jest obsługiwana przez interfejs API.
Do wszystkich dokumentów odnoszących się do metody comments.markAsSpam
zostało dodane powiadomienie o wycofaniu.
22 sierpnia 2023 r.
Metoda search.list
obsługuje teraz parametr videoPaidProductPlacement
. Umożliwia on filtrowanie wyników wyszukiwania, by uwzględniać tylko te filmy, które twórca oznaczył jako płatną promocję.
18 sierpnia 2023 r.
Zaktualizowaliśmy definicję atrybutu liveStreamingDetails.concurrentViewers
zasobu video
, aby uwzględnić, że liczba równoczesnych widzów zwracanych przez interfejs YouTube Data API może różnić się od liczby przetworzonych, pozbawionych spamu liczby równoczesnych widzów dostępnej w Statystykach YouTube. Więcej informacji o danych transmisji na żywo znajdziesz w Centrum pomocy YouTube.
7 sierpnia 2023 r.
zgodnie z zapowiedzią z 12 czerwca 2023 r. parametr relatedToVideoId
metody search.list
został wycofany. Ten parametr nie jest już obsługiwany, a odniesienia do niego zostały usunięte z dokumentacji interfejsu API.
28 czerwca 2023 r.
Metoda thumbnails.set obsługuje teraz błąd uploadRateLimitExceeded
, który oznacza, że w ciągu ostatnich 24 godzin kanał przesłano zbyt wiele miniatur. Spróbuj ponownie później.
12 czerwca 2023 r.
Uwaga: to jest powiadomienie o wycofaniu tych funkcji.
Parametr relatedToVideoId
metody search.list został wycofany. 7 sierpnia 2023 r. YouTube przestanie obsługiwać ten parametr.
W dokumentacji metody search.list
pojawiło się teraz powiadomienie o wycofaniu. Ten parametr zostanie całkowicie usunięty z dokumentacji search.list
7 sierpnia 2023 r. lub później.
Poza tym z przewodnika po implementacji interfejsu API usunęliśmy przykład pokazujący, jak pobierać podobne filmy.
22 sierpnia 2022 r.
Poprawiono adnotacje typu w polach video.statistics na ciąg znaków z niepodpisanym ciągiem znaków.
5 sierpnia 2022 r.
Zmieniliśmy sposób generowania identyfikatorów napisów. W ramach tej zmiany do wszystkich ścieżek z napisami przypisujemy nowe identyfikatory. Ta zmiana może być niekompatybilną wstecznie w przypadku aplikacji, które przechowują wartości caption_id
, ale nie będzie to miało wpływu na aplikacje, które nie przechowują wartości caption_id
.
Od teraz do 1 grudnia 2022 r. metody captions.list
, captions.update
, captions.download
i captions.delete
będą obsługiwać zarówno stare, jak i nowe identyfikatory ścieżek napisów. Jednak 1 grudnia 2022 r. lub później YouTube przestanie obsługiwać stare identyfikatory ścieżek napisów. W tym momencie wywołanie dowolnej z tych metod interfejsu API ze starym identyfikatorem ścieżki napisów będzie powodować błąd captionNotFound
.
Aby przygotować się na tę zmianę, do 1 grudnia 2022 roku musisz całkowicie zastąpić wszystkie zapisane dane ścieżek napisów. Oznacza to, że w przypadku każdego filmu, w którym przechowujesz dane ścieżek napisów, musisz usunąć obecnie zapisane dane, a następnie wywołać metodę captions.list
, aby pobrać bieżący zestaw ścieżek napisów do filmu i zapisać dane w odpowiedzi interfejsu API w zwykły sposób.
12 lipca 2022 r.
Warunki korzystania z usług YouTube API zostały zaktualizowane. Aby uzyskać więcej informacji, zapoznaj się z Warunkami korzystania z usług YouTube API – historia zmian.
27 kwietnia 2022 r.
Zaktualizowaliśmy opis metody videos.insert
, by uwzględnić, że maksymalny rozmiar przesyłanych filmów zwiększył się z 128 GB do 256 GB.
8 kwietnia 2022 r.
Definicje parametrów myRecentSubscribers
i mySubscribers
metody subscriptions.list
zostały zaktualizowane, aby uwzględnić, że maksymalna liczba subskrybentów zwracanych przez interfejs API może być ograniczona.
Ta zmiana jest poprawką w dokumentacji, a nie zmianą działania interfejsu API.
15 grudnia 2021 r.
Zgodnie z zapowiedzią z 18 listopada 2021 r. w związku ze zmianami, które sprawią, że liczba ocen „Nie podoba mi się” będzie prywatna na całej platformie YouTube, właściwość statistics.dislikeCount
zasobu video
jest teraz prywatna.
Więcej informacji na temat tej zmiany znajdziesz na oficjalnym blogu YouTube.
18 listopada 2021 r.
Wraz ze zmianami, które powodują, że liczba ocen negatywnych filmów jest prywatna na całej platformie YouTube, od 13 grudnia 2021 r. wartość statistics.dislikeCount
zasobu video
zostanie ustawiona jako prywatna. Oznacza to, że właściwość zostanie uwzględniona w odpowiedzi interfejsu API z punktu końcowego videos.list
tylko wtedy, gdy żądanie do interfejsu API zostało uwierzytelnione przez właściciela filmu.
Ta zmiana nie ma wpływu na punkt końcowy videos.rate
.
Deweloperzy, którzy nie wyświetlają publicznie liczby ocen negatywnych, a mimo to potrzebują tej liczby, by ich klient korzystający z interfejsu API używał jej, mogą poprosić o umieszczenie ich na liście dozwolonych i zezwolić na wyjątek. Aby ubiegać się o zwolnienie, musisz wypełnić ten formularz zgłoszeniowy.
Więcej informacji na temat tej zmiany znajdziesz na oficjalnym blogu YouTube.
2 lipca 2021 r.
Uwaga: to jest powiadomienie o wycofaniu tych funkcji.
Punkt końcowy commentThreads.update
został wycofany i nie jest już obsługiwany.
Ten punkt końcowy zawiera zduplikowane funkcje dostępne w innych punktach końcowych interfejsu API. Zamiast tego możesz wywołać funkcję comments.update
commentThreads
, wykonaj dodatkowe wywołanie metody commentThreads.list
.
1 lipca 2021 r.
Aby otrzymać więcej niż wynosi domyślny limit 10 000 jednostek,wszyscy deweloperzy korzystający z usług API YouTube muszą przejść kontrolę zgodności interfejsów API. Do tej pory zarówno proces kontroli zgodności, jak i prośby o zwiększenie przydziału jednostek limitów były prowadzone przez deweloperów wypełniających i przesyłających formularz dotyczący audytu i zwiększania limitów w ramach usług interfejsu API YouTube.
Aby sprecyzować te procesy i lepiej zaspokoić potrzeby deweloperów korzystających z naszych usług interfejsu API, dodaliśmy 3 nowe formularze i poradnik na temat ich wypełniania:
- Formularz próśb deweloperów o sprawdzenie: 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 którym odmówiono zwiększenia limitu liczby jednostek), mogą wypełnić i przesłać ten formularz.
- Zmiana formularza kontroli: deweloperzy lub dowolne podmioty obsługujące klienta interfejsu API w imieniu dewelopera doświadczają zmiany kontroli (np. w wyniku zakupu lub sprzedaży akcji, fuzji przedsiębiorstw bądź innego rodzaju transakcji firmowej) związanej z projektem API muszą wypełnić i przesłać ten formularz. Dzięki temu zespół YouTube ds. interfejsów API może aktualizować nasze dane, kontrolować zgodność z przypadkami użycia nowego projektu API i weryfikować obecny przydział dewelopera.
Każdy nowy formularz będzie zawierał informację o tym, jak zamierzasz używać interfejsu API YouTube, i ułatwi nam udzielanie lepszej pomocy.
Więcej informacji znajdziesz w naszym nowym przewodniku po audytach zgodności interfejsów API.
12 maja 2021 r.
Uwaga: to jest powiadomienie o wycofaniu tych funkcji.
Ta aktualizacja obejmuje następujące zmiany w interfejsie API:
-
Właściwość
contentDetails.relatedPlaylists.favorites
zasobuchannel
została wycofana. Funkcja ulubionych filmów jest już wycofywana od kilku lat, jak wskazaliśmy w artykule historii zmian 28 kwietnia 2016 r.Przed tą aktualizacją interfejs API nadal tworzył nową playlistę, jeśli klient API próbował dodać film do nieistniejącej playlisty Ulubione. Od tej pory w tym przypadku nie będzie można utworzyć playlisty, a interfejs API zwróci błąd. Próby modyfikacji playlist ulubionych przez dodanie, zmodyfikowanie lub usunięcie elementów również są wycofywane zgodnie z wcześniejszymi ogłoszeniami i mogą w każdej chwili zacząć zwracać błędy.
-
Poniższe właściwości zasobów
channel
zostały wycofane. Te właściwości nie są już obsługiwane w interfejsie YouTube Studio ani w YouTube. Dlatego też nie są już obsługiwane przez interfejs API.brandingSettings.channel.defaultTab
brandingSettings.channel.featuredChannelsTitle
brandingSettings.channel.featuredChannelsUrls[]
brandingSettings.channel.profileColor
brandingSettings.channel.showBrowseView
brandingSettings.channel.showRelatedChannels
Wszystkie właściwości zostały usunięte z reprezentacji zasobu
channel
, a ich definicje zostały usunięte z listy właściwości zasobu. Z dokumentacji konkretnej metody usunęliśmy też błędy związane z tymi właściwościami. -
Poniższe właściwości zasobów
channelSection
zostały wycofane. Te właściwości nie są już obsługiwane w interfejsie YouTube Studio ani w YouTube. Dlatego też nie są już obsługiwane przez interfejs API.snippet.style
snippet.defaultLanguage
snippet.localized.title
localizations
localizations.(key)
localizations.(key).title
targeting
targeting.languages[]
targeting.regions[]
targeting.countries[]
W związku z tą zmianą wycofaliśmy też parametr
hl
metodychannelSection.list
, ponieważ obsługiwane przez nią funkcje nie są obsługiwane.Wszystkie właściwości zostały usunięte z reprezentacji zasobu
channelSection
, a ich definicje zostały usunięte z listy właściwości zasobu. Z dokumentacji konkretnej metody usunęliśmy też błędy związane z tymi właściwościami. -
W przypadku właściwości
snippet.type
zasobuchannelSection
podane wartości zostały wycofane. Te wartości nie są już obsługiwane na stronach kanałów w YouTube i w rezultacie nie są obsługiwane przez interfejs API.likedPlaylists
likes
postedPlaylists
postedVideos
recentActivity
recentPosts
-
Właściwość
snippet.tags[]
zasobuplaylist
została wycofana. Ta właściwość nie jest już obsługiwana w YouTube, dlatego nie jest obsługiwana przez interfejs API.
9 lutego 2021 r.
Zasób playlistItem
obsługuje 2 nowe właściwości:
- Właściwość
snippet.videoOwnerChannelId
określa identyfikator kanału, który przesłał film z playlisty. - Właściwość
snippet.videoOwnerChannelTitle
identyfikuje nazwę kanału, który przesłał film z playlisty.
28 stycznia 2021 r.
Ta aktualizacja zawiera następujące zmiany:
-
Metody
playlistItems.delete
,playlistItems.insert
,playlistItems.list
,playlistItems.update
,playlists.delete
,playlists.list
iplaylists.update
obsługują nowy błądplaylistOperationUnsupported
. Ten błąd występuje, gdy żądanie próbuje wykonać operację, która nie jest dozwolona w przypadku konkretnej playlisty. Użytkownik nie może na przykład usunąć filmu z playlisty z przesłanymi filmami ani samej playlisty.We wszystkich przypadkach ten błąd zwraca kod odpowiedzi HTTP
400
(Bad Request). -
Błędy
watchHistoryNotAccessible
iwatchLaterNotAccessible
metodyplaylistItems.list
zostały usunięte z dokumentacji. Choć historia oglądania użytkowników i listy Do obejrzenia są w rzeczywistości niedostępne przez interfejs API, interfejs API nie zwraca tych błędów.
15 października 2020 r.
Do zasad dla deweloperów dodaliśmy 2 nowe sekcje:
- Nowa sekcja III.E.4.i zawiera dodatkowe informacje na temat danych zbieranych i przesyłanych za pomocą umieszczonego odtwarzacza YouTube. Ponosisz odpowiedzialność za wszelkie dane użytkownika, które przesyłasz za pomocą dowolnego odtwarzacza YouTube umieszczonego na stronie, zanim użytkownik wejdzie w interakcję z nim, aby określić zamiar odtwarzania. Jeśli chcesz ograniczyć dane udostępniane YouTube, zanim użytkownik wejdzie w interakcję z odtwarzaczem, ustaw autoodtwarzanie na Fałsz.
- Nowa sekcja III.E.4.j dotyczy sprawdzania stanu treści przeznaczonych dla dzieci przed umieszczeniem ich w swoich witrynach i aplikacjach. Ponosisz odpowiedzialność za fakt, że filmy umieszczone przez Ciebie w kliencie API są przeznaczone dla dzieci, oraz za odpowiednie traktowanie danych zbieranych z umieszczonego odtwarzacza. W związku z tym musisz sprawdzić stan treści, korzystając z interfejsu YouTube Data API, zanim umieścisz je w kliencie API za pomocą odtwarzacza umieszczonego w YouTube.
Nowy przewodnik Sprawdzanie stanu filmu na podstawie statusu MadeForKids wyjaśnia, jak sprawdzić stan filmu jako przeznaczony dla dzieci za pomocą usługi YouTube Data API.
W związku z tymi zmianami w dokumentacji dotyczącej osadzonych parametrów dodaliśmy przypomnienie, że po włączeniu autoodtwarzania odtwarzanie będzie odbywać się bez interakcji użytkownika z odtwarzaczem. Dane o odtwarzaniu będą zbierane i udostępniane już po wczytaniu strony.
8 października 2020 r.
Ta aktualizacja obejmuje 3 niewielkie zmiany związane z zasobem channel
:
- Obiekt
snippet.thumbnails
, który identyfikuje obrazy miniatur kanału, może być pusty w przypadku nowo utworzonych kanałów. Wypełnienie może potrwać 1 dzień. - Właściwość
statistics.videoCount
pokazuje tylko liczbę publicznych filmów na kanale (nawet dla właścicieli). Wynika to z liczb wyświetlanych w witrynie YouTube. - Słowa kluczowe w kanale wskazane we właściwości
brandingSettings.channel.keywords
mogą zostać obcięte, jeśli przekraczają maksymalną dozwoloną długość 500 znaków lub zawierają cudzysłów bez zmiany znaczenia ("
). Pamiętaj, że limit 500 znaków to nie limit na słowo kluczowe, ale o łączną długość wszystkich słów kluczowych. Jest to podobne do tego na stronie YouTube.
9 września 2020 r.
Uwaga: to jest powiadomienie o wycofaniu tych funkcji.
Ta aktualizacja obejmuje podane niżej zmiany w interfejsie API. Wszystkie zmiany wejdą w życie nie wcześniej niż 9 września 2020 roku (dzień ogłoszenia). W związku z tym deweloperzy nie powinni już korzystać z wymienionych poniżej funkcji interfejsu API.
-
Następujące zasoby, metody, parametry i właściwości zasobów interfejsu API zostały natychmiast wycofane i przestaną działać nie wcześniej niż w dniu tego ogłoszenia:
- Te właściwości zasobu
channel
:- Właściwość
statistics.commentCount
- Obiekt
brandingSettings.image
i wszystkie jego właściwości podrzędne - Lista
brandingSettings.hints
i wszystkie jej usługi podrzędne
- Właściwość
- Parametr filtra
categoryId
metodychannels.list
- Zasób
guideCategories
i metodaguideCategories.list
- Te właściwości zasobu
-
Odpowiedzi interfejsu API dla metody
channels.list
nie zawierają już właściwościprevPageToken
, jeśli żądanie do interfejsu API ustawia wartość parametrumanagedByMe
natrue
. Ta zmiana nie ma wpływu na właściwośćprevPageToken
w przypadku innych żądańchannels.list
ani na właściwośćnextPageToken
w przypadku jakichkolwiek żądań. -
11 sierpnia 2016 r. właściwości
contentDetails.relatedPlaylists.watchLater
icontentDetails.relatedPlaylists.watchHistory
zasobuchannel
zostały ogłoszone jako wycofane. MetodyplaylistItems.insert
iplaylistItems.delete
także zostały w pełni wycofane, a obie właściwości zostały usunięte z dokumentacji. -
Parametr
mySubscribers
metodychannels.list
, który 30 lipca 2013 r. ogłosiliśmy jako wycofany, został usunięty z dokumentacji. Użyj metodysubscriptions.list
i jej parametrumySubscribers
, aby pobrać listę subskrybentów kanału uwierzytelnionego użytkownika. -
Obiekt
invideoPromotion
zasobuchannel
i wszystkie jego właściwości podrzędne, które 27 listopada 2017 r. ogłosiliśmy jako wycofane, 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 koszty związane z parametrem part
. Od razu będziemy naliczać tylko koszt podstawowy wywołanej metody. Więcej informacji o uproszczonym limicie znajdziesz tutaj.
Efektem tej zmiany jest to, że większość wywołań interfejsu API będzie miała nieco niższy limit, podczas gdy niektóre wywołania interfejsu API będą nadal generowały ten sam koszt. Ta zmiana nie zwiększy kosztów żadnych wywołań interfejsu API. Ogólnie prawdopodobnym wpływem jest to, że przydzielony limit, który można zobaczyć w konsoli Google Cloud, schodzi nieco dalej.
Zdecydowanie zalecamy wszystkim deweloperom przeprowadzenie kontroli zgodności w swoich projektach, aby zapewnić nieprzerwany dostęp do usług interfejsu YouTube API.
Ten wpis historii zmian został pierwotnie opublikowany 20 lipca 2020 r.
28 lipca 2020 r.
Wszystkie filmy z niezweryfikowanych projektów API utworzonych po 28 lipca 2020 r. przesłane przez punkt końcowy videos.insert
będą ograniczone do trybu wyświetlania prywatnego. Aby usunąć to ograniczenie, każdy projekt musi przejść kontrolę w celu zweryfikowania zgodności z Warunkami korzystania z usługi.
Twórcy, którzy do przesyłania filmów używają niezweryfikowanego klienta API, otrzymają e-maila z wyjaśnieniem, że film został zablokowany jako prywatny i mogą uniknąć tego ograniczenia, korzystając z oficjalnego lub sprawdzonego klienta.
Obecnie ta zmiana nie ma wpływu na projekty API utworzone przed 28 lipca 2020 r. Zdecydowanie zalecamy jednak wszystkim deweloperom przejście audytu zgodności w swoich projektach, aby zapewnić nieprzerwany dostęp do usług interfejsu YouTube API.
21 lipca 2020 r.
[Zaktualizowano 28 lipca 2020 r.] Aktualizacja dokumentacji, do której odwołuje się ten wpis historii zmian, została ponownie opublikowana 28 lipca 2020 r.
Wczoraj opublikowaliśmy aktualizację dokumentacji dotyczącą procesu naliczania limitu. Jednak ze względu na nieprzewidziane okoliczności zmiana limitu nie została jeszcze wprowadzona. W związku z tym cofnęliśmy dokumentację, aby zapewnić ich dokładność. Aby uniknąć nieporozumień, wpis historii zmian wyjaśniający tę zmianę został usunięty i w najbliższej przyszłości opublikujemy go ponownie.
7 lipca 2020 r.
Uwaga: to jest powiadomienie o wycofaniu tych funkcji.
Parametry autoLevels
i stabilize
metody videos.insert
zostały wycofane, a obydwa parametry zostały usunięte z dokumentacji. Ich wartości są ignorowane i nie mają wpływu na sposób przetwarzania nowo przesyłanych filmów.
15 czerwca 2020 r.
Nowy przewodnik Zgodność z zasadami dla deweloperów w YouTube zawiera wskazówki i przykłady, które pomogą Ci zadbać o to, by Twoi klienci korzystający z interfejsu API przestrzegali określonych warunków oraz zasad dotyczących usług interfejsu API YouTube.
Te wskazówki pokazują, jak YouTube egzekwuje niektóre aspekty Warunków korzystania z interfejsu API, ale nie zastępuje żadnych istniejących dokumentów. Ten przewodnik zawiera odpowiedzi na niektóre z najczęstszych pytań, jakie deweloperzy zadają podczas kontroli zgodności z interfejsami API. Mamy nadzieję, że ułatwi to proces tworzenia funkcji, ponieważ pomoże Ci zrozumieć, jak interpretujemy i egzekwujemy nasze zasady.
4 czerwca 2020 r.
Uwaga: to jest aktualizacja dotycząca wcześniejszego wycofania.
Funkcja biuletynu kanału została całkowicie wycofana. Początkowo ogłoszono tę zmianę 17 kwietnia 2020 r. i teraz weszła w życie. W związku z tym metoda activities.insert
nie jest już obsługiwana i metoda activities.list
nie zwraca już biuletynów kanałów. Więcej informacji znajdziesz w Centrum pomocy YouTube.
17 kwietnia 2020 r.
Uwaga: to jest powiadomienie o wycofaniu tych funkcji.
Wycofujemy funkcję biuletynu o kanałach w YouTube. Z tego powodu metoda activities.insert
zostanie wycofana, a metoda activities.list
przestanie zwracać biuletyny kanałów. Zmiany te wejdą w życie w interfejsie API 18 maja 2020 roku lub później. Więcej informacji znajdziesz w Centrum pomocy YouTube.
31 marca 2020 r.
Ta aktualizacja zawiera następujące zmiany:
-
Nowe zasoby i metody
-
Nowy zasób
member
reprezentuje osobę wspierającą kanał w YouTube. Wspierający zapewnia cyklicznie wsparcie finansowe twórcy i otrzymuje wyjątkowe korzyści. Na przykład wspierający mogą rozmawiać na czacie, gdy twórca włączy tryb tylko dla wspierających.Ten zasób zastępuje zasób
sponsor
, który jest udokumentowany w ramach interfejsu YouTube Live Streaming API. Zasóbsponsor
został wycofany, a klienty interfejsu API powinny aktualizować wywołania metodysponsors.list
, aby używały zamiast niej metodymembers.list
. -
Nowy zasób
membershipsLevel
określa poziom cen zarządzany przez twórcę, który autoryzował żądanie do interfejsu API. MetodamembershipsLevels.list
pobiera listę wszystkich poziomów członkostwa twórcy.
-
Styczeń 10, 2020
Interfejs API umożliwia teraz identyfikowanie treści skierowanych do dzieci, które YouTube nazywa „przeznaczone dla dzieci”. Więcej informacji o treściach przeznaczonych dla dzieci znajdziesz w Centrum pomocy YouTube.
Zasoby channel
i video
obsługują 2 nowe usługi, które umożliwiają twórcom i widzom identyfikowanie treści przeznaczonych dla dzieci:
-
Właściwość
selfDeclaredMadeForKids
umożliwia twórcom treści określenie, czy kanał, czy film jest przeznaczony dla dzieci.
W przypadku kanałów tę właściwość można ustawić podczas wywoływania metodychannels.update
. W przypadku filmów tę właściwość można ustawić podczas wywoływania metodyvideos.insert
lubvideos.update
.
Pamiętaj, że ta właściwość jest uwzględniana w odpowiedziach interfejsu API tylko wtedy, gdy właściciel kanału autoryzował żądanie do interfejsu API.channel
video
-
Właściwość
madeForKids
umożliwia każdemu użytkownikowi sprawdzenie, czy kanał lub film jest oznaczony jako przeznaczony dla dzieci. Stan może być np. określany na podstawie wartości właściwościselfDeclaredMadeForKids
. Więcej informacji o określaniu odbiorców kanału, filmów i transmisji znajdziesz w Centrum pomocy YouTube.
Zaktualizowaliśmy również Warunki korzystania z usług YouTube API oraz zasady dla deweloperów. Aby uzyskać więcej informacji, zapoznaj się z Warunkami korzystania z usług YouTube API – historia zmian. Zmiany w Warunkach korzystania z usług YouTube API oraz zasadach dla deweloperów zaczną obowiązywać 10 stycznia 2020 r. czasu pacyficznego.
10 września 2019 r.
Dokumentacja API dotycząca interfejsów API została zaktualizowana, aby uwzględnić zmianę sposobu raportowania liczby subskrybentów w YouTube i tym samym w odpowiedziach interfejsu API. W wyniku tej zmiany liczba subskrybentów zwracana przez YouTube Data API jest zaokrąglana w dół do 3 znaczących wartości w przypadku osób, które mają ponad 1000 subskrybentów. Ta zmiana wpływa na właściwość statistics.subscriberCount zasobu channel
.
Uwaga: ta zmiana wpływa na tę wartość usługi nawet w przypadku, gdy użytkownik wysyła autoryzowane żądanie udostępnienia danych dotyczących jego kanału. Właściciele kanałów nadal mogą sprawdzić dokładną liczbę subskrybentów w YouTube Studio.
Jeśli np. kanał ma 123 456 subskrybentów, właściwość statistics.subscriberCount
będzie zawierać wartość 123000
.
W tabeli poniżej znajdziesz przykłady zaokrąglania liczby subskrybentów w odpowiedziach interfejsu API i ich skracania w innych publicznie widocznych interfejsach 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 wyjaśnić typowe przypadki użycia każdej metody i dostarczać dynamicznych próbek kodu wysokiej jakości za pomocą widżetu Eksploratora interfejsów API. Przykład znajdziesz w dokumentacji metody
channels.list
. Na stronach pojawiły się teraz 2 nowe elementy opisujące metody interfejsu API:-
Widżet Eksploratora interfejsów API pozwala wybierać zakresy autoryzacji, wpisywać 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 umożliwia też widok pełnoekranowy, w którym widać pełne przykłady kodu, które dynamicznie się aktualizują, tak aby korzystały z wpisanych przez Ciebie zakresów i wartości.
-
W sekcji Typowe przypadki użycia opisano co najmniej 1 typowy przypadek użycia metody opisanej na stronie. Możesz na przykład wywołać metodę
channels.list
, aby pobrać dane o konkretnym kanale lub o kanale bieżącego użytkownika.Korzystając z linków w tej sekcji, możesz wypełnić narzędzie APIs Explorer przykładowymi wartościami na potrzeby danego przypadku użycia lub otworzyć pełnoekranowe eksplorator interfejsów API z wypełnionymi już wartościami. Zmiany te mają ułatwić przeglądanie przykładów kodu, które mają bezpośrednie zastosowanie w swoim przypadku użycia, który próbujesz zaimplementować w swojej aplikacji.
Przykładowe fragmenty kodu są obecnie obsługiwane w językach Java, JavaScript, PHP, Python i curl.
-
-
Narzędzie przykładowego kodu zostało również zaktualizowane o nowy interfejs użytkownika, który udostępnia wszystkie funkcje opisane powyżej. Za jego pomocą możesz poznać przypadki użycia różnych metod, wczytać wartości w interfejsie APIs Explorer i otworzyć pełnoekranowy interfejs API Explorer, aby uzyskać przykłady kodu w językach Java, JavaScript, PHP i Python.
W związku z tą zmianą usunęliśmy strony, które wcześniej zawierały przykłady dostępnych przykładów kodu w językach Java, JavaScript, PHP i Python.
-
Zaktualizowaliśmy krótkie przewodniki dotyczące Java, JavaScript, PHP i Pythona. W poprawionych przewodnikach wyjaśniamy, jak uruchomić jeden przykład z kluczem interfejsu API i drugi z identyfikatorem klienta OAuth 2.0, korzystając z przykładowego kodu w Eksploratorze interfejsów API.
Pamiętaj, że zmiany opisane powyżej zastępują interaktywne narzędzie, które zostało dodane do dokumentacji API w 2017 roku.
9 lipca 2018 r.
Ta aktualizacja zawiera następujące zmiany:
-
Definicja właściwości
snippet.thumbnails
zasobuchannel
została zaktualizowana, aby zaznaczyć, że podczas wyświetlania miniatur w aplikacji kod powinien używać adresów URL obrazów dokładnie w takiej postaci, w jakiej są zwracane w odpowiedziach interfejsu API. Na przykład aplikacja nie powinna używać 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
, czyli tak będą wyglądać w odpowiedziach interfejsu API. Po upływie tego czasu możesz zobaczyć w aplikacji uszkodzone obrazy, jeśli będzie ona próbowała wczytać obrazy z YouTube z domenyhttp
. -
Uwaga: to jest powiadomienie o wycofaniu tych funkcji.
Właściwość
recordingDetails.location.altitude
zasobuvideo
została wycofana. Nie możemy zagwarantować, że filmy będą zwracać wartości dla tej właściwości. Podobnie, nawet jeśli żądania do interfejsu API próbują ustawić wartość dla tej właściwości, przychodzące dane nie będą przechowywane.
22 czerwca 2018 r.
Przewodnik po implementacji (nazywany wcześniej przewodnikiem po implementacji i migracji) został zaktualizowany, aby usunąć instrukcje migracji z interfejsu API w wersji 2 do wersji 3. Usunęliśmy też instrukcje związane z funkcjami, które zostały wycofane w interfejsie API w wersji 3, takimi jak ulubione filmy.
27 listopada 2017 r.
Ta aktualizacja zawiera następujące zmiany:
-
Uwaga: to jest powiadomienie o wycofaniu tych funkcji.
YouTube wycofuje obsługę funkcji Polecany film i Polecana strona internetowa, które są obsługiwane w interfejsie API za pomocą obiektu
invideoPromotion
zasobuchannel
. W związku z tym obiekt wraz ze wszystkimi jego właściwościami podrzędnymi jest wycofywany.Dane z usługi
invideoPromotion
możesz pobrać i ustawić do 14 grudnia 2017 r. Po tej dacie:- Próby pobrania części
invideoPromotion
przy wywołaniu metodychannels.list
spowodują zwrócenie pustego polainvideoPromotion
lub nie zwrócą żadnych danychinvideoPromotion
. - Próba zaktualizowania danych
invideoPromotion
podczas wywoływania metodychannels.update
zwróci prawidłową odpowiedź do co najmniej 27 maja 2018 roku, ale będzie uznawana za niedziałającą, co oznacza, że nie przeprowadzi aktualizacji.
Po 27 maja 2018 roku żądania te mogą zwracać komunikaty o błędach, które wskazują na przykład, że element
invalidPromotion
jest nieprawidłowy. - Próby pobrania części
16 listopada 2017 r.
Ta aktualizacja zawiera następujące zmiany:
-
Narzędzie do interaktywnego fragmentu kodu obsługuje teraz przykładowy kod w środowisku Node.js. Przykłady są też widoczne w dokumentacji prawie wszystkich metod interfejsu API, np.
channels.list
.Przykłady z możliwością dostosowania mają być punktem wyjścia dla aplikacji Node.js w konkretnym przypadku użycia. Ta funkcja jest podobna do kodu opisanego w krótkim przewodniku Node.js. W tych przykładach znajdują się jednak pewne funkcje, których nie ma w krótkim wprowadzeniu:
- Funkcja
removeEmptyParameters
pobiera listę par klucz-wartość odpowiadających parametrom żądania 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 API. Następnie przekształca właściwości w obiekt JSON, którego można używać w operacjachinsert
iupdate
. Poniższy przykład zawiera zbiór nazw i wartości właściwości oraz obiekt JSON, który dla nich utworzy 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 przykłady można pobierać i uruchamiać lokalnie. Więcej informacji znajdziesz w wymaganiach wstępnych dotyczących lokalnego uruchamiania pełnych przykładów kodu w instrukcjach narzędzia do fragmentów kodu.
- Funkcja
25 października 2017 r.
Ta aktualizacja zawiera następujące zmiany:
-
Przykładowe fragmenty kodu w języku Python w narzędziu do interaktywnego fragmentu kodu zostały zaktualizowane i używają bibliotek
google-auth
igoogle-auth-oauthlib
zamiast bibliotekioauth2client
, która została już wycofana.Oprócz tej zmiany narzędzie udostępnia teraz pełny przykład kodu dla zainstalowanych aplikacji w Pythonie i aplikacji serwera WWW w Pythonie, które korzystają z nieco innych przepływów autoryzacji. Aby zobaczyć pełne przykłady (i tę zmianę):
- Otwórz narzędzie do interaktywnego fragmentu kodu lub przejrzyj dokumentację dowolnej metody interfejsu API, np.
channels.list
. - Kliknij kartę
Python
nad przykładowym kodem. - Kliknij przełącznik nad kartami, aby przełączyć się z wyświetlania fragmentu do pełnego przykładu.
- Karta powinna teraz wyświetlać pełny przykładowy kod, który korzysta z procesu autoryzacji
InstalledAppFlow
. Opis powyżej tego przykładu wyjaśnia to, a także zawiera link do przykładowej aplikacji serwera WWW. - Kliknij go, aby przełączyć się na przykładowy serwer WWW. W tym przykładzie korzystamy z platformy aplikacji internetowej Flask i innego procesu autoryzacji.
Wszystkie przykłady można pobierać i uruchamiać lokalnie. Jeśli chcesz uruchomić ten przykładowy kod, zapoznaj się z instrukcjami lokalnego uruchamiania pełnego przykładowego kodu w instrukcjach narzędzia do fragmentów kodu.
- Otwórz narzędzie do interaktywnego fragmentu kodu lub przejrzyj dokumentację dowolnej metody interfejsu API, np.
29 sierpnia 2017 r.
Ta aktualizacja zawiera następujące zmiany:
- Zaktualizowaliśmy definicję parametru
forContentOwner
metodysearch.list
, aby pamiętać, że jeśli ten parametr ma wartośćtrue
, parametrtype
musi mieć wartośćvideo
. - Definicja parametru
regionCode
metodysearch.list
została zaktualizowana, aby doprecyzować, że ogranicza on wyniki wyszukiwania do filmów, które można wyświetlić w wybranym regionie. - Zaktualizowaliśmy logo i ikony marki. Nowe logo „Opracowane z YouTube” można pobrać ze strony ze wskazówkami dotyczącymi promowania marki. Na tej stronie wyświetlane są również inne nowe logo i ikony YouTube, które można pobrać z witryny YouTube marki.
24 lipca 2017 r.
Ta aktualizacja zawiera następujące zmiany:
- Dla użytkowników iOS dostępny jest nowy krótki przewodnik po interfejsie YouTube Data API. Ten przewodnik wyjaśnia, jak korzystać z interfejsu YouTube Data API w prostej aplikacji na iOS napisanej w języku Objective-C lub Swift.
- W narzędziu do interaktywnego fragmentu kodu interfejsu YouTube Data API znajdziesz teraz dokumentację objaśniającą niektóre jego funkcje:
- Wykonywanie żądań do interfejsu API
- Przełączanie się między fragmentami kodu 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 referencyjnej interfejsu API dotyczącej metod API (przykład).
1 czerwca 2017 r.
Ta aktualizacja zawiera następujące zmiany:
-
Uwaga: to jest powiadomienie o wycofaniu tych funkcji.
Poniższe właściwości zasobów
video
są wycofywane. Chociaż właściwości będą obsługiwane do 1 grudnia 2017 r., nie możemy zagwarantować, że do tego czasu filmy będą nadal zwracać wartości dla tych właściwości. Podobnie żądaniavideos.insert
ivideos.update
, które ustawiają te wartości właściwości, nie będą generować błędów przed tą datą, ale może się zdarzyć, że przychodzące dane nie będą przechowywane.
17 maja 2017 roku
Ta aktualizacja zawiera następujące zmiany:
-
Dokumentacja API została zaktualizowana, aby fragmenty kodu były dostępne i interaktywne. Strony wyjaśniające metody interfejsu API, takie jak
channels.list
czyvideos.rate
, zawierają teraz interaktywne narzędzie umożliwiające wyświetlanie i dostosowywanie fragmentów kodu w językach Java, JavaScript, PHP, Python, Ruby, Apps Script i Go.W przypadku każdej metody narzędzie pokazuje fragmenty kodu dla co najmniej jednego przypadku użycia, a każdy przypadek użycia opisuje powszechny sposób jej wywoływania. Możesz na przykład wywołać metodę
channels.list
, aby pobrać dane o konkretnym kanale lub kanale bieżącego użytkownika.Możesz też korzystać z przykładowych kodów:
-
Gdy zmodyfikujesz wartości parametrów i właściwości, fragmenty kodu będą dynamicznie aktualizowane, tak aby odzwierciedlały podane przez Ciebie wartości.
-
przełączać się między fragmentami kodu a pełnymi przykładami; Fragment kodu pokazuje tę część, która wywołuje metodę API. Pełny przykład zawiera ten fragment, a także stały kod do autoryzacji i wysyłania żądań. Pełne przykłady można skopiować i uruchomić z wiersza poleceń lub z lokalnego serwera WWW.
-
Wykonuj żądania, klikając przycisk. (Aby wykonywać żądania, musisz autoryzować narzędzie do wywoływania interfejsu API w Twoim imieniu).
To narzędzie zastąpiło narzędzie APIs Explorer na stronach, na których jest dostępne. Na każdej stronie jest wyświetlany link, który umożliwia wczytanie żądania, nad którym pracujesz, w narzędziu APIs Explorer.
-
-
Zaktualizowaliśmy też narzędzie Fragmenty kodu interfejsu Data API o nowy interfejs, który zapewnia dostęp do tych samych funkcji, które opisaliśmy powyżej. Główne nowe funkcje dostępne na tej stronie to:
- Obsługa żądań do interfejsu API zapisujących dane.
- Obsługa przykładów w języku Java.
- Bardziej elastyczny i uniwersalny kod stały do autoryzowania użytkowników i tworzenia żądań do interfejsu API.
27 kwietnia 2017 r.
Ta aktualizacja zawiera następujące zmiany:
- Nowe krótkie przewodniki wyjaśniają, jak skonfigurować prostą aplikację, która wysyła żądania do interfejsu YouTube Data API. Przewodniki są obecnie dostępne dla systemów Android, Apps Script, Go, Java, JavaScript, Node.js, PHP, Python i Ruby.
30 marca 2017 r.
Ta aktualizacja zawiera następujące zmiany:
- Nowa właściwość
topicDetails.topicCategories[]
zasobuchannel
zawiera listę adresów URL Wikipedii, które opisują zawartość kanału. Adresy URL odpowiadają identyfikatorom tematów zwróconym we właściwościtopicDetails.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 wskazuje czas dodania elementu do playlisty. - Podobnie jak w przypadku zasobu
channel
, zasóbvideo
zwraca teraz właściwośćtopicDetails.topicCategories[]
, która zawiera listę adresów URL z Wikipedii, które opisują treść filmu. W przypadku zasobówvideo
adresy URL odpowiadają identyfikatorom tematów zwróconym we właściwościtopicDetails.relevantTopicIds[]
zasobu. - Nowa właściwość
contentDetails.contentRating.mpaatRating
zasobuvideo
określa ocenę nadaną przez stowarzyszenie Motion Picture Association of America zwiastunowi filmu lub jego wersji przedpremierowej.
27 lutego 2017 r.
Zgodnie z pierwotną zapowiedzią z 11 sierpnia 2016 roku zmieniliśmy listę obsługiwanych identyfikatorów tematów w listę wyselekcjonowaną. Pełna lista obsługiwanych 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 wybranej liście pojawiło się 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
, który wcześniej był podrzędny dla grupyEntertainment
, został usunięty. - Temat
Children's music
, który wcześniej był podrzędny dla grupyMusic
, został usunięty.
W wyniku tej zmiany tematy powiązane z filmem są teraz zawsze zwracane jako wartość właściwości topicDetails.relevantTopicIds[]
zasobu video
.
29 listopada 2016 r.
Ta aktualizacja zawiera następujące zmiany:
-
Lista identyfikatorów tematów, które będą obsługiwane od 10 lutego 2017 roku, zawiera 3 niewielkie zmiany:
- Kategoria
Professional wrestling
, która wcześniej była podrzędna kategoriiSports
, jest teraz podrzędna wobec kategoriiEntertainment
. - Kategoria
TV shows
, która jest podrzędna wobec elementuEntertainment
, 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, który jest powiązany z kategorią podrzędną, np.Tennis
, zostanie też powiązany z kategorią nadrzędną (Sports
). - Kategoria
10 listopada 2016 r.
Ta aktualizacja zawiera następujące zmiany:
-
Zgodnie z pierwszą zapowiedzią z 11 sierpnia 2016 r. wycofanie interfejsów Freebase i Freebase API wymaga wprowadzenia kilku zmian związanych z identyfikatorami tematów. Identyfikatory tematów określają tematy powiązane z zasobami
channel
ivideo
. Możesz też użyć parametru wyszukiwaniatopicId
, aby znaleźć kanały lub filmy związane z określonym tematem.10 lutego 2017 r. YouTube będzie zwracać niewielki zestaw identyfikatorów tematów zamiast znacznie bardziej szczegółowego zbioru zwróconych do tej pory. Pamiętaj też, że nie możemy zagwarantować, że kanały i filmy będą powiązane z żadnymi tematami, co jest zgodne z aktualnym działaniem interfejsu API.
Aby ułatwić Ci przygotowanie klientów API na te zmiany, zaktualizowaliśmy definicje podanych niżej parametrów i właściwości API, podając identyfikatory tematów, które po tej dacie będą obsługiwane. 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 powiadomienie o wycofaniu tych funkcji.
Te właściwości są wycofywane:
- Właściwość
topicDetails.topicIds[]
zasobuchannel
. Ta usługa będzie obsługiwana do 10 listopada 2017 r. - Właściwość
topicDetails.relevantTopicIds[]
zasobuvideo
. Ta usługa będzie obsługiwana do 10 listopada 2017 r. - Właściwość
topicDetails.topicIds[]
zasobuvideo
. Ta usługa nie będzie zawierać wartości po 10 lutego 2017 r. (Po tym terminie wartość właściwościtopicDetails.relevantTopicIds[]
będzie wskazywać wszystkie tematy powiązane z filmem).
- Właściwość
-
Ponieważ usługa Freebase została już wycofana, przewodnik Wyszukiwanie z użyciem tematów Freebase został usunięty z dokumentacji. W tym przewodniku znajdował się przykładowy kod pokazujący, jak aplikacja będzie działać z interfejsem Freebase API.
Usunęliśmy też kilka przykładów kodu związanych z identyfikatorami tematów z dokumentacji metody
search.list
.
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 służy do umieszczenia odtwarzacza odtwarzającego film. Nowe właściwościplayer.embedHeight
iplayer.embedWidth
określają wymiary umieszczonego odtwarzacza. Te właściwości są zwracane tylko wtedy, gdy żądanie do interfejsu API określa wartość co najmniej jednego z parametrówmaxHeight
lubmaxWidth
. Omówiliśmy te dwa nowe parametry w dalszej części tego wpisu historii zmian. -
Nowa właściwość
hasCustomThumbnail
wskazuje, czy przesyłający przesłał niestandardową miniaturę filmu. Pamiętaj, że ta właściwość jest widoczna tylko dla osoby, która przesłała film. -
Nowy
fpbRatingReasons[]
określa powody, dla których film otrzymał ocenę FPB (RPB). -
Nowy
mcstRating
określa ocenę, jaką film otrzymał w Wietnamie.
-
-
Metoda
videos.list
obsługuje 2 nowe parametry:maxHeight
imaxWidth
. Możesz użyć dowolnego z parametrów lub obu parametrów podczas pobierania częściplayer
w zasobachvideo
.Domyślnie wysokość elementu
<iframe>
zwracanego we właściwościplayer.embedHtml
wynosi 360 pikseli. Szerokość dostosowuje się do proporcji obrazu filmu, dzięki czemu w umieszczonym odtwarzaczu nie są wyświetlane czarne pasy otaczające obraz. Jeśli na przykład współczynnik proporcji filmu wynosi 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 używać wysokości lub szerokości dostosowanej do układu aplikacji. Serwer API skaluje wymiary odtwarzacza odpowiednio do potrzeb, aby film nie był uwydatniony czarnych pasów w ramkach. Pamiętaj, że oba parametry określają maksymalne wymiary umieszczonego odtwarzacza. Jeśli więc określisz oba parametry, jeden z wymiarów może być mniejszy od maksymalnej dozwolonej wartości dla tego wymiaru.
Załóżmy, że współczynnik proporcji filmu to 16:9. Jeśli więc nie ustawiono parametru
maxHeight
lubmaxWidth
, tagplayer.embedHtml
będzie zawierał odtwarzacz o wymiarach 640 x 360.- Jeśli parametr
maxHeight
ma wartość720
, amaxWidth
nie jest skonfigurowany, interfejs API zwróci odtwarzacz o wymiarach 1280 x 720. - Jeśli parametr
maxWidth
ma wartość960
, amaxHeight
nie jest skonfigurowany, interfejs API zwróci odtwarzacz o wymiarach 960 x 540. - Jeśli parametr
maxWidth
ma wartość960
, a parametrmaxHeight
–450
, interfejs API zwróci odtwarzacz o wymiarach 800 x 450.
Nowe właściwości
player.embedHeight
iplayer.embedWidth
, które są opisane powyżej, określają wymiary odtwarzacza. - Jeśli parametr
-
-
Aktualizacje dotychczasowych metod, właściwości i parametrów
-
Zaktualizowaliśmy opis zasobu
channelSection
, aby uwzględnić, że kanał może utworzyć maksymalnie 10 półek bez ustawiania danych kierowania oraz maksymalnie 100 półek z danymi kierowania.Zaktualizowaliśmy też właściwość
targeting
zasobuchannelSection
, aby uwzględniała fakt, że opcje kierowania można ustawiać tylko za pomocą interfejsu API. Opcje kierowania są usuwane, jeśli sekcja kanału została zmodyfikowana w interfejsie YouTube. -
Definicja właściwości
snippet.name
zasobui18nLanguage
została poprawiona, aby odzwierciedlała, że wartość reprezentuje nazwę języka w języku określonym przez parametrhl
metodyi18nLanguage.list
. -
Zaktualizowaliśmy właściwość
contentDetails.note
zasobuplaylistItem
, by uwzględnić, ż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ą skonfigurowane 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 wartości parametrów się zawierają. Jeśli na przykład jest ustawiony parametrpublishedBefore
, interfejs API zwraca zasoby utworzone przed lub o określonej godzinie. -
Właściwość
contentDetails.contentRating.grfilmRating
zasobuvideo
obsługuje 3 dodatkowe wartości:grfilmK12
,grfilmK15
igrfilmK18
. -
Zaktualizowaliśmy opis metody
videos.insert
, by uwzględnić maksymalny rozmiar przesyłanych filmów z 64 GB do 128 GB.
-
-
Nowe i zaktualizowane błędy
-
Interfejs API obsługuje następujące nowe błędy:
Typ błędu Szczegóły błędu Opis forbidden (403)
homeParameterDeprecated
Metoda activities.list
zwraca ten błąd, aby wskazać, że dane o aktywności użytkownika na stronie głównej nie są dostępne przez ten interfejs API. Ten błąd może wystąpić, jeśli w nieautoryzowanym żądaniu ustawisz parametrhome
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ć elementy playlisty „historia oglądania”, ale nie można ich pobrać za pomocą interfejsu API.forbidden (403)
watchLaterNotAccessible
Metoda playlistItems.list
zwraca ten błąd, aby wskazać, że żądanie próbowało pobrać elementy playlisty z serii „Do obejrzenia”, ale nie można ich pobrać przy użyciu interfejsu API.badRequest (400)
uploadLimitExceeded
Metoda videos.insert
zwraca ten błąd, aby wskazać, że na kanale przekroczono maksymalną liczbę filmów, które można przesłać.forbidden (403)
forbiddenEmbedSetting
Metoda videos.update
zwraca ten błąd, aby wskazać, że żądanie do interfejsu API próbuje ustawić nieprawidłowe ustawienie umieszczania filmu. Pamiętaj, że niektóre kanały mogą nie mieć uprawnień do oferowania osadzonych odtwarzaczy podczas transmisji na żywo. Więcej informacji znajdziesz w Centrum pomocy YouTube. -
Metoda
playlistItems.insert
nie zwraca już błędu, jeśli wstawisz do playlisty zduplikowany film. Wcześniej ten błąd występował w przypadku niektórych playlist (np. ulubionych filmów), który nie zezwalał na duplikaty, ale nie jest już obsługiwany. Ogólnie na playlistach można przesyłać duplikaty filmów.
-
-
Inne powiadomienia
-
Wpis historii zmian z 15 września 2016 roku został zaktualizowany, aby doprecyzować, że za każdym razem, gdy w odpowiedzi właściwości
contentDetails.relatedPlaylists.watchHistory
icontentDetails.relatedPlaylists.watchLater
zasobuchannel
są zawarte w odpowiedzi, zawsze zawierają one odpowiednio wartościHL
iWL
. Co więcej, właściwości te są uwzględniane tylko wtedy, gdy autoryzowany użytkownik pobiera dane o własnym kanale użytkownika.
-
15 września 2016 r.
Ta aktualizacja zawiera następujące zmiany:
-
Aktualizacja historii zmian z 11 sierpnia 2016 roku obejmowała kilka zmian związanych z identyfikatorami tematów, w tym fakt, że od 10 lutego 2017 roku zmieni się zestaw obsługiwanych identyfikatorów tematów. Lista obsługiwanych tematów zostanie opublikowana do 10 listopada 2016 roku.
-
Poniższe zmiany zostały wprowadzone. Powiadomienie o tych zmianach pojawiło się 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 zobaczy na stronie głównej niezalogowany użytkownik YouTube.To drobna zmiana wprowadzona w celu zwiększenia wygody użytkowników w porównaniu z aktualizacją historii zmian z 11 sierpnia 2016 roku. Ta aktualizacja zawierała informację, że żądania używające parametru
home
zwracają pustą listę. -
Właściwości
contentDetails.relatedPlaylists.watchHistory
icontentDetails.relatedPlaylists.watchLater
zasobuchannel
zawierają teraz odpowiednio wartościHL
iWL
dla wszystkich kanałów.Dla jasności: właściwości te są widoczne tylko dla autoryzowanego użytkownika pobierającego dane o jego kanale. Właściwości zawsze zawierają wartości
HL
iWL
, nawet w przypadku pobierania danych o swoim kanale przez autoryzowanego użytkownika. Oznacza to, że identyfikatory historii oglądania i playlisty Do obejrzenia nie są pobierane za pomocą interfejsu API.Dodatkowo prośby o pobranie informacji o playlistie (
playlists.list
) lub elementów playlisty (playlistItems.list
) z historii oglądania kanału lub playlisty Do obejrzenia zwracają teraz puste listy. Dotyczy to nowych wartościHL
iWL
, a także identyfikatorów playlist w historii oglądania i playlist do obejrzenia, które Twój klient API mógł już zapisać.
-
-
Obiekt
fileDetails.recordingLocation
zasobuvideo
i jego właściwości podrzędne nie są już zwracane. Wcześniej te dane (takie jak nadrzędny obiektfileDetails
) mogły zostać pobrane tylko przez właściciela filmu.
11 sierpnia 2016 r.
Ta aktualizacja zawiera następujące zmiany:
-
Niedawno opublikowane Warunki korzystania z usług interfejsu YouTube API („Zaktualizowane Warunki”), które są szczegółowo omówione na blogu YouTube dla programistów i programistów, zawierają wiele aktualizacji bieżących Warunków korzystania z usługi. Oprócz zaktualizowanych Warunków, które zaczną obowiązywać 10 lutego 2017 roku, ta aktualizacja zawiera kilka dokumentów pomocniczych, które wyjaśniają zasady, których muszą przestrzegać deweloperzy.
Pełny zestaw nowych dokumentów opisano w historii zmian zaktualizowanych Warunków. Historia zmian będzie również wyjaśniana w przypadku przyszłych zmian zaktualizowanych Warunków lub dokumentów pomocniczych. Możesz zasubskrybować kanał RSS z listą zmian w historii zmian, korzystając z linku w dokumencie.
-
Wycofanie interfejsów 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 i kanałów związanych z określonym tematem.
Zmiany w tych funkcjach to:
-
Od 10 lutego 2017 r. YouTube będzie zwracać niewielki zestaw identyfikatorów tematów zamiast znacznie bardziej szczegółowego zbioru zwróconych do tej pory. Ten zestaw obsługiwanych tematów będzie wskazywać kategorie ogólne, takie jak Sport czy Koszykówka, ale nie wskażą na przykład konkretnych drużyn lub zawodników. Ogłosimy listę obsługiwanych tematów, aby zapewnić Ci czas na przygotowanie się do tej zmiany.
-
Wszystkie identyfikatory tematów Freebase, które zostały już pobrane, będą używane do wyszukiwania treści do 10 lutego 2017 roku. Jednak po upływie tego czasu będzie można używać tylko mniejszego zestawu tematów określonych w poprzednim elemencie do pobierania wyników wyszukiwania według tematów.
-
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 niektóre pola i parametry interfejsu API:
-
Parametr
home
metodyactivities.list
umożliwia upoważnionemu użytkownikowi pobranie źródła aktywności, które wyświetli się na jego stronie głównej YouTube. Żądania, które będą używać 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 jego kanale. Po 12 września 2016 r.contentDetails.relatedPlaylists.watchHistory
zwróci wartośćHL
, a właściwośćcontentDetails.relatedPlaylists.watchLater
– wartośćWL
dla wszystkich kanałów.Po 12 września 2016 r. prośby o pobranie informacji o playliście (
playlists.list
) z historii oglądania kanału lub playlisty Do obejrzenia będą zwracać pustą listę. Żądanie pobrania elementów playlisty (playlistItems.list
) z którejś z tych playlist również zwróci pustą listę po tym czasie. Dotyczy to nowych wartości (HL
iWL
), a także identyfikatorów playlist w historii oglądania i playlist do obejrzenia później, które Twój klient API mógł już zapisać. -
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 usługa była dostępna tylko wtedy, gdy kanał był powiązany z profilem Google+. Po wycofaniu usługa nie będzie już uwzględniana w żadnych zasobachchannel
. -
Właściwość
snippet.authorGoogleplusProfileUrl
zasobucomment
została wycofana. Wcześniej ta usługa była dostępna tylko wtedy, gdy kanał był powiązany z profilem Google+. Po wycofaniu usługa nie będzie już uwzględniana w żadnych zasobachcomment
.
Po wycofaniu żadna z tych właściwości nie zostanie zwrócona, dlatego obie zostały usunięte z dokumentacji odpowiednich 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 czasu, w którym zasubskrybowali dany kanał.Zwróć uwagę, że nowy parametr umożliwia pobranie tylko 1000 ostatnich subskrybentów kanału uwierzytelnionego użytkownika. Aby pobrać pełną listę subskrybentów, użyj parametru
mySubscribers
. Ten parametr, który nie zwraca liczby subskrybentów w określonej kolejności, nie ogranicza liczby subskrybentów, których można pobrać. -
Zaktualizowaliśmy definicję właściwości
snippet.thumbnails.(key)
zasobów activity, playlistItem, playlist, wynik wyszukiwania, miniaturę i film. W przypadku niektórych filmów dostępne są dodatkowe rozmiary obrazów miniatur.- Obraz
standard
ma 640 pikseli szerokości i 480 pikseli wysokości. - Obraz
maxres
ma 1280 pikseli szerokości i 720 pikseli wysokości.
- Obraz
-
Definicja parametru
part
metodychannelSection.list
została zaktualizowana, aby uwzględnić, że częśćtargeting
można pobrać za cenę równą2
jednostkom limitu. -
Metoda
videos.list
zwraca teraz błąd zabroniony (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 przeznaczone do typowych zastosowań interfejsu YouTube Data API. Fragmenty kodu są obecnie dostępne dla wszystkich metod interfejsu API tylko do odczytu w Apps Script, Go, JavaScript, PHP, Pythonie i Ruby.
Dla każdej metody narzędzie pokazuje przykłady kodu dla co najmniej jednego przypadku użycia. Zawiera na przykład 5 fragmentów kodu dla metody search.list
:
- Lista filmów według słów kluczowych
- Wyświetl filmy według lokalizacji
- Wyświetlenie listy wydarzeń na żywo
- Wyszukaj filmy uwierzytelnionego użytkownika.
- Wyświetl listę podobnych filmów
W każdym przypadku użycia narzędzie wyświetla parametry użyte w żądaniu do interfejsu API. Można zmodyfikować wartości parametrów. W takim przypadku narzędzie zaktualizuje fragmenty kodu, aby odzwierciedlały podane przez Ciebie wartości parametrów.
Na koniec narzędzie wyświetla odpowiedź interfejsu API na każde żądanie. Jeśli parametry żądania zostały zmienione, odpowiedź interfejsu API będzie oparta na podanych wartościach parametrów. Pamiętaj, że aby wyświetlać odpowiedzi interfejsu API, musisz upoważnić narzędzie do przesyłania żądań w Twoim imieniu.
28 kwietnia 2016 r.
Ta aktualizacja zawiera następujące zmiany:
-
Nowa właściwość
contentDetails.projection
zasobuvideo
określa format projekcji filmu. Prawidłowe wartości właściwości to360
irectangular
. -
Właściwości
recordingDetails.location
ifileDetails.recordingLocation
zasobuvideo
zostały zaktualizowane, aby wyjaśnić różnicę między tymi 2 właściwościami:- Właściwość
recordingDetails.location
określa lokalizację, którą właściciel filmu chce powiązać z filmem. Tę lokalizację można edytować i wyszukać w przypadku publicznych filmów, a także 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 pierwotnym przesłanym plikiem wideo. Ta wartość jest widoczna tylko dla właściciela filmu.
- Właściwość
-
Zaktualizowaliśmy definicję właściwości
contentDetails.relatedPlaylists.favorites
zasobuchannel
, by uwzględnić, że wartość właściwości może zawierać identyfikator playlisty, który odnosi się do pustej playlisty i nie można jej 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órą można zwrócić za pomocą metodycomments.insert
,comments.update
,commentThreads.insert
lubcommentThreads.update
, została zaktualizowana tak, aby odzwierciedlała, że błąd występuje, gdy konto YouTube użyte do autoryzacji żądania API nie zostało scalone z kontem Google użytkownika.
20 kwietnia 2016 r.
Ta aktualizacja zawiera następujące zmiany:
-
Definicja parametru
part
metodychannels.update
została zaktualizowana, aby pamiętać, żelocalizations
jest również prawidłową wartością tego parametru. -
Sekcja Wykorzystanie limitu w przewodniku dla początkujących została zaktualizowana i zawiera link do Google Developers Console, gdzie możesz sprawdzić rzeczywisty limit i jego wykorzystanie.
16 marca 2016 r.
Ta aktualizacja zawiera następujące zmiany:
-
Aktualizacje istniejących zasobów i metod
-
Zaktualizowaliśmy dokumentację zasobów
channelBanner
, by uwzględnić, że zalecany rozmiar obrazu banera kanału to 2560 na 1440 pikseli. Minimalny rozmiar (2048 na 1152 piksele) nie uległ zmianie. -
Nowa właściwość
snippet.customUrl
zasobuchannel
identyfikuje niestandardowy adres URL powiązany z kanałem. (Nie wszystkie kanały mają niestandardowe adresy URL). W Centrum pomocy YouTube znajdziesz wymagania dotyczące uzyskiwania niestandardowego adresu URL oraz instrukcje, 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 użyty w zapytaniu. Kod regionu powoduje, że interfejs API zwraca wyniki wyszukiwania dla określonego kraju.Wartość właściwości to dwuliterowy kod ISO kraju, który identyfikuje region. Metoda
i18nRegions.list
zwraca listę obsługiwanych regionów. Wartością domyślną jestUS
. Jeśli określisz nieobsługiwany region, YouTube może wybrać do obsługi zapytania inny region zamiast wartości domyślnej. -
Definicje właściwości
snippet.label
isnippet.secondaryReasons[].label
zasobuvideoAbuseReportReason
zostały zaktualizowane, by uwzględnić, że zawierają one zlokalizowany tekst etykiety z powodu zgłaszania nadużyć.Dodatkowo metoda
videoAbuseReportReasons.list
obsługuje teraz parametrhl
, który określa język tekstu etykiety w odpowiedzi interfejsu API. Domyślną wartością parametru jesten_US
. -
Nowa właściwość
contentDetails.contentRating.ecbmctRating
zasobuvideo
określa ocenę filmu nadaną przez turecką Radę Ewaluacji i Klasyfikacji Ministerstwa Kultury i Turystyki.Właściwości interfejsu API w innych systemach ocen obsługują też te nowe wartości właściwości:
contentDetails.contentRating.fpbRating
(Republika Południowej Afryki)
Ocena: 10; wartość usługi:fpb10
contentDetails.contentRating.moctwRating
(Tajwan)
Ocena: R-12; wartość właściwości:moctwR12
contentDetails.contentRating.moctwRating
(Tajwan)
Ocena: R-15; wartość usługi:moctwR15
-
Właściwość
liveStreamingDetails.activeLiveChatId
zasobuvideo
zawiera identyfikator aktywnego czatu na żywo powiązanego z filmem. Wartość właściwości jest widoczna tylko wtedy, gdy film jest transmisją na żywo, w której włączony jest czat na żywo. Po zakończeniu transmisji i czacie na żywo właściwość pokazana w filmie nie będzie już zwracana. -
Właściwość
status.rejectionReason
zasobuvideo
obsługuje nową wartość właściwościlegal
.
-
-
Interfejs API obsługuje następujące nowe błędy:
Typ błędu Szczegóły błędu Opis badRequest (400)
notEditable
Metody channelSections.insert
,channelSections.update
ichannelSections.delete
zwracają ten błąd, aby wskazać, że podanej sekcji kanału nie można utworzyć, zaktualizować ani usunąć.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 przetworzył żądania. Chociaż może to być błąd przejściowy, zwykle oznacza, że dane wejściowe żądania są nieprawidłowe. Sprawdź strukturę zasobucommentThread
w treści żądania, aby upewnić się, że jest prawidłowa.forbidden (403)
commentsDisabled
Metoda commentThreads.list
zwraca ten błąd, aby wskazać, że komentarze do filmu wskazanego przez parametrvideoId
są wyłączone.badRequest (400)
commentTextTooLong
Metoda commentThreads.insert
zwraca ten błąd, aby wskazać, że wstawiany 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, aby wskazać, że film, który próbujesz dodać do playlisty, znajduje się już na innej playliście serialu. Więcej informacji o playlistach serii znajdziesz w Centrum pomocy YouTube.badRequest (400)
subscriptionForbidden
Metoda subscriptions.insert
zwraca ten błąd, aby wskazać, że osiągnięto maksymalną liczbę subskrypcji lub że utworzono ich zbyt wiele w ostatnim czasie. W takim przypadku możesz spróbować ponownie 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. Aby pobrać obsługiwane kategorie, użyj metodyvideoCategories.list
.badRequest (400)
invalidDescription
Metoda videos.update
zwraca ten błąd, aby wskazać, że właściwośćsnippet.description
w przesłanym zasobievideo
ma nieprawidłową wartość.badRequest (400)
invalidPublishAt
Metoda videos.update
zwraca ten błąd, aby wskazać, że właściwośćstatus.publishAt
w przesłanym zasobievideo
ma nieprawidłowy zaplanowany czas publikacji.badRequest (400)
invalidRecordingDetails
Metoda videos.update
zwraca ten błąd, aby wskazać, że obiektrecordingDetails
w przesłanym zasobievideo
ma nieprawidłowe szczegóły rejestrowania.badRequest (400)
invalidTags
Metoda videos.update
zwraca ten błąd, aby wskazać, że właściwośćsnippet.tags
w przesłanym zasobievideo
ma nieprawidłową wartość.badRequest (400)
invalidTitle
Metoda videos.update
zwraca ten błąd, aby wskazać, że 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 dla właściwościsnippet.title
anisnippet.categoryId
.
18 grudnia 2015 r.
Przepisy Unii Europejskiej (UE) wymagają udostępnienia określonych informacji użytkownikom z Unii Europejskiej oraz uzyskania od nich zgody. Użytkownicy z Unii Europejskiej muszą więc przestrzegać polityki w zakresie zgody użytkownika z UE. Dodaliśmy informację o tym wymaganiu w Warunkach korzystania z interfejsu API YouTube.
19 listopada 2015 r.
Interfejs API obsługuje teraz ustawianie i pobieranie zlokalizowanego tekstu na potrzeby właściwości snippet.title
i snippet.description
zasobów playlist
i video
, właściwości snippet.title
zasobu channelSection
oraz właściwości snippet.description
zasobu channel
.
-
Ustawianie przetłumaczonych tytułów i opisów
Możesz ustawić zlokalizowane wartości dla zasobu podczas wywoływania dla niego metody
insert
lubupdate
. Aby ustawić zlokalizowane wartości dla zasobu, wykonaj obie te czynności:-
Upewnij się, że jest ustawiona 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ść innych kodów języków w formacie ISO 639-1:2002. Jeśli na przykład przesyłasz film w angielskim tytule i opisie, ustaw właściwośćsnippet.defaultLanguage
naen
.Uwaga na temat 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 aktualizowanego zasobu. Każdy klucz obiektu jest ciągiem znaków określającym język aplikacji lub kod języka zgodny z normą ISO 639-1:2002. 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ż do filmu przetłumaczone tytuły i opisy w języku niemieckim i hiszpańskim:
{ "kind": "youtube#video", ... "snippet": { "title": "Playing soccer", "description": "We play soccer in the park on Sundays.", "defaultLanguage": "en", ... }, "localizations": "de": { "title": "Fußball spielen", "description": "Wir spielen Fußball im Park am Sonntag" }, "es": { "title": "Jugar al fútbol", "description": "Nosotros jugamos fútbol en el parque los domingos", } } }
Ważne: pamiętaj, że gdy aktualizujesz zlokalizowane dane zasobu, żądanie do interfejsu API musi zawierać wszystkie istniejące zlokalizowane wersje tych danych. Jeśli na przykład prześlesz kolejne żądanie dodania do filmu danych w języku portugalskim z przykładu powyżej, musi ono zawierać dane zlokalizowane w języku niemieckim, hiszpańskim i portugalskim.
-
-
Pobieranie zlokalizowanych wartości
Interfejs API obsługuje 2 sposoby pobierania zlokalizowanych wartości zasobów:
-
Dodaj parametr
hl
do żądaniachannels.list
,channelSections.list
,playlists.list
lubvideos.list
, aby pobierać dane zlokalizowane na potrzeby konkretnego języka aplikacji obsługiwanego w witrynie YouTube. Jeśli szczegóły zasobów są dostępne w tym języku, obiektsnippet.localized
zasobu będzie zawierał te 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 z języka 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
ma wartośćfr
, obiektsnippet.localized
zawierałby tytuł i opis w języku angielskim, ponieważ językiem domyślnym zasobu jest angielski, a zlokalizowane szczegóły w języku francuskim nie są dostępne.Ważne: parametrhl
obsługuje tylko wartości wskazujące języki aplikacji obsługiwane w witrynie YouTube. Aby sprawdzić, czy przetłumaczony tekst jest dostępny w innych językach, pobierz częśćlocalizations
dla zasobu i filtra w celu określenia, czy taki tekst istnieje.
Musisz na przykład pobrać pełną listę lokalizacji, aby sprawdzić, czy lokalny tekst jest dostępny w języku angielskim w Appalachach.
-
Podczas pobierania zasobu umieść
localizations
w wartości parametrupart
, aby pobrać wszystkie zlokalizowane szczegóły tego zasobu. Jeśli pobierasz zlokalizowane dane w języku innym niż obecny język aplikacji YouTube, musisz użyć tej metody, by pobrać wszystkie lokalizacje, a następnie zastosować filtr, aby sprawdzić, czy takie zlokalizowane dane istnieją.
-
-
Błędy związane ze zlokalizowanymi wartościami tekstowymi
Interfejs API obsługuje też te nowe błędy w przypadku wartości w zlokalizowanym tekście:
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, aby uwzględnić, że jeśli posortujesz transmisje na żywo według parametruviewCount
, wyniki interfejsu API zostaną posortowane według liczby widzów oglądających transmisję w trakcie trwania transmisji. -
Parametr
relatedToVideoId
metodysearch.list
został zaktualizowany, aby zaznaczyć, że jeśli jest on skonfigurowany, jedynymi obsługiwanymi parametrami sąpart
,maxResults
,pageToken
,regionCode
,relevanceLanguage
,safeSearch
,type
(musi być ustawiony na wartośćvideo
) ifields
. Ta aktualizacja nie odzwierciedla zmian w działaniu interfejsu API. -
Zaktualizowaliśmy definicję właściwości
snippet.publishedAt
zasobuvideo
, by uwzględnić, że wartość właściwości, która określa datę i godzinę opublikowania filmu, może się różnić od czasu przesłania filmu. Jeśli na przykład film został przesłany jako prywatny, a później upubliczniony, wartość właściwości określa czas, kiedy film stał się publiczny. Zaktualizowana definicja wyjaśnia też, w jaki sposób wartość jest wypełniana w przypadku filmów prywatnych i niepublicznych.Nie odzwierciedla to zmian w działaniu interfejsu API.
-
Definicja właściwości
status.publishAt
zasobuvideo
została zaktualizowana o:- 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, zostaje on opublikowany od razu. W efekcie ustawienie właściwości
status.publishAt
na datę i godzinę z przeszłości jest takie samo jak zmiana parametruprivacyStatus
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 przyznaną przez francuską komisję ds. klasyfikacji filmów. Ta właściwość zastępuje właściwośćcontentDetails.contentRating.fmocRating
, która została już wycofana. -
Definicja pliku brandingSettings.channel.keywords zasobu
channel
została zaktualizowana, aby prawidłowo odzwierciedlała fakt, że wartość właściwości zawiera listę ciągów znaków oddzielonych spacjami, a nie listę rozdzielonych przecinkami, jak opisano wcześniej. Ta aktualizacja nie odzwierciedla zmian w działaniu interfejsu API. -
Dokumentacja metody
thumbnails.set
została zaktualizowana, aby dokładnie odzwierciedlać fakt, że treść żądania zawiera obraz miniatury, który przesyłasz i który jest powiązany z filmem. Treść żądania nie zawiera zasobuthumbnail
. Wcześniej w dokumentacji stwierdzono, że nie należy podawać treści żądania podczas wywoływania tej metody. Ta aktualizacja nie odzwierciedla zmian w działaniu interfejsu API. -
Opis zasobu
activity
został zaktualizowany, aby odzwierciedlał fakt, że metodaactivities.list
nie obejmuje obecnie zasobów związanych z nowymi komentarzami do filmów. Zaktualizowano teżsnippet.type
icontentDetails.comment
zasobu.
-
-
Nowe i zaktualizowane błędy
-
Interfejs API obsługuje teraz następujące błędy:
Szczegóły błędu activities.insert
Kod odpowiedzi HTTP badRequest (400)
Przyczyna invalidMetadata
Opis Właściwość kind
nie pasuje do typu podanego identyfikatora.commentThreads.update
comments.insert
comments.update
Kod odpowiedzi HTTP badRequest (400)
Przyczyna commentTextTooLong
Opis Wstawiane lub aktualizowane zasób comment
zawiera za dużo znaków we właściwościsnippet.topLevelComment.snippet.textOriginal
.playlistItems.insert
playlistItems.update
Kod odpowiedzi HTTP forbidden (403)
Przyczyna playlistItemsNotAccessible
Opis Żądanie nie ma uprawnień do wstawiania, aktualizowania lub usuwania 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 prawidłowo autoryzowane. search.list
Kod odpowiedzi HTTP badRequest (400)
Przyczyna invalidLocation
Opis Wartość parametru location
lublocationRadius
była nieprawidłowo sformatowana.search.list
Kod odpowiedzi HTTP badRequest (400)
Przyczyna invalidRelevanceLanguage
Opis Wartość parametru relevanceLanguage
była nieprawidłowo sformatowana.subscriptions.insert
Kod odpowiedzi HTTP badRequest (400)
Przyczyna subscriptionForbidden
Opis Ten błąd występuje, gdy spełniony jest dowolny z tych warunków: - Subskrypcja, którą próbujesz utworzyć, już istnieje
- Masz już maksymalną liczbę subskrypcji
- Próbujesz zasubskrybować własny kanał, co nie jest obsługiwane.
- Ostatnio utworzono zbyt wiele subskrypcji. Odczekaj kilka godzin, zanim spróbujesz ponownie.
videos.update
Kod odpowiedzi HTTP badRequest (400)
Przyczyna invalidDefaultBroadcastPrivacySetting
Opis Wystąpiła próba ustawienia nieprawidłowego ustawienia 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 nadal uwzględniana w zasobach usługi
video
przez co najmniej rok po tym ogłoszeniu. Wartość właściwości jest teraz 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. Ta aktualizacja nie odzwierciedla zmian w działaniu interfejsu API.W szczególności definicja wyjaśnia teraz, że jeśli tag zawiera spację, serwer API obsługuje wartość tagu tak, jakby była ona ujęta w cudzysłów, a cudzysłowy są uwzględniane w limicie znaków. Na potrzeby limitów znaków tag Foo-Baz zawiera siedem znaków, ale tag Foo Baz zawiera dziewięć znaków.
-
Metoda
commentThreads.insert
nie obsługuje już parametrushareOnGooglePlus
, który określał, czy komentarz i odpowiedzi na niego powinny zostać też opublikowane w profilu Google+ autora. Jeśli żądanie przesyła parametr, serwer interfejsu API go zignoruje, ale 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 której odpowiedź interfejsu API powinna wyświetlać wątki komentarzy. Wątki mogą być uporządkowane według czasu lub trafności. Domyślnym zachowaniem jest uporządkowanie ich według czasu. -
Nowa właściwość
snippet.defaultAudioLanguage
zasobuvideo
określa język używany na domyślnej ścieżce audio filmu. -
Zaktualizowaliśmy definicję właściwości
contentDetails.licensedContent
zasobuvideo
, aby doprecyzować, że treści muszą zostać pierwotnie przesłane na kanał połączony z partnerem w YouTube, a dopiero potem partner będzie objęty roszczeniem. Nie oznacza to zmiany rzeczywistego działania interfejsu API. -
Metody
captions.delete
,captions.download
,captions.insert
,captions.list
icaptions.update
obsługują teraz parametronBehalfOfContentOwner
, który jest już obsługiwany w przypadku kilku innych metod. Żądania 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 Użytkownik musi zweryfikować swój adres e-mail przed wystawieniem oceny filmu. videos.rate
Kod odpowiedzi HTTP badRequest (400)
Przyczyna videoPurchaseRequired
Opis Wypożyczone filmy mogą oceniać tylko te 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 tym, dlaczego film zawiera nieodpowiednie treści. MetodavideoAbuseReportReasons.list
umożliwia pobranie listy wszystkich powodów, dla których filmy mogą zostać oznaczone. -
Nowa metoda
videos.reportAbuse
pozwala zgłosić film zawierający nieodpowiednie treści. Treść żądania zawiera obiekt JSON określający film oraz przyczynę, dla której uznaje się, że zawiera nieodpowiednie treści. Prawidłowe przyczyny można znaleźć, korzystając z opisanej powyżej metodyvideoAbuseReportReason.list
.Do przewodnika po migracji dodaliśmy też przykład zgłoszenia nadużycia. W związku z tą zmianą interfejs API w wersji 3 obsługuje wszystkie funkcje, które planuje obsługiwać. Wszystkie te funkcje zostały omówione w przewodniku po migracji.
-
-
Aktualizacje istniejących zasobów i metod
-
Nowy parametr filtra
forDeveloper
metodysearch.list
ogranicza wyszukiwanie tylko do filmów przesłanych za pomocą aplikacji lub witryny dewelopera. ParametrforDeveloper
może być używany w połączeniu z opcjonalnymi parametrami wyszukiwania, np. z parametremq
.Na potrzeby tej funkcji każdy przesłany film jest automatycznie tagowany numerem projektu powiązanym z aplikacją dewelopera w Google Developers Console.
Gdy w żądaniu wyszukiwania parametr
forDeveloper
zostanie ustawiony natrue
, serwer interfejsu API identyfikuje dewelopera na podstawie danych uwierzytelniających żądania. Dlatego deweloper może ograniczyć wyniki do filmów przesłanych za pomocą swojej aplikacji lub witryny, ale nie do filmów przesyłanych za pomocą innych aplikacji lub witryn.Oferuje funkcje podobne do funkcji tagów dewelopera obsługiwanych przez interfejs API w wersji 2, choć nie identycznie.
-
Nowa właściwość
snippet.country
zasobuchannel
pozwala właścicielom kanałów 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 na zasoby
channelSection
. Kierowanie na sekcję 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 przez YouTube. Sekcja kanału jest widoczna dla użytkowników, którzy wybrali jeden z regionów, oraz dla użytkowników, dla których dany region został wybrany automatycznie. -
targeting.countries[]
: lista krajów, w których sekcja kanału jest widoczna. Każda wartość z listy to kod kraju w formacie ISO 3166-1 alfa-2.
-
-
Definicja właściwości
contentDetails.duration
zasobuvideo
została poprawiona, 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, aby odzwierciedlała, że jeśli operacja się uda, wszystkie te metody zwracają kod odpowiedzi HTTP204
(No Content
).
-
-
Nowe i zaktualizowane błędy
-
Interfejs API obsługuje teraz następujące błędy:
Typ błędu Szczegóły błędu Opis badRequest (400)
targetInvalidCountry
Metody channelSections.insert
ichannelSections.update
zwracają ten błąd, jeśli wstawiony zasóbchannelSection
zawiera nieprawidłową wartość właściwościtargeting.countries[]
.badRequest (400)
targetInvalidLanguage
Metody channelSections.insert
ichannelSections.update
zwracają ten błąd, jeśli wstawiony zasóbchannelSection
zawiera nieprawidłową wartość właściwościtargeting.languages[]
.badRequest (400)
targetInvalidRegion
Metody channelSections.insert
ichannelSections.update
zwracają ten błąd, jeśli wstawiony zasóbchannelSection
zawiera nieprawidłową wartość właściwościtargeting.regions[]
.badRequest (400)
operationNotSupported
Metoda comments.insert
zwraca ten błąd, jeśli użytkownik interfejsu API nie może wstawić komentarza w odpowiedzi na komentarz najwyższego poziomu wskazany przez właściwośćsnippet.parentId
. W zasobiecommentThread
właściwośćsnippet.canReply
wskazuje, czy bieżąca osoba przeglądająca może odpowiedzieć w wątku.badRequest (400)
invalidChannelId
Metoda search.list
zwraca ten błąd, jeśli parametrchannelId
w żądaniu podał nieprawidłowy identyfikator kanału.badRequest (400)
subscriptionForbidden
Metoda subscriptions.insert
zwraca ten błąd, jeśli użytkownik interfejsu API próbuje zasubskrybować 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:
-
Przewodnik po migracji został zaktualizowany, aby wyjaśnić, jak przenieść aplikacje, które nadal używają funkcji komentarzy z interfejsu API w wersji 2.
W przewodniku wspomniano też o kilku funkcjach komentowania, których interfejs API w wersji 2 nie obsługiwał, ale które są obsługiwane przez ten interfejs. Są to między innymi:
- Pobieranie komentarzy na temat kanału
- Pobieranie wszystkich wątków komentarzy związanych z kanałem. Oznacza to, że odpowiedź interfejsu API może zawierać komentarze na temat kanału lub dowolnych filmów na nim.
- Aktualizowanie tekstu komentarza
- Oznaczanie komentarza jako spamu
- Ustawianie stanu moderowania komentarza
-
Przewodnik Subskrybowanie powiadomień push został zaktualizowany, aby uwzględnić fakt, że powiadomienia są przekazywane tylko do centrum Google PubSubHubBub, a nie do centrum Superfeedr, jak wskazano wcześniej.
9 kwietnia 2015 r.
Ta aktualizacja zawiera następujące zmiany:
-
Nowe zasoby
commentThread
icomment
interfejsu API umożliwiają pobieranie, wstawianie, aktualizowanie, usuwanie i moderowanie komentarzy.-
Zasób
commentThread
zawiera informacje o wątku komentarzy w YouTube, który składa się z komentarza najwyższego poziomu oraz ewentualnych odpowiedzi na ten komentarz. ZasóbcommentThread
może reprezentować komentarze na temat filmu lub kanału.Komentarz najwyższego poziomu i odpowiedzi to tak naprawdę zasoby
comment
, które są zagnieżdżone w zasobiecommentThread
. Zwróć uwagę, że zasóbcommentThread
nie zawsze zawiera wszystkie odpowiedzi na komentarz. Aby pobrać wszystkie odpowiedzi na dany komentarz, musisz użyć metodycomments.list
. Na niektóre komentarze nie ma odpowiedzi.Interfejs API obsługuje te metody zasobów
commentThread
:commentThreads.list
– pobierz listę wątków komentarzy. Użyj tej metody, aby pobrać komentarze powiązane z określonym 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
– zmodyfikuj komentarz najwyższego poziomu.
-
Zasób
comment
zawiera informacje o pojedynczym komentarzu w YouTube. Zasóbcomment
może reprezentować komentarz na temat filmu lub kanału. Może to być komentarz najwyższego poziomu lub odpowiedź na komentarz najwyższego poziomu.Interfejs API obsługuje te metody zasobów
comment
:comments.list
– pobierz listę komentarzy. Użyj tej metody, aby pobrać wszystkie odpowiedzi na określony komentarz.comments.insert
– utwórz odpowiedź na istniejący komentarz.comments.update
– zmień komentarz.comments.markAsSpam
– zgłoś co najmniej jeden komentarz jako spam.comments.setModerationStatus
– ustaw stan moderowania co najmniej jednego komentarza. Możesz na przykład usunąć komentarz, który nie będzie widoczny publicznie, lub odrzucić komentarz, który nie nadaje się do wyświetlenia. Żądanie do interfejsu API musi być autoryzowane przez właściciela kanału lub filmu powiązanego z komentarzami.comments.delete
– usuń komentarz.
Pamiętaj, że w przypadku wywołań metod
comments.insert
,comments.update
,comments.markAsSpam
,comments.setModerationStatus
,comments.delete
,commentThreads.insert
icommentThreads.update
wymagany jest nowy zakres interfejsuhttps://www.googleapis.com/auth/youtube.force-ssl
API, który został opisany w historii zmian z 2 kwietnia 2015 r.. -
-
Nowy przewodnik Subskrybowanie powiadomień push wyjaśnia nową obsługę powiadomień push w interfejsie API za pomocą PubSubHubBub – protokołu publikowania/subskrybowania zasobów dostępnych w internecie między serwerami. Twój serwer wywołania zwrotnego PubSubHubBub może otrzymywać powiadomienia z kanału Atom, gdy kanał wykona jedną z tych czynności:
- przesyła film
- aktualizuje tytuł filmu
- aktualizuje opis filmu
-
Zaktualizowaliśmy też przewodnik po migracji, aby uwzględnić nową obsługę powiadomień push. Ponieważ jednak interfejs API w wersji 2 obsługiwał wiele innych typów powiadomień push, które nie są obsługiwane w wersji 3, wzmianka o obsłudze PubSubHubBub jest nadal wymieniona w sekcji Wycofane w tym przewodniku.
-
Nowy zakres interfejsu API
https://www.googleapis.com/auth/youtube.force-ssl
jest teraz prawidłowym zakresem dla każdej metody interfejsu API, która wcześniej obsługiwała zakreshttps://www.googleapis.com/auth/youtube
. -
Interfejs API obsługuje teraz następujące błędy:
Typ błędu Szczegóły błędu Opis badRequest (400)
invalidRating
Metoda videos.rate
zwraca ten błąd, jeśli żądanie zawiera nieoczekiwaną wartość parametrurating
. -
Metoda
subscriptions.insert
nie obsługuje już błędusubscriptionLimitExceeded
, który wcześniej informował, że subskrybent wskazany w żądaniu przekroczył limit liczby subskrypcji.
2 kwietnia 2015 r.
Ta aktualizacja zawiera następujące zmiany:
-
Nowy zasób
captions
reprezentuje ścieżkę napisów w YouTube. Ścieżka z napisami jest powiązana tylko z jednym filmem w YouTube.Interfejs API obsługuje metody tworzenia listy, wstawiania, aktualizowania, pobierania i usuwania ścieżek napisów.
-
Zaktualizowaliśmy też przewodnik po migracji, aby wyjaśnić, jak przenieść aplikacje, które nadal używają funkcji napisów w interfejsie API w wersji 2.
-
Nowy zakres
https://www.googleapis.com/auth/youtube.force-ssl
interfejsu API wymaga, aby komunikacja z serwerem API odbywała się przez połączenie SSL.Ten nowy zakres przyznaje ten sam dostęp co zakresowi
https://www.googleapis.com/auth/youtube
. W rzeczywistości te 2 zakresy są funkcjonalnie identyczne, ponieważ serwer YouTube API jest dostępny tylko przez punkt końcowy HTTPS. W rezultacie, mimo że 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 do wywoływania wszystkich metod zasobu
caption
.
11 marca 2015 r.
Ta aktualizacja zawiera następujące zmiany:
-
Przewodnik po migracji do interfejsu YouTube Data API (v3) zawiera nową kartę o nazwie New in the v3 API (Nowa) z listą funkcji, które są obsługiwane przez interfejs API v3 oraz których nie obsługuje. Te same funkcje były wcześniej wymienione na innych kartach przewodnika. Na przykład nowa funkcja objaśniająca sposób aktualizowania danych dotyczących kampanii promocyjnych In-Video na kanale jest również wymieniona na karcie Kanały (profile).
-
Przewodnik po migracji interfejsu YouTube Data API (v3) został zaktualizowany, aby uwzględnić, że wersja 3 API obsługuje następującą funkcję API w wersji 2:
-
Przewodnik po migracji do interfejsu YouTube Data API (v3) został zaktualizowany, aby uwzględnić, że następujące funkcje interfejsu API w wersji 2 nie będą obsługiwane w wersji 3 interfejsu API:
-
Pobieranie rekomendacji filmów – interfejs API w wersji 3 nie pobiera listy zawierającej tylko filmy polecane dla bieżącego użytkownika interfejsu API. Możesz jednak użyć interfejsu API w wersji 3, aby znaleźć polecane filmy. W tym celu wywołaj metodę
activities.list
i ustaw wartość parametruhome
natrue
.Jeśli wartość właściwości
snippet.type
wynosirecommendation
, w odpowiedzi interfejsu API zasób odpowiada rekomendowanemu filmowi. 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. Jednak do znajdowania nowych filmów w ramach subskrypcji możesz używać interfejsu API w wersji 3. Aby to zrobić, 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
toupload
. Nie możemy zagwarantować, że odpowiedź będzie zawierać określoną liczbę nowych filmów objętych subskrypcją. -
Powiadomienia push o aktualizacjach kanału – powiadomienia push obsługiwane przez interfejs API w wersji 2 za pomocą protokołu Simple Update Protocol (SUP) lub za pomocą protokołu PubSubHubbub służące do monitorowania kanałów aktywności użytkowników YouTube. Otrzymujesz powiadomienia o subskrybowaniu nowych kanałów oraz o tym, że filmy zostały ocenione, udostępnione, oznaczone jako ulubione, skomentowane lub przesłane.
Interfejs API w wersji 3 obsługuje powiadomienia push za pomocą protokołu PubSubHubbub, ale powiadomienia dotyczą tylko przesłanych filmów i aktualizacji ich tytułów lub opisów.
-
Lokalizacja kanału – interfejs API w wersji 2 wykorzystał tag
<yt:location>
do zidentyfikowania lokalizacji użytkownika podanej w publicznym profilu YouTube kanału. Niektórzy deweloperzy używają tego pola do powiązania kanału z konkretnym krajem, ale dane z tego pola nie mogą być używane do tego celu. -
Ustawianie lub pobieranie tagów programisty – interfejs API w wersji 2 obsługiwał możliwość powiązania słów kluczowych lub tagów dewelopera z filmem w momencie jego przesyłania. Tagi dewelopera nie będą wyświetlane użytkownikom YouTube, ale właściciele filmów mogą pobierać filmy, które pasują do określonego tagu dewelopera.
Interfejs API w wersji 3 oferuje podobną, ale nie identyczną funkcję. W szczególności deweloper będzie mógł wyszukiwać filmy przesłane przez jego aplikację. Na potrzeby tej funkcji każdy przesłany film jest automatycznie tagowany numerem projektu powiązanym z aplikacją dewelopera w Google Developers Console. Następnie wyszukuje filmy, używając tego samego numeru projektu.
-
Uporządkuj filmy 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 playlist są zwykle sortowane według pozycji w kolejności rosnącej, a inne opcje sortowania są niedostępne.Jest kilka wyjątków. W przypadku tych typów playlist nowy przesłany, ulubiony film, film, który Ci się podoba, lub ostatnio oglądany film jest automatycznie dodawany jako pierwszy element (
snippet.position
=0
) w przypadku tych typów playlist. Lista jest więc sortowana od najnowszych do najstarszych elementów na podstawie czasu dodania elementów do listy.- pliki przesłane przez użytkowników
- ulubione filmy
- polubione filmy
- historia oglądania
Pamiętaj jednak, że nowy element dodany do playlisty „Do obejrzenia” jest dodawany jako ostatni na tej liście, dzięki czemu jest ona sortowana od najstarszego do najnowszego elementu.
-
Przetwarzanie wsadowe – interfejs API w wersji 3 obsługuje jeden z przypadków przetwarzania wsadowego obsługiwanych przez interfejs API 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żywać do określania listy identyfikatorów rozdzielonych przecinkami (identyfikatorów filmów, kanałów itd.). Za pomocą tych metod możesz pobrać listę wielu zasobów za pomocą jednego żądania.
Po wprowadzeniu tych zmian w przewodniku wymieniono wszystkie funkcje, które były obsługiwane w poprzedniej wersji interfejsu API (v2), które zostaną wycofane w obecnej wersji interfejsu 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 właściwości oraz 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 wycofania interfejsu API.
-
Nowa właściwość
contentDetails.contentRating.contentDetails.contentRating.djctqRatingReasons
zasobuvideo
wskazuje przyczyny, dla których film otrzymał ocenę DJCQT (Brazylia). -
Interfejs API obsługuje teraz następujące błędy:
Typ błędu Szczegóły błędu Opis notFound (404)
channelNotFound
Metoda channels.update
zwraca ten błąd, jeśli parametrid
żądania określa kanał, którego nie można znaleźć.badRequest (400)
manualSortRequiredinvalidValue
Metody playlistItems.insert
iplaylistItems.update
zwracają ten błąd, jeśli żądanie próbuje ustawić pozycję elementu playlisty, ale playlista nie obsługuje sortowania ręcznego. Na przykład elementy playlisty mogą być sortowane według daty lub popularności. Aby rozwiązać ten problem, usuń elementsnippet.position
z zasobu wysłanego w treści żądania. Jeśli chcesz, aby element playlisty miał określoną pozycję na liście, musisz najpierw zmienić ustawienie kolejności na playliście na Ręcznie. To ustawienie można zmienić 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
, który umożliwia żądanie wyników dotyczących konkretnego języka.Zaktualizowaliśmy też przewodnik po migracji interfejsu YouTube Data API (v3), aby wyjaśnić, jak korzystać z tego nowego parametru. Ten parametr uzupełnia lukę w funkcjach, która istniała wcześniej między bieżącą wersją interfejsu API (v3) a poprzednią (v2), która została już wycofana.
-
Zaktualizowaliśmy też przewodnik po migracji interfejsu YouTube Data API (v3), aby wskazać, że wycofaliśmy specjalne pola metadanych i plików danych, które były wykorzystywane przez interfejs API v2 do opisywania filmów, zwiastunów, programów telewizyjnych, sezonów telewizyjnych i odcinków.
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 używać interfejsu API v3 do przesyłania filmów przy użyciu JavaScriptu. Szczegółowe informacje znajdziesz w sekcji Przesyłanie filmu. Ta funkcja jest porównywalna z funkcjami przesyłania w przeglądarce, które obsługuje interfejs API w wersji 2. Pamiętaj, że ta zmiana w przewodniku po migracji nie odzwierciedla faktycznej zmiany w interfejsie API, ale raczej dostępność nowego przykładowego kodu do przesyłania filmów przy użyciu 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ż wymieniona funkcja przesyłania w przeglądarce jako funkcja, która może zostać wycofana z interfejsu API w wersji 3.
-
Dokumentacja metody
videos.insert
została zaktualizowana, aby uwzględnić opisany powyżej nowy przykładowy kod JavaScript. Zaktualizowaliśmy też listę przykładowych kodów JavaScript interfejsu YouTube Data API (v3).
11 listopada 2014 r.
Ta aktualizacja zawiera następujące zmiany:
-
Koszt limitu wywołania metody
search.list
został zmieniony na 100 jednostek.Ważne: w wielu przypadkach możesz użyć innych metod interfejsu API, aby uzyskać informacje przy niższym limicie. 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 zarejestrowany 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
informuje, czy na kanale można przesyłać filmy dłuższe niż 15 minut. Ta właściwość jest zwracana tylko wtedy, gdy właściciel kanału autoryzował żądanie do interfejsu API. Prawidłowe wartości właściwości to:allowed
– kanał może przesyłać filmy dłuższe niż 15 minut.eligible
– kanał może przesyłać filmy dłuższe niż 15 minut, ale najpierw trzeba włączyć tę funkcję.disallowed
– kanał nie może przesyłać filmów dłuższych niż 15 minut ani nie kwalifikuje się do tego.
Więcej informacji o tych wartościach znajdziesz w definicji właściwości. Więcej informacji o tej funkcji znajdziesz też w Centrum pomocy YouTube.
-
Właściwość
invideoPromotion.useSmartTiming
wskazuje, czy kampania promocyjna kanału wykorzystuje funkcję inteligentnego określania czasu. Ta funkcja próbuje wyświetlać promocje w pewnym momencie filmu, gdy jest większa szansa na to, że zostanie on kliknięty, a mniej prawdopodobne, że nie będzie to zakłócać oglądania. Funkcja umożliwia też wybranie jednej promocji, która będzie wyświetlana przy każdym filmie.
-
-
Definicje właściwości
snippet.title
isnippet.categoryId
zasobuvideo
zostały zaktualizowane, aby wyjaśnić 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 żadnej z tych właściwości, interfejs API zwróci błądinvalidRequest
. Opis tego błędu również został zaktualizowany. -
Właściwość
contentDetails.contentRating.oflcRating
zasobuvideo
, która identyfikuje ocenę filmu przez nowozelandzki Urząd Klasyfikacji Filmów i Literii, obsługuje teraz 2 nowe klasyfikacje:oflcRp13
ioflcRp16
. Odpowiadają one odpowiednio ocenieRP13
iRP16
. -
Metoda
channelBanners.insert
obsługuje teraz następujący błąd:Typ błędu Szczegóły błędu Opis badRequest
bannerAlbumFull
Album właściciela kanału w YouTube z grafiką kanału zawiera zbyt wiele obrazów. Właściciel kanału powinien otworzyć 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:
-
Koszt limitu wywołania metody
search.list
zmienił się z 1 na 2 jednostek 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 następujący błąd:Typ błędu Szczegóły błędu Opis badRequest
subscriptionLimitExceeded
Subskrybent wskazany w żądaniu przekroczył limit liczby subskrypcji. W ciągu kilku godzin możesz spróbować dodać więcej subskrypcji.
12 sierpnia 2014 r.
Ta aktualizacja zawiera następujące zmiany:
-
Nowy przewodnik zatytułowany Migracja aplikacji do interfejsu YouTube Data API (v3) zawiera wyjaśnienie, jak korzystać z interfejsu YouTube Data API (v3) w celu korzystania z funkcji dostępnych w YouTube Data API (v2). Starsza wersja interfejsu API została oficjalnie wycofana 4 marca 2014 r. Ten przewodnik ma na celu pomoc w migracji do najnowszej wersji aplikacji, które nadal korzystają z interfejsu API w wersji 2.
8 lipca 2014 r.
Ta aktualizacja zawiera następujące zmiany:
-
Metoda
playlists.insert
obsługuje teraz następujący błąd:Typ błędu Szczegóły błędu Opis badRequest
maxPlaylistExceeded
Ten błąd występuje, gdy nie można utworzyć playlisty, bo na kanale jest już maksymalna dozwolona liczba playlist.
18 czerwca 2014 r.
Ta aktualizacja zawiera następujące zmiany:
-
Opis każdej metody interfejsu API został zaktualizowany, aby uwzględnić koszt limitu związany 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ć w wywołaniu interfejsu API. Na przykład wywołanie metodysubscriptions.insert
powoduje, że limit wynosi około 50 jednostek. Zasóbsubscription
też zawiera 3 części (snippet
,contentDetails
isubscriberSnippet
), a każda z nich ma koszt 2 jednostek.Pamiętaj, że koszty limitu mogą się zmienić bez ostrzeżenia.
-
Zasób
video
obsługuje teraz 43 nowe systemy oceny treści, które określają oceny filmów otrzymanych od różnych krajowych agencji oceniających. Nowe obsługiwane systemy oceny: Argentyna, Austria, 5 krajów: Austria, 5 krajów i regiony 100 {lipca 7 krajów}, Austria, 5 krajów i regiony 800 {lipca]
28 maja 2014 r.
Ta aktualizacja zawiera następujące zmiany:
-
Metoda
search.list
obsługuje teraz parametrylocation
ilocationRadius
, które pozwalają na wyszukiwanie filmów powiązanych z lokalizacją geograficzną. Żądanie musi określać wartość obu parametrów, aby można było pobierać wyniki na podstawie lokalizacji. Interfejs API zwróci błąd, jeśli żądanie zawiera tylko jeden z dwóch 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 wideo może znajdować się od środka obszaru, aby film nadal był uwzględniany w wynikach wyszukiwania.
-
13 maja 2014 r.
Ta aktualizacja zawiera następujące zmiany:
-
Zaktualizowaliśmy właściwość
invideoPromotion.items[]
zasobuchannel
, aby pamiętać, że zwykle możesz ustawić tylko 1 promowany produkt na swoim kanale. Jeśli spróbujesz wstawić zbyt wiele promowanych elementów, interfejs API zwróci błądtooManyPromotedItems
, który zawiera kod stanu HTTP400
. -
Zasób
channelSection
może teraz zawierać informacje o kilku nowych typach polecanych treści. Właściwośćsnippet.type
zasobuchannelSection
obsługuje teraz te wartości:postedPlaylists
– playlisty, które właściciel kanału opublikował w sekcji aktywności na kanalepostedVideos
– filmy, które właściciel kanału opublikował w strumieniu aktywności na kanalesubscriptions
– kanały, które subskrybuje właściciel
-
Nowa właściwość
contentDetails.contentRating.ifcoRating
zasobuvideo
określa ocenę, jaką film otrzymał od Irlandzkiego Urzędu Klasyfikacji Filmów. -
Definicja właściwości
position.cornerPosition
zasobuwatermark
została zaktualizowana, tak aby znak wodny zawsze jest widoczny w prawym górnym rogu odtwarzacza. -
Definicja parametru
q
metodysearch.list
została zaktualizowana, aby uwzględnić, że wyszukiwane hasło może zawierać operator logiczny NIE (-
) do wykluczania filmów powiązanych z określonym wyszukiwanym hasłem. Przy użyciu tej wartości możesz też użyć operatora logicznego LUB (|
), aby znaleźć filmy powiązane z jednym z kilku wyszukiwanych haseł. -
Definicja właściwości
pageInfo.totalResults
zwracana w odpowiedzi interfejsu API na wywołaniesearch.list
została zaktualizowana, aby uwzględniała wartość przybliżoną i może nie odzwierciedlać dokładnej wartości. Maksymalna wartość to 1 000 000. Nie należy używać tej wartości do tworzenia linków do podziału na strony. Zamiast tego użyj wartości właściwościnextPageToken
iprevPageToken
, aby określić, czy wyświetlić linki do podziału na strony. -
Metody
watermarks.set
iwatermarks.unset
zostały zaktualizowane, aby uwzględnić, że interfejs API zwraca kod odpowiedzi HTTP204
w przypadku udanych żądań 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 witrynę YouTube. Język aplikacji może być też nazywany językiem interfejsu użytkownika. 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, a użytkownik może też ręcznie wybrać język interfejsu w stopce witryny 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
podczas wywoływania metod 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że być też nazywany regionem 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 może też ręcznie wybrać odpowiedni region treści w stopce witryny YouTube.Interfejs API obsługuje metodę wyświetlania listy obsługiwanych regionów treści. Obsługiwane kody regionów mogą być używane jako wartości parametru
regionCode
podczas wywoływania metod 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. Może ona na przykład zawierać najnowsze i najpopularniejsze filmy z kanału albo filmy z jednej lub kilku playlist.Interfejs API obsługuje metody tworzenia listy, wstawiania, aktualizowania i usuwania sekcji kanałów. Możesz pobrać listę sekcji 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 opisywały komunikaty o błędach, które interfejs API obsługuje w przypadku tych nowych metod.
-
Zaktualizowaliśmy definicję obiektu
fileDetails
zasobuvideo
, aby wyjaśnić, że ten obiekt będzie zwracany tylko wtedy, gdy właściwośćprocessingDetails.fileDetailsAvailability
filmu ma wartośćavailable
.Podobnie definicja obiektu
suggestions
zasobuvideo
została zaktualizowana, aby wyjaśnić, że ten obiekt będzie zwracany tylko wtedy, gdy właściwośćprocessingDetails.tagSuggestionsAvailability
filmu lub jego właściwośćprocessingDetails.editorSuggestionsAvailability
ma wartośćavailable
. -
Dokumentacja metod
videos.insert
ivideos.update
została zaktualizowana, aby uwzględnić informację o możliwości skonfigurowania właściwościstatus.publishAt
podczas wywoływania tych metod. -
Definicja obiektu
invideoPromotion
zasobuchannel
została zaktualizowana, aby wyjaśnić, że obiekt może pobrać tylko właściciel kanału. -
Lista parametrów metody
videos.rate
została zaktualizowana, aby uwzględniała fakt, że ta metoda nie obsługuje parametruonBehalfOfContentOwner
. To był 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ę zaplanowanego opublikowania filmu prywatnego. Tę właściwość można ustawić tylko wtedy, gdy stan prywatności filmu toprivate
i nie został on 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
w przypadku zasobówchannel
. Nowa część zawiera dane o kanale, które są istotne dla partnerów YouTube połączonych z kanałem, w tym identyfikator powiązanego z nim właściciela treści oraz datę i godzinę połączenia właściciela treści z kanałem. Uwaga: ta nowa część nie podlega zasadom wycofywania. -
W dokumentacji znajdziesz teraz informacje o maksymalnej dozwolonej długości znaków w przypadku tych właściwości:
Zasób Właściwość Maksymalna długość channel
invideoPromotion.items[].customMessage
40 znaków video
snippet.title
100 znaków video
snippet.description
5000 bajtów video
snippet.tags
500 znaków. Pamiętaj, że wartość właściwości ma postać listy i przecinki między elementami na liście 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 wstawienia lub aktualizowania filmu, dodano poniższe właściwości zasobu
video
: -
W dokumentacji błędów jest teraz określony 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ć częśćbrandingSettings
kanału i zmienić wartość właściwościbrandingSettings.channel.title
. Pamiętaj, że jeśli pominiesz tę właściwość, interfejs API nie zwróci błędu.badRequest (400)
invalidRecentlyUploadedBy
Metoda channels.update
zwraca ten błąd, jeśli właściwośćinvideoPromotion.items[].id.recentlyUploadedBy
określa nieprawidłowy identyfikator kanału.badRequest (400)
invalidTimingOffset
Metoda channels.update
zwraca ten błąd, jeśli częśćinvideoPromotion
określa nieprawidł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 produktu.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 zaplanowany czas publikacji.
4 marca 2014 r.
Ta aktualizacja zawiera następujące zmiany:
-
Interfejs YouTube Data API (wersja 3) podlega teraz zasadom wycofywania opisanym w Warunkach korzystania z interfejsów API YouTube. Pamiętaj, że strona z listą interfejsów API podlegających zasadom wycofywania wykluczyła z zasad niektóre funkcje interfejsów API w wersji 3.
5 grudnia 2013 r.
Ta aktualizacja zawiera następujące zmiany:
-
Dokumentacja metody
search.list
została zaktualizowana, aby odpowiednio zaznaczyć, że podczas przesyłania żądania wyszukiwania nie musisz określać wartości dokładnie 1 parametru filtra. Zamiast tego możesz ustawić wartość dla 0 parametrów filtra lub dla jednego parametru filtra. -
Definicje parametrów metody
search.list
zostały zaktualizowane, aby uwzględnić, że musisz ustawić wartość parametrutype
navideo
, jeśli podasz też wartość dowolnego z tych parametrów:eventType
videoCaption
videoCategoryId
videoDefinition
videoDimension
videoDuration
videoEmbeddable
videoLicense
videoSyndicated
videoType
-
Minimalny rozmiar przesyłanych obrazów na banerze kanału został zmniejszony do 2048 x 1152 piksele. (Wcześniej minimalny rozmiar wynosił 2120 x 1192 piksele). Zwróć też uwagę na to, że w dokumentacji zasobów
channel
podane są maksymalne rozmiary wszystkich obrazów banerów wyświetlanych przez interfejs API. Na przykład maksymalny rozmiar obrazubrandingSettings.image.bannerTvImageUrl
w przypadku aplikacji telewizyjnych to 2120 x 1192 piksele, a rzeczywisty obraz może mieć 2048 x 1152 piksele. Centrum pomocy YouTube zawiera dodatkowe wskazówki, jak zoptymalizować grafikę kanału pod kątem wyświetlania na różnych rodzajach urządzeń. -
Zaktualizowano 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. - Maksymalna długość właściwości
brandingSettings.channel.featuredChannelsTitle
wynosi 30 znaków. - Właściwość
brandingSettings.channel.featuredChannelsUrls[]
może teraz zawierać listę do 100 kanałów. - Wartość właściwości
brandingSettings.channel.unsubscribedTrailer
(jeśli jest ustawiona) musi określać identyfikator publicznego lub niepublicznego filmu w YouTube, który należy 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 podczas wyświetlania promocji będzie widoczna nazwa właściciela treści. Można go ustawić tylko wtedy, gdy żądanie do interfejsu API ustawiające wartość właściwości jest wykonywane 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 przyznaną przez Australian Classification Board (ACB) lub wydaną przez Australian Communications and Media Authority (ACMA) w przypadku programów telewizyjnych dla dzieci. -
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 francuskiego systemu ocen Régie du cinéma, który jest używany odpowiednio w Québecu. -
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 do tych metod:
activities.insert
(Idź)channelBanners.insert
(Python)channels.update
(Python)playlistItems.list
(Idź)search.list
(Idź)thumbnails.set
(Java)videos.insert
(Idź)
24 października 2013 r.
Ta aktualizacja zawiera następujące zmiany:
-
Interfejs API udostępnia dwie dodatkowe funkcje ułatwiające wyszukiwanie i promowanie transmisji na żywo:
Nowa właściwość
snippet.liveBroadcastContent
w wynikach wyszukiwania wskazuje, czy zasób filmu lub kanału zawiera treści transmitowane na żywo. Prawidłowe wartości właściwości toupcoming
,active
inone
.-
Nowa właściwość
snippet.liveBroadcastContent
zasobuvideo
wskazuje, czy film jest nadchodzącą czy aktywną transmisją na żywo. Możliwe wartości właściwości znajdziesz na liście poniżej:upcoming
– transmisja na żywo jest jeszcze nierozpoczęta.active
– film jest nadal transmitowany na żywo.none
– film nie jest nadchodzącą ani aktywną transmisją na żywo. Będzie to wartość właściwości w przypadku zakończonych transmisji, które nadal są widoczne w YouTube.
-
Nowa właściwość
liveStreamingDetails
zasobuvideo
to obiekt zawierający metadane dotyczące transmisji wideo na żywo. Aby pobrać te metadane, umieśćliveStreamingDetails
na liście części zasobów wartości parametrupart
. Metadane zawierają te nowe właściwości:liveStreamingDetails.actualStartTime
– godzina, o której rzeczywiście rozpoczęła się transmisja. Ta wartość będzie widoczna, gdy stan transmisji toactive
.liveStreamingDetails.actualEndTime
– godzina, o której transmisja faktycznie się zakończyła. (Ta wartość będzie widoczna po zakończeniu transmisji).liveStreamingDetails.scheduledStartTime
– godzina, o której ma się rozpocząć transmisja.liveStreamingDetails.scheduledEndTime
– godzina, o której zakończy się transmisja. Jeśli wartość właściwości jest pusta lub jej nie ma, transmisja jest zaplanowana na czas nieokreślony.liveStreamingDetails.concurrentViewers
– liczba osób oglądających transmisję na żywo.
Aby pobrać te metadane, podczas wywoływania metody
videos.list
,videos.insert
lubvideos.update
wstawliveStreamingDetails
w wartości parametrupart
.
Uwaga: 1 października 2013 roku udostępniliśmy dwie inne funkcje służące do identyfikowania treści transmisji na żywo – parametr
eventType
metodysearch.list
oraz właściwośćsnippet.liveBroadcastContent
wyniku wyszukiwania. -
-
Metoda
videos.insert
obsługuje teraz parametrnotifySubscribers
, który wskazuje, czy YouTube ma wysyłać powiadomienia o nowym filmie do użytkowników subskrybujących kanał tego filmu. Domyślna wartość tego parametru toTrue
, co oznacza, że subskrybenci będą powiadamiani o nowych 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 modyfikować podczas wywoływania metody
channels.update
, została zaktualizowana, aby zawierała właściwościinvideoPromotion.items[].customMessage
iinvideoPromotion.items[].websiteUrl
. Oprócz tego lista została zmodyfikowana, aby zidentyfikować właściwościbrandingSettings
, które można modyfikować. Te właściwościbrandingSettings
można już modyfikować, więc zmiana w dokumentacji nie odzwierciedla zmian w dotychczasowych 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 zmieniona, aby odzwierciedlała, ż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 powinien towarzyszyć osoba dorosła.mibacVm6
(V.M.6) – ograniczony 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 podczas wyświetlania promocji będzie wyświetlana nazwa właściciela treści. To pole można ustawić tylko wtedy, gdy żądanie do interfejsu API ustawiające wartość jest wykonywane 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 kanału, które sieć wielokanałowa (MCN) oceni podczas podejmowania decyzji o zaakceptowaniu lub odrzuceniu konkretnego kanału. Pamiętaj, że każde żądanie do interfejsu API, które pobiera tę część zasobu, musi dostarczyć token autoryzacji zawierający zakreshttps://www.googleapis.com/auth/youtubepartner-channel-audit
. Dodatkowo każdy token korzystający z tego zakresu musi zostać unieważniony, gdy sieć wielokanałowa zdecyduje się zaakceptować lub odrzucić kanał albo w ciągu 2 tygodni od daty jego wystawienia. -
Właściwość
invideoPromotion.items[].id.type
zasobuchannel
obsługuje teraz wartośćrecentUpload
, która wskazuje, że promowany element to ostatnio przesłany film z określonego kanału.Domyślnie jest to kanał, dla którego ustawiono dane promocji In-Video. Możesz jednak promować ostatnio przesłany film z innego kanału, ustawiając wartość nowej usługi
invideoPromotion.items[].id.recentlyUploadedBy
na identyfikator tego kanału. -
Zasób
channel
zawiera trzy nowe właściwości –brandingSettings.image.bannerTvLowImageUrl
,brandingSettings.image.bannerTvMediumImageUrl
ibrandingSettings.image.bannerTvHighImageUrl
– które określają adresy URL obrazów banera wyświetlanych na stronach kanałów w aplikacjach telewizyjnych. -
Nowa właściwość
snippet.liveBroadcastContent
w wynikach wyszukiwania wskazuje, czy zasób filmu lub kanału zawiera treści transmitowane na żywo. Prawidłowe wartości właściwości toupcoming
,active
inone
.- W przypadku zasobu
video
wartośćupcoming
oznacza, że transmisja na żywo jest jeszcze nierozpoczęta, a wartośćactive
oznacza, że trwa 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 transmisja na żywo.
- W przypadku zasobu
-
W zasobie
watermark
właściwośćtargetChannelId
zmieniła się z obiektu na 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 została usunięta właściwośćtargetChannelId.value
tego 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 tak, aby zwracało tylko aktywne, nadchodzące lub zakończone transmisje. -
Nowa właściwość
contentDetails.contentRating.mibacRating
wskazuje ocenę, jaką film otrzymał od włoskiego Ministera dei Beni e delle Attivita Culturei e del Turismo. -
Interfejs API obsługuje teraz następujące błędy:
Typ błędu Szczegóły błędu Opis badRequest
invalidImage
Metoda thumbnails.set
zwraca ten błąd, jeśli podana treść obrazu jest nieprawidłowa.forbidden
videoRatingDisabled
Metoda videos.rate
zwraca ten błąd, jeśli właściciel ocenianego filmu wyłączył możliwość oceny tego filmu.
27 sierpnia 2013 r.
Ta aktualizacja zawiera następujące zmiany:
-
Nowy zasób
watermark
określa obraz, który wyświetla się podczas odtwarzania filmów z konkretnego kanału. Możesz też określić kanał docelowy, do którego będzie prowadzić obraz. Możesz też określić czas, który określa, kiedy znak wodny pojawi się podczas odtwarzania filmu i jak długo jest widoczny.Metoda
watermarks.set
przesyła i ustawia obraz znaku wodnego kanału. Metodawatermarks.unset
usuwa obraz wodny umieszczony na kanale.W dokumentacji o błędach opisano komunikaty o błędach, które interfejs API obsługuje w przypadku metod
watermarks.set
iwatermarks.unset
. -
Nowa właściwość
statistics.hiddenSubscriberCount
zasobuchannel
zawiera wartość logiczną, która wskazuje, czy liczba subskrybentów kanału jest ukryta. Dlatego też wartość właściwości wynosifalse
, jeśli liczba subskrybentów kanału jest widoczna publicznie. -
Metoda
playlists.list
obsługuje teraz parametryonBehalfOfContentOwner
ionBehalfOfContentOwnerChannel
. Oba te 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
. Jego wartością 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 wielu metod interfejsu API:Typ błędu Szczegóły błędu Opis forbidden
insufficientPermissions
Zakresy powiązane z tokenem OAuth 2.0 podanym na potrzeby żądania są niewystarczające, aby uzyskać dostęp do żądanych danych.
15 sierpnia 2013 r.
Ta aktualizacja zawiera następujące zmiany:
-
Obiekt
invideoPromotion
zasobuchannel
ma te nowe i zaktualizowane właściwości:-
Interfejs API obsługuje teraz możliwość wskazania witryny jako promowanego produktu. W tym celu ustaw wartość właściwości
invideoPromotion.items[].id.type
nawebsite
i użyj nowej właściwościinvideoPromotion.items[].id.websiteUrl
do określenia adresu URL. Użyj też nowej właściwościinvideoPromotion.items[].customMessage
, aby zdefiniować niestandardowy komunikat wyświetlany w przypadku promocji.Linki mogą prowadzić do powiązanych witryn, stron sprzedawców lub witryn społecznościowych. Aby dowiedzieć się więcej o włączaniu linków do treści, zapoznaj się z instrukcjami w Centrum pomocy YouTube dotyczącymi powiązanych witryn i stron sprzedawców.
Dodając linki promocyjne, zgadzasz się, by nie przekierowywały one użytkowników do nieautoryzowanych witryn oraz że nie naruszają one zasad AdWords, zasad dotyczących reklam w YouTube, wytycznych dla społeczności YouTube oraz Warunków korzystania z usługi YouTube.
-
Zmieniliśmy strukturę właściwości związanych 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 czasu dla każdego promowanego produktu na liścieinvideoPromotion.items[]
. -
Nowy obiekt
invideoPromotion.defaultTiming
określa domyślne ustawienia czasu promocji. Te ustawienia określają, kiedy promowany produkt będzie wyświetlany podczas odtwarzania jednego z filmów na Twoim kanale. Możesz zastąpić domyślny czas dla każdego promowanego produktu za pomocą obiektuinvideoPromotion.items[].timing
. -
Nowa właściwość
invideoPromotion.items[].timing.durationMs
określa czas (w milisekundach), przez jaki promocja powinna być wyświetlana. 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 te 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 do 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)
Uwaga: usunęliśmy również przykładowy kod w Pythonie dotyczący metody
playlistItems.insert
, ponieważ przedstawiona funkcja jest teraz obsługiwana przez metodęvideos.rate
. -
Pole
error documentation
opisuje nowy błąd kontekstu żądania, który może wystąpić w przypadku dowolnej metody interfejsu API obsługującej 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. Usuń parametrmine
, usuń parametronBehalfOfContentOwner
, aby uwierzytelnić się jako użytkownik YouTube, albo skorzystaj z funkcji jednego z kanałów partnera, podając parametronBehalfOfContentOwnerChannel
, jeśli jest dostępny dla wywoływanej metody.
8 sierpnia 2013 r.
Ta aktualizacja zawiera następujące zmiany:
-
Sekcja Pierwsze kroki z interfejsem YouTube Data API w przewodniku Wykorzystanie limitu została zaktualizowana w celu uwzględnienia zmiany kosztu przesyłania filmów z około 16 000 do około 1600 jednostek.
30 lipca 2013 r.
Ta aktualizacja zawiera następujące zmiany:
-
W zasobie
channelBanner
wartość właściwościkind
zmieniła się zyoutube#channelBannerInsertResponse
nayoutube#channelBannerResource
. Ten zasób jest zwracany w odpowiedzi na żądaniechannelBanners.insert
. -
Nowa właściwość
brandingSettings.channel.profileColor
zasobuchannel
określa kolor, który pasuje do treści kanału. Wartość właściwości to znak funta (#
), po którym następuje sześcioznakowy ciąg szesnastkowy, np.#2793e6
. -
Interfejs API pozwala teraz określić, czy subskrypcja dotyczy wszystkich aktywności na kanale, czy tylko nowych filmów. Nowa właściwość
contentDetails.activityType
zasobusubscription
określa typy aktywności, o których subskrybent będzie powiadamiany. Prawidłowe wartości właściwości toall
iuploads
. -
Metoda
videos.list
obsługuje nowe parametry pobierania wykresu najpopularniejszych filmów w YouTube:- Parametr
chart
wskazuje wykres, który chcesz pobrać. Obecnie jedyną obsługiwaną wartością jestmostPopular
. Pamiętaj, że parametrchart
jest parametrem filtra, co oznacza, że nie można go używać w tym samym żądaniu co innych parametrów filtra (id
imyRating
). - Parametr
videoCategoryId
określa kategorię filmu, 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 związanych z filmem lub jego treścią. Tematy poruszane w filmach mogą pojawiać się w filmach lub pojawiać się w nich. -
Nazwa właściwości
recordingDetails.location.elevation
zasobuvideo
została zmieniona narecordingDetails.location.altitude
, a jej właściwośćfileDetails.recordingLocation.location.elevation
– nafileDetails.recordingLocation.location.altitude
. -
Obiekt
contentDetails.contentRating
zasobuvideo
określa oceny, które film otrzymał w ramach różnych schematów klasyfikacji, w tym MPAA, TVPG itd. Dla każdego systemu ocen interfejs API obsługuje teraz wartość oceny, która wskazuje, że film nie został oceniony. Pamiętaj, że w przypadku ocen MPAA często używa się oceny „bez oceny”, aby identyfikować nieedytowane wersje filmów, w przypadku których wycięta wersja filmu otrzymała oficjalną ocenę. -
Nowa właściwość
contentDetails.contentRating.ytRating
zasobuvideo
identyfikuje treści z ograniczeniami wiekowymi. Wartość tej właściwości równa sięytAgeRestricted
, jeśli YouTube uzna, że film zawiera treści nieodpowiednie dla użytkowników poniżej 18 roku życia. Jeśli brak właściwości lub wartość właściwości jest pusta, treści nie zostały oznaczone jako objęte ograniczeniem wiekowym. -
Parametr
mySubscribers
metodychannels.list
został wycofany. Użyj metodysubscriptions.list
i jej parametrumySubscribers
, aby pobrać listę subskrybentów kanału uwierzytelnionego użytkownika. -
Metody
channelBanners.insert
,channels.update
,videos.getRating
ivideos.rate
obsługują teraz parametronBehalfOfContentOwner
. Wskazuje on, że uwierzytelniony użytkownik działa w imieniu właściciela treści określonego w jego wartości. -
Dokumentacja metody
channels.update
została zaktualizowana, aby uwzględnić fakt, że tej metody można używać do aktualizowania obiektubrandingSettings
zasobuchannel
i jego właściwości podrzędnych. W dokumentacji znajduje się też zaktualizowana lista właściwości, które możesz ustawić w obiekcieinvideoPromotion
zasobuchannel
. -
W dokumencie
error documentation
opisano te nowe błędy:Typ błędu Szczegóły błędu Opis forbidden
accountDelegationForbidden
Ten błąd nie dotyczy konkretnej metody interfejsu API. Wskazuje on, że uwierzytelniony użytkownik nie ma uprawnień do działania w imieniu podanego konta Google. forbidden
authenticatedUserAccountClosed
Ten błąd nie dotyczy konkretnej metody interfejsu API. Wskazuje on, że konto YouTube uwierzytelnionego użytkownika jest zamknięte. Jeśli użytkownik działa w imieniu innego konta Google, ten błąd oznacza, że to konto jest zamknięte. forbidden
authenticatedUserAccountSuspended
Ten błąd nie dotyczy konkretnej metody interfejsu API. Oznacza to, że konto YouTube uwierzytelnionego użytkownika jest zawieszone. Jeśli użytkownik działa w imieniu innego konta Google, ten błąd oznacza, że to konto jest zawieszone. forbidden
authenticatedUserNotChannel
Ten błąd nie dotyczy konkretnej metody interfejsu API. Wskazuje on, że serwer API nie może zidentyfikować kanału powiązanego z żądaniem do interfejsu API. Jeśli żądanie jest autoryzowane i używa parametru onBehalfOfContentOwner
, musisz też ustawić parametronBehalfOfContentOwnerChannel
.forbidden
cmsUserAccountNotFound
Ten błąd nie dotyczy konkretnej metody interfejsu API. Użytkownik systemu 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 wskazanego konta właściciela treści. badRequest
invalidPart
Ten błąd nie dotyczy konkretnej metody interfejsu API. Parametr part
żądania określa fragmenty, których nie można zapisać w tym samym czasie.badRequest
videoChartNotFound
Metoda videos.list
zwraca ten błąd, gdy żądanie określa nieobsługiwany lub niedostępny wykres wideo.notFound
videoNotFound
Metoda videos.update
zwraca ten błąd, aby wskazać, że nie można znaleźć filmu, którego 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, aby zwracał wyniki dotyczące określonego kraju. YouTube używa tej wartości, gdy poprzednia aktywność autoryzowanego użytkownika w YouTube nie zapewnia wystarczających informacji do wygenerowania obszaru 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 playlist podczas wywoływania metodyplaylists.insert
lubplaylists.update
. -
Parametr
onBehalfOfContentOwner
, który był wcześniej obsługiwany w przypadku metodchannels.list
isearch.list
, jest teraz obsługiwany także w przypadku metodvideos.insert
,videos.update
ivideos.delete
. Pamiętaj, że gdy ten parametr jest używany w wywołaniu metodyvideos.insert
, żądanie musi też określać wartość nowego parametruonBehalfOfContentOwnerChannel
, która identyfikuje kanał, do którego ma zostać dodany film. Kanał musi być połączony z właścicielem treści określonym w parametrzeonBehalfOfContentOwner
.Parametr wskazuje, że dane uwierzytelniające żądanie identyfikują 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 uwierzytelnia się, musi być powiązane z określonym właścicielem treści YouTube.
Jest on przeznaczony dla dostawców treści, którzy są właścicielami wielu różnych kanałów YouTube i zarządzają nimi. Ten parametr umożliwia partnerom jednorazowe uwierzytelnienie się i uzyskanie dostępu do wszystkich danych dotyczących filmów i kanałów bez konieczności podawania danych uwierzytelniających dla każdego kanału.
W szczególności w przypadku tej wersji parametr umożliwia partnerom w zakresie treści wstawianie, aktualizowanie i usuwanie filmów na dowolnym kanale YouTube, który do niego należy.
-
W dokumencie
error documentation
opisano te nowe błędy:Typ błędu Szczegóły błędu Opis forbidden
insufficientCapabilities
Ten błąd nie dotyczy konkretnej metody interfejsu API. Wskazuje on, że użytkownik systemu CMS wywołujący interfejs API nie ma wystarczających uprawnień do wykonania żądanej operacji. Ten błąd jest związany z użyciem parametru onBehalfOfContentOwner
, który jest obsługiwany przez kilka metod interfejsu API.unauthorized
authorizationRequired
Metoda activities.list
zwraca ten błąd, gdy żądanie używa parametruhome
, ale nie jest prawidłowo autoryzowane. -
W zasobie
channels
właściwośćinvideoPromotion.channelId
została usunięta, ponieważ identyfikator kanału został już określony za pomocą właściwościid
zasobu. -
Nowy przewodnik Praca z identyfikatorami kanałów wyjaśnia, jak interfejs API wykorzystuje identyfikatory kanałów. Przewodnik może być szczególnie przydatny dla programistów, którzy przechodzą z poprzedniej wersji interfejsu API i mają aplikacje, które wysyłają żądania treści w imieniu użytkownika
default
, lub opierają się na założeniu, że każdy kanał YouTube ma unikalną nazwę użytkownika, co jest już niezgodne z 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 zmodyfikować podczas jej wywoływania. -
W dokumentacji zasobów
video
nie jest już podanaunspecified
jako prawidłowa wartość właściwościsuggestions.processingErrors[]
,suggestions.processingHints[]
,suggestions.processingWarnings[]
anisuggestions.editorSuggestions[]
. -
Parametr
maxResults
metodyvideos.list
ma teraz wartość domyślną5
. -
error documentation
zawiera teraz błędy metodchannelBanners.insert
isubscriptions.list
. Znajdziesz w nim też kilka nowych błędów dla metodychannels.update
.
14 maja 2013 r.
Ta aktualizacja zawiera następujące zmiany:
-
Na samodzielnych stronach znajduje się teraz lista przykładów kodu w językach Java, .NET, PHP i Ruby.
-
Strona z przykładami kodu w języku Python zawiera teraz przykłady dodawania subskrypcji, tworzenia playlisty i aktualizowania filmu.
10 maja 2013 r.
Ta aktualizacja zawiera następujące zmiany:
-
YouTube nie identyfikuje już eksperymentalnych funkcji ani usług interfejsu API. Zamiast tego przedstawiamy 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. Właściciel kanału może wykorzystać kampanię promocyjną w filmie, aby wyświetlać miniatury promowanego filmu w odtwarzaczu podczas odtwarzania filmów na kanale.Te dane możesz pobrać, umieszczając w żądaniu
channels.list
parametrinvideoPromotion
jako wartość parametrupart
. -
Nowa metoda
channels.update
może służyć do aktualizowania danych dotyczących kampanii promocyjnych In-Video na kanale. Pamiętaj, że ta metoda obsługuje tylko aktualizacjeinvideoPromotion
części zasobuchannel
, a nie obsługuje jeszcze aktualizacji innych części tego zasobu.
2 maja 2013 r.
Ta aktualizacja zawiera następujące zmiany:
-
Zasoby kanału obsługują teraz właściwość
status.isLinked
, która wskazuje, czy dane kanału identyfikują użytkownika, który jest już powiązany z nazwą użytkownika YouTube czy kontem Google+. Użytkownik posiadający jeden z tych linków ma już publiczną tożsamość w YouTube, co jest warunkiem wstępnym wykonania kilku czynności, takich jak przesłanie filmów. -
Zasoby dotyczące subskrypcji obsługują teraz część
subscriberSnippet
. Ten wewnątrz obiektu znajduje się w skrócie danych kanału subskrybenta. -
Interfejs API obsługuje teraz metodę
videos.getRating
, która pobiera oceny wystawione przez uwierzytelnionego użytkownika listy co najmniej 1 filmu. -
Nowy parametr
myRating
metodyvideos.list
umożliwia pobieranie listy filmów, które uwierzytelniony użytkownik ocenił jakolike
lubdislike
.Parametry
myRating
iid
są teraz uznawane za parametry filtra, co oznacza, że żądanie API musi określać dokładnie 1 z nich. Wcześniej parametrid
był wymagany w przypadku tej metody.Ta metoda zwraca błąd
forbidden
w przypadku żądań, które próbują pobrać informacje o ocenach wideo, ale nie zostały do tego prawidłowo autoryzowane. -
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 stron nie są obsługiwane w przypadku żądań korzystających z parametruid
.-
Parametr
maxResults
określa maksymalną liczbę filmów, które interfejs API może zwrócić w zbiorze wyników. ParametrpageToken
wskazuje w zestawie wyników konkretną stronę, którą chcesz pobrać. -
Zasób
youtube#videoListResponse
zwracany w odpowiedzi na żądanievideos.list
zawiera teraz obiektpageInfo
z takimi informacjami jak łączna liczba wyników i 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 służący do pobierania konkretnej strony z zestawu wyników.
-
-
Metoda
videos.insert
obsługuje te nowe parametry:autoLevels
– ustaw wartość tego parametru natrue
, aby automatycznie poprawić oświetlenie i kolory w filmie.stabilize
– ustaw tę wartość natrue
, by poinformować YouTube, że ma dostosowywać film przez usunięcie drgań wynikających z ruchów kamery.
-
Do interfejsu
snippet
dodano właściwośćchannelTitle
dla tych zasobów:playlistItem
– właściwość określa nazwę kanału, do którego dodano element do playlisty.playlist
– właściwość określa nazwę kanału, który utworzył playlistę.subscription
– właściwość określa nazwę kanału, który subskrybujesz.
-
Dodaliśmy przykłady kodu do tych metod:
activities.insert
(rubin)playlistItems.list
(.NET)search.list
(.NET)subscriptions.insert
(Java, rubin)videos.insert
(.NET, Ruby)
-
Nowy parametr
mySubscribers
metodysubscriptions.list
umożliwia pobieranie listy subskrybentów aktualnie uwierzytelnionych użytkownika. Tego parametru można używać tylko w prawidłowo autoryzowanym żądaniu.Uwaga: ta funkcja ma na celu zastąpienie parametru
mySubscribers
, który jest obecnie obsługiwany w przypadku metodychannels.list
. Ten parametr zostanie wycofany. -
W zasobie
video
wartość właściwościunspecified
nie jest już możliwą wartością w przypadku żadnej z tych właściwości: -
Żądania do interfejsu API, które zawierają nieoczekiwany parametr, zwracają teraz błąd
badRequest
, a zgłoszona przyczyna błędu tounexpectedParameter
. -
Błąd zwracany przez metodę
playlistItems.insert
, gdy playlista zawiera już maksymalną liczbę dozwolonych elementów. Błąd jest teraz zgłaszany jako błądforbidden
, a jego przyczyna toplaylistContainsMaximumNumberOfVideos
.
19 kwietnia 2013 r.
Ta aktualizacja zawiera następujące zmiany:
-
Nowa metoda
videos.rate
pozwala użytkownikowi ustawić ocenę filmu (like
lubdislike
) lub usunąć z niego ocenę.Zaktualizowaliśmy też dokumentację błędów, by zawierała listę błędów, które interfejs API może zwrócić w odpowiedzi na wywołanie metody
videos.rate
. -
Miniatury są teraz identyfikowane w dokumentacji interfejsu API jako oddzielne zasoby, a nowa metoda
thumbnails.set
umożliwia przesłanie niestandardowej miniatury filmu do YouTube i ustawienie jej dla filmu.Zaktualizowaliśmy też dokumentację błędów, by zawierała listę błędów, które interfejs API może zwrócić w odpowiedzi na wywołanie metody
thumbnails.set
.Pamiętaj, że ta zmiana nie ma żadnego wpływu na istniejące zasoby, które zwracają miniatury obrazów. Miniatury obrazów są zwracane w tych zasobach w taki sam sposób jak wcześniej, ale w dokumentacji wymienione są teraz nazwy różnych rozmiarów miniatur, które może zwracać interfejs API.
-
Nowa część zasobu
channel
(brandingSettings
) określa ustawienia, tekst i obrazy na stronie kanału oraz 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ścistatus.privacyStatus
określa stan prywatności tego elementu.
-
-
Zasób
video
zawiera te nowe właściwości:-
Właściwość
status.publicStatsViewable
wskazuje, czy rozszerzone statystyki filmu na stronie odtwarzania filmu są dostępne publicznie. Domyślnie te statystyki są widoczne, a statystyki, takie jak liczba wyświetleń i oceny filmu, będą nadal widoczne publicznie, nawet jeśli wartość tej właściwości tofalse
. 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 oceniania. Poniższa lista przedstawia obsługiwane systemy ocen i zawiera link do właściwości powiązanej z każdym systemem. Definicje właściwości określają obsługiwane wartości ocen w poszczególnych systemach.Kraj System ocen Właściwość Stany Zjednoczone Stowarzyszenie 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 Canadian Home Video Rating System (CHVRS) contentDetails.contentRating.chvrsRating
Francja Centre National du cinéma et de l'image animée (francuskie Ministerstwo Kultury) contentDetails.contentRating.fmocRating
Niemcy Freiwillige Selbstkontrolle der Filmwirtschaft (FSK) contentDetails.contentRating.fskRating
Wielka Brytania British Board of Film Classification (BBFC) contentDetails.contentRating.bbfcRating
Indie Certyfikat Central Board of Film Certification (CBFC) contentDetails.contentRating.cbfcRating
Japonia 映倫管理委す会 (EIRIN) contentDetails.contentRating.eirinRating
Korea Południowa 영시물엔즈비전 (KMRB) contentDetails.contentRating.kmrbRating
Meksyk Dyrektoriat Generalny ds. Radia, Telewizji i Kinematografii (RTC) contentDetails.contentRating.rtcRating
Nowa Zelandia Biuro Klasyfikacji Filmu i Literii contentDetails.contentRating.oflcRating
Rosja Krajowy Rejestr Filmów Federacji Rosyjskiej contentDetails.contentRating.russiaRating
Hiszpania Instituto de la Cinematografía y de las Artes Audio weryfikację (ICAA) contentDetails.contentRating.icaaRating
-
-
Dokumentacja metody
playlistItems.update
została zaktualizowana, aby uwzględnić fakt, że właściwośćsnippet.resourceId
musi być określona w zasobie wysłanym jako treść żądania. -
Metoda
search.list
obsługuje teraz te funkcje:-
Nowy parametr
forMine
ogranicza wyszukiwanie tylko do filmów pochodzących od uwierzytelnionego użytkownika. -
Parametr
order
umożliwia teraz sortowanie wyników alfabetycznie według tytułu (order=title
) lub liczby filmów w porządku malejącym (order=videoCount
). -
Nowy parametr
safeSearch
wskazuje, czy wyniki wyszukiwania powinny zawierać treści podlegające ograniczeniom.
-
-
Metoda
videos.insert
obsługuje kilka nowych błędów wymienionych w tabeli poniżej:Typ błędu Szczegóły błędu Opis badRequest
invalidCategoryId
Właściwość snippet.categoryId
określa nieprawidłowy identyfikator kategorii. Aby pobrać obsługiwane kategorie, użyj metodyvideoCategories.list
.badRequest
invalidRecordingDetails
metadata specifies invalid recording details.
badRequest
invalidVideoGameRating
Metadane żądania określają nieprawidłową ocenę gry wideo. badRequest
invalidVideoMetadata
Metadane żądania są nieprawidłowe. -
Parametr
onBehalfOfContentOwner
został usunięty z listy obsługiwanych parametrów dla metodvideos.update
ivideos.delete
.
12 marca 2013 r.
Ta aktualizacja zawiera następujące zmiany:
-
Do interfejsu
snippet
dodano właściwośćchannelTitle
dla tych zasobów: -
Metoda
search.list
obsługuje te nowe parametry:-
Parametr
channelType
pozwala ograniczyć wyszukiwanie kanałów w celu pobrania wszystkich kanałów lub tylko programów i programów. -
Parametr
videoType
pozwala ograniczyć wyszukiwanie filmów w celu pobrania wszystkich filmów albo tylko filmów bądź odcinków programów.
-
-
Definicja części
recordingDetails
zasobuvideo
została zaktualizowana, aby uwzględnić, że w przypadku filmu obiekt będzie zwracany tylko wtedy, gdy ustawiono dane geolokalizacyjne 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 kodu. -
Kilka metod interfejsu API obsługuje nowe parametry, które są przeznaczone wyłącznie dla dostawców treści w YouTube. Do partnerów YouTube w zakresie treści należą 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 żądanie identyfikują 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 uwierzytelnia się, musi być powiązane z określonym właścicielem treści YouTube.Jest on przeznaczony dla dostawców treści, którzy są właścicielami wielu różnych kanałów YouTube i zarządzają nimi. Ten parametr umożliwia partnerom jednorazowe uwierzytelnienie się i uzyskanie dostępu do wszystkich danych dotyczących filmów i kanałów 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
, informuje interfejs API, aby zwracał wszystkie kanały należące do właściciela treści, które są określone w parametrzeonBehalfOfContentOwner
. -
Parametr
forContentOwner
, który jest obsługiwany przez metodęsearch.list
, powoduje, że interfejs API ogranicza wyniki wyszukiwania tylko do zasobów należących 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 części
fileDetails
,processingDetails
isuggestions
dostarczają właścicielom filmów informacji o przesłanych przez nich filmach. Dane te są bardzo przydatne w aplikacjach, które umożliwiają przesyłanie filmów, i obejmują:- stan i postęp przetwarzania
- błędów lub innych problemów napotkanych podczas przetwarzania filmu
- dostępność miniaturek
- sugestie dotyczące poprawy jakości filmu lub metadanych.
- szczegółowe informacje na temat oryginalnego pliku przesłanego do YouTube;
Wszystkie te części może pobrać tylko właściciel filmu. Poniższa lista zawiera krótkie opisy nowych części, a w dokumentacji zasobów
video
zdefiniowane są wszystkie właściwości zawarte w każdej z nich.-
Obiekt
fileDetails
zawiera informacje o pliku wideo przesłanym do YouTube, w tym jego rozdzielczość, czas trwania, kodeki audio i wideo, szybkość transmisji bitów strumienia i inne dane. -
Obiekt
processingProgress
zawiera informacje o postępach przetwarzania przesłanego przez YouTube pliku wideo przez YouTube. Właściwości obiektu określają obecny stan przetwarzania i określają czas, jaki pozostał do zakończenia przetwarzania filmu przez YouTube. Ta część informuje też, czy dla filmu dostępne są różne typy danych lub treści, np. szczegóły pliku lub miniatury.Ten obiekt jest przeznaczony do ankietowania, dzięki czemu osoba, która przesłała film, może śledzić postępy w przetwarzaniu przesłanego przez YouTube pliku wideo.
-
Obiekt
suggestions
zawiera sugestie, które wskazują możliwości poprawy jakości przesłanego filmu lub jego metadanych.
-
Część
contentDetails
zawiera 4 nowe właściwości. Te właściwości można pobierać za pomocą nieuwierzytelnionych żądań.dimension
– wskazuje, czy film jest dostępny w 2D czy 3D.definition
– wskazuje, czy film jest dostępny w standardowej czy wysokiej rozdzielczości.caption
– wskazuje, czy w filmie dostępne są 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ą ustawić wartości dla obu właściwości podczas wstawiania lub aktualizowania filmu. Te właściwości można też pobierać za pomocą żądań nieuwierzytelnionych.embeddable
– wskazuje, czy film można umieszczać na innej stronie.license
– określa licencję filmu. Prawidłowe wartości tocreativeCommon
iyoutube
.
-
-
Definicja parametru
part
została zaktualizowana w przypadku metodvideos.list
,videos.insert
ivideos.update
, aby uwzględnić nowo dodane elementy opisane powyżej oraz częśćrecordingDetails
, która została przypadkowo pominięta. -
Nowa właściwość
contentDetails.googlePlusUserId
zasobuchannel
określa identyfikator profilu Google+ powiązanego z kanałem. Ta wartość umożliwia wygenerowanie linku do profilu Google+. -
Każdy obiekt obrazu miniatury określa teraz szerokość i wysokość obrazu. Miniatury obrazów 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
do pobierania tylko tych elementów playlisty, które reprezentują określony film.Jeśli interfejsu API nie można znaleźć na playliście, interfejs API zwraca błąd
notFound
. -
W dokumentacji błędu opisano nowy błąd
forbidden
, który oznacza, że żądanie nie jest prawidłowo autoryzowane dla żądanego działania. -
Właściwość
snippet.channelId
zasobuchannel
została usunięta. Właściwośćid
zasobu podaje tę samą wartość.
30 stycznia 2013 r.
Ta aktualizacja zawiera następujące zmiany:
-
Nowa strona błędu zawiera listę błędów, które może zwrócić interfejs API. Strona zawiera błędy ogólne, które mogą występować w przypadku wielu różnych metod interfejsu API, a także błędy dotyczące konkretnych metod.
16 stycznia 2013 r.
Ta aktualizacja zawiera następujące zmiany:
-
Na tej liście są teraz dostępne przykładowe kody dla metod i języków:
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łosić działaniechannelItem
, które ma miejsce, gdy YouTube doda film do automatycznie wygenerowanego kanału YouTube. (YouTube wykorzystuje algorytm, aby identyfikować tematy, które cieszą się dużą popularnością w YouTube, i automatycznie generuje dla nich kanały). -
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 opisano poniżej.
- Parametr
-
Metoda
search.list
obsługuje te nowe parametry:Nazwa parametru Wartość Opis channelId
string
Zwraca zasoby utworzone przez określony kanał. publishedAfter
datetime
Zwraca zasoby utworzone po określonym czasie. publishedBefore
datetime
Zwraca zasoby utworzone przed podanym czasem. regionCode
string
Zwróć zasoby dla określonego kraju. videoCategoryId
string
Filtruj wyniki wyszukiwania filmów, aby uwzględnić tylko filmy powiązane z określoną kategorią. videoEmbeddable
string
Filtruj wyniki wyszukiwania filmów, aby uwzględniać tylko te filmy, które można odtwarzać w osadzonym odtwarzaczu na stronie internetowej. Ustaw wartość tego parametru na true
, aby pobrać tylko filmy możliwe do umieszczenia.videoSyndicated
string
Filtruj wyniki wyszukiwania filmów, aby uwzględnić tylko filmy, które można odtwarzać poza YouTube.com. Ustaw wartość parametru na true
, aby pobrać tylko filmy redystrybuowane. -
Kilka zasobów interfejsu API obsługuje nowe właściwości. Tabela poniżej przedstawia zasoby i ich nowe właściwości:
Zasób nazwa usługi, Wartość Opis activity
contentDetails.playlistItem.playlistItemId
string
Identyfikator elementu playlisty przypisany przez YouTube do jednoznacznego identyfikowania elementu na playliście. 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 czy playlista. Zawiera też dokładnie jedną z kilku właściwości –videoId
,playlistId
itd. – która określa identyfikator jednoznacznie identyfikujący ten zasób.channel
status
object
Zawiera on 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 zawartości playlisty. playlist
contentDetails.itemCount
unsigned integer
Liczba filmów na playliście. playlist
player
object
Ten obiekt zawiera informacje, które pozwalają odtworzyć playlistę w odtwarzaczu umieszczonym na stronie. playlist
player.embedHtml
string
Tag <iframe>
, który zawiera odtwarzacz wideo, który odtwarza playlistę.video
recordingDetails
object
Zawiera on informacje identyfikujące lub opisujące 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 lokalizacji, w której nagrano film. video
recordingDetails.recordingDate
datetime
Data i godzina nagrania filmu. Wartość należy podać w formacie ISO 8601 ( YYYY-MM-DDThh:mm:ss.sZ
). -
Dokumentacja kilku metod interfejsu API wskazuje teraz właściwości, które muszą być określone w treści żądania lub aktualizowane na podstawie wartości w treści żądania. W tabeli poniżej znajdziesz te metody oraz właściwości wymagane i możliwe do modyfikacji.
Uwaga: dokumentacja innych metod może już zawierać listę wymaganych i możliwych do modyfikacji właściwości.
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
w przypadku próby utworzenia lub zaktualizowania playlisty, która ma taki sam tytuł jak playlista, która już istnieje na tym kanale. -
Kilka metod interfejsu API obsługuje nowe typy błędów. Poniższa tabela przedstawia metodę i nowo obsługiwane błędy:
Metoda Typ błędu Szczegóły błędu Opis guideCategories.list
notFound
notFound
Nie udało się znaleźć kategorii przewodnika wskazana przez parametr id
. Aby pobrać listę prawidłowych wartości, użyj metody guideCategories.list.playlistItems.delete
forbidden
playlistItemsNotAccessible
Żądanie nie ma prawidłowej autoryzacji do usunięcia określonego elementu playlisty. videoCategories.list
notFound
videoCategoryNotFound
Nie udało się znaleźć kategorii filmu określonej przez parametr id
. Aby pobrać listę prawidłowych wartości, użyj metody videoCategories.list.