Omówienie interfejsu YouTube Data API

Wprowadzenie

Ten dokument jest przeznaczony dla programistów, którzy chcą tworzyć aplikacje współpracujące z YouTube. Wyjaśnia podstawowe koncepcje dotyczące YouTube i samego interfejsu API. Zawiera też omówienie różnych funkcji obsługiwanych przez interfejs API.

Zanim rozpoczniesz

  1. Aby uzyskać dostęp do konsoli interfejsów API Google, poprosić o klucz interfejsu API i zarejestrować aplikację, musisz mieć konto Google.

  2. Utwórz projekt w Google Developers Consoleuzyskaj dane logowania, aby Twoja aplikacja mogła przesyłać żądania do interfejsu API.

  3. Po utworzeniu projektu sprawdź, czy interfejs YouTube Data API jest jedną z usług, do których używania zarejestrowana jest Twoja aplikacja:

    1. Otwórz Konsolę interfejsów API i wybierz projekt, który został zarejestrowany.
    2. Otwórz stronę włączonych interfejsów API. Na liście interfejsów API sprawdź, czy stan YouTube Data API v3 to WŁĄCZONY.

  4. Jeśli Twoja aplikacja ma wykorzystywać którąś z metod API, które wymagają autoryzacji użytkownika, przeczytaj przewodnik dotyczący autoryzacji, aby dowiedzieć się, w jaki sposób zaimplementować protokół OAuth 2.0.

  5. Wybierz bibliotekę klienta, aby ułatwić sobie implementację interfejsu API.

  6. Zapoznaj się z podstawowymi pojęciami dotyczącymi formatu danych JSON (JavaScript Object Notation). JSON to popularny, niezależny od języka format danych, który zapewnia prostą tekstową reprezentację dowolnych struktur danych. Więcej informacji znajdziesz na stronie json.org.

Zasoby i typy zasobów

Zasób to pojedynczy obiekt danych z unikalnym identyfikatorem. W tabeli poniżej znajdziesz opis różnych typów zasobów, z którymi możesz wchodzić w interakcje za pomocą interfejsu API.

Zasoby
activity Zawiera informacje o działaniu, które dany użytkownik wykonał w witrynie YouTube. Działania użytkowników, które są zgłaszane w strumieniach aktywności, to m.in. ocena filmu, udostępnienie filmu, oznaczenie filmu jako ulubionego i opublikowanie biuletynu kanału.
channel Zawiera informacje o pojedynczym kanale w YouTube.
channelBanner Określa adres URL, który ma być używany do ustawienia nowo przesłanego obrazu jako banera kanału.
channelSection Zawiera informacje o zestawie filmów, które kanał wybrał do wyróżnienia. Na przykład sekcja może zawierać najnowsze filmy, najpopularniejsze filmy lub filmy z co najmniej 1 playlisty.
guideCategory Określa kategorię, z którą YouTube kojarzy kanały na podstawie ich treści lub innych wskaźników, takich jak popularność. Kategorie w przewodniku mają na celu uporządkowanie kanałów w taki sposób, aby użytkownicy YouTube mogli łatwiej znaleźć interesujące ich treści. Kanały mogą być powiązane z co najmniej 1 kategorią przewodnika, ale nie ma gwarancji, że będą w jakiejkolwiek kategorii przewodnika.
i18nLanguage Określa język aplikacji obsługiwany przez witrynę YouTube. Język aplikacji jest też nazywany językiem interfejsu.
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ż określany jako lokalizacja treści.
playlist Reprezentuje pojedynczą playlistę w YouTube. Playlista to zbiór filmów, które można oglądać po kolei i udostępniać innym użytkownikom.
playlistItem Określa zasób, taki jak film, który jest częścią playlisty. Zasób playlistItem zawiera też szczegóły wyjaśniające, jak dany zasób jest wykorzystywany w playliście.
search result Zawiera informacje o filmie na YouTube, kanale lub playliście, które pasują do parametrów wyszukiwania określonych w żądaniu do interfejsu API. Wynik wyszukiwania wskazuje na jednoznacznie identyfikowalny zasób, np. film, ale nie ma własnych trwałych danych.
subscription Zawiera informacje o subskrypcji użytkownika YouTube. Subskrypcja powiadamia użytkownika, gdy na kanale pojawią się nowe filmy lub gdy inny użytkownik wykona w YouTube jedno z kilku działań, np. prześle film, oceni go lub skomentuje.
thumbnail Określa miniatury powiązane z zasobem.
video Reprezentuje pojedynczy film na YouTube.
videoCategory Określa kategorię, która została lub może zostać powiązana z przesłanymi filmami.
watermark Określa obraz wyświetlany podczas odtwarzania filmów z określonego kanału. Właściciel kanału może też określić kanał docelowy, do którego prowadzi link z obrazu, oraz szczegóły dotyczące czasu, które określają, kiedy znak wodny pojawia się podczas odtwarzania filmów i jak długo jest widoczny.

Pamiętaj, że w wielu przypadkach zasób zawiera odwołania do innych zasobów. Na przykład właściwość snippet.resourceId.videoId playlistItemzasobusnippet.resourceId.videoId identyfikuje zasób wideo, który z kolei zawiera pełne informacje o filmie. Na przykład wynik wyszukiwania zawiera właściwość videoId, playlistId lub channelId, która identyfikuje konkretny film, playlistę lub zasób kanału.

Obsługiwane operacje

W tabeli poniżej znajdziesz najpopularniejsze metody obsługiwane przez interfejs API. Niektóre zasoby obsługują też inne metody, które wykonują funkcje bardziej specyficzne dla tych zasobów. Na przykład metoda videos.rate wiąże ocenę użytkownika z filmem, a metoda thumbnails.set przesyła miniaturę filmu do YouTube i wiąże ją z filmem.

Operacje
list Pobiera (GET) listę zawierającą zero lub więcej zasobów.
insert Tworzy (POST) nowy zasób.
update Modyfikuje (PUT) istniejący zasób, aby odzwierciedlał dane w Twoim żądaniu.
delete Usuwa (DELETE) konkretny zasób.

API obsługuje obecnie metody wyświetlania każdego z obsługiwanych typów zasobów, a także operacje zapisu w przypadku wielu zasobów.

W tabeli poniżej znajdziesz informacje o operacjach obsługiwanych w przypadku różnych typów zasobów. Operacje wstawiania, aktualizowania lub usuwania zasobów zawsze wymagają autoryzacji użytkownika. W niektórych przypadkach list metody obsługują zarówno autoryzowane, jak i nieautoryzowane żądania. Nieautoryzowane żądania pobierają tylko dane publiczne, a autoryzowane żądania mogą też pobierać informacje o obecnie uwierzytelnionym użytkowniku lub jego dane prywatne.

Obsługiwane operacje
list insert update delete
activity
caption
channel
channelBanner
channelSection
comment
commentThread
guideCategory
i18nLanguage
i18nRegion
playlist
playlistItem
search result
subscription
thumbnail
video