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
-
Aby uzyskać dostęp do konsoli interfejsów API Google, poprosić o klucz interfejsu API i zarejestrować aplikację, musisz mieć konto Google.
-
Utwórz projekt w Google Developers Console i uzyskaj dane logowania, aby Twoja aplikacja mogła przesyłać żądania do interfejsu API.
-
Po utworzeniu projektu sprawdź, czy interfejs YouTube Data API jest jedną z usług, do których używania zarejestrowana jest Twoja aplikacja:
- Otwórz Konsolę interfejsów API i wybierz projekt, który został zarejestrowany.
- Otwórz stronę włączonych interfejsów API. Na liście interfejsów API sprawdź, czy stan YouTube Data API v3 to WŁĄCZONY.
-
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.
-
Wybierz bibliotekę klienta, aby ułatwić sobie implementację interfejsu API.
-
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 |
||||