Na tej stronie znajdziesz przykładowe żądania wysyłane do interfejsu YouTube Data API. Interfejs YouTube Data API służy do pobierania zasobów YouTube, takich jak filmy, kanały i playlisty, oraz manipulowanie nimi. Każdy przykładowy link prowadzi do narzędzia Google APIs Explorer i wypełnia je, aby umożliwić wykonanie kodu i wyświetlenie odpowiedzi.
Informacje o przesyłaniu treści za pomocą interfejsu YouTube Data API znajdziesz w artykule Przesyłanie wznawiane.
Omówienie
Aby ułatwić prezentację, przykłady na tej stronie przedstawiają charakterystyczne elementy każdego żądania i skrócą podstawowy adres URL hosta, który przetwarza żądania do interfejsu Data API (https://www.googleapis.com/youtube/v3
). Aby przesłać żądanie poza kontekstem, musisz podać pełny adres URL.
Oto przykładowe żądanie widoczne na tej stronie:
GET {base-URL}/channels?part=contentDetails &mine=true
Pełny adres URL tego żądania:
GET https://www.googleapis.com/youtube/v3/channels?part=contentDetails &mine=true
Część z tych żądań wymaga pobrania danych, które są dostępne tylko dla właściciela kanału YouTube, na przykład listy subskrybentów. Wymagają one od właściciela kanału przyznania narzędziu Google APIs Explorer uprawnienia do wykonywania żądań do interfejsu YouTube Data API w jego imieniu. Szczegółowe informacje o autoryzowaniu dostępu do danych kanału prywatnego znajdziesz w artykule Wdrażanie uwierzytelniania OAuth 2.0. Po połączeniu się z narzędziem APIs Explorer kliknij przycisk Autoryzuj żądania za pomocą protokołu OAuth 2.0. Ten krok autoryzuje narzędzie APIs Explorer do wysyłania żądań w imieniu właściciela. Możesz też wybrać zakres autoryzacji, który określa typy żądań, które może wykonywać Eksplorator interfejsów API.
Odpowiedź na każde żądanie to reprezentacja zasobu YouTube w formacie JSON. Parametr part
w żądaniu określa, które części zasobu znajdują się w odpowiedzi. Parametr określa co najmniej 1 właściwości zasobu najwyższego poziomu (niezagnieżdżoną), która powinna znaleźć się w odpowiedzi. Na przykład niektóre części zasobu wideo to:
- krótki opis | fragment
- contentDetails
- zawodnik
- statystyka
- status
Wszystkie te części są obiektami zawierającymi właściwości zagnieżdżone. Można je traktować jako grupy pól metadanych, które serwer API może (lub nie) pobrać. Dlatego parametr part
wymaga wybrania komponentów zasobów, których rzeczywiście używa aplikacja.Więcej informacji znajdziesz w artykule Pierwsze kroki z interfejsem YouTube Data API.
Pobieranie informacji o kanale
To żądanie używa metody channels.list
, aby pobrać szczegółowe informacje o kanałach należących do uwierzytelnionego użytkownika.
GET {base_URL}/channels?part=contentDetails &mine=true
Odpowiedź na to żądanie zawiera identyfikator kanału i identyfikator contentDetails
kanału uwierzytelnionego użytkownika. contentDetails
zawiera kilka wygenerowanych przez system playlist powiązanych z kanałem. Wiele kolejnych żądań wymaga podania identyfikatora kanału lub jednego z identyfikatorów playlisty, więc ważne jest, aby je zarejestrować.
{ "id": {CHANNEL_ID}, "kind": "youtube#channel", "etag": etag, "contentDetails": { "relatedPlaylists": { "likes": {LIKES_PLAYLIST_ID}, "favorites": {FAVORITES_PLAYLIST_ID}, "uploads": {UPLOADS_PLAYLIST_ID}, "watchHistory": {WATCHHISTORY_PLAYLIST_ID}, "watchLater": {WATCHLATER_PLAYLIST_ID} }, "googlePlusUserId": string }, }
Przesłane filmy i playlisty wygenerowane przez system
YouTube dodaje wszystkie przesłane filmy do playlisty powiązanej z kanałem. Aby uzyskać listę przesłanych filmów, należy wysłać zapytanie playlisty zwróconej w odpowiedzi powyżej, aby uzyskać informacje o kanale, przy użyciu metody playlistItems.list
, by pobrać znajdujące się na niej filmy.
Zanim wykonasz poniższe przykładowe żądanie w narzędziu Google APIs Explorer, zastąp {UPLOADS_PLAYLIST_ID} identyfikatorem playlisty z wcześniejszego żądania.
GET {base_URL}/playlistItems?part=contentDetails &playlistId={UPLOADS_PLAYLIST_ID}
Pamiętaj, że wartość "id"
każdego zwróconego elementu to jego identyfikator playlisty. Identyfikator wideo elementu playlisty to videoId
w części contentDetails
.
Korzystając z tego żądania, możesz pobrać listę ulubionych, polubień, historii oglądania i listy Do obejrzenia. Wystarczy, że w odpowiedzi z informacjami o kanale podpiszesz odpowiedni identyfikator playlisty.
Playlisty utworzone przez użytkowników
To żądanie używa metody playlists.list
, aby pobrać playlisty powiązane z uwierzytelnionym kanałem. Pamiętaj, że to żądanie nie spowoduje pobrania playlist wygenerowanych przez system, które są zawarte w informacjach o kanale (przesłane filmy, historia oglądania itp.). Pobiera tylko playlisty utworzone przez użytkowników.
GET {base_URL}/playlists?part=snippet &mine=true
Po uzyskaniu identyfikatora playlisty możesz pobrać elementy z playlisty, korzystając z żądania pokazanego w poprzedniej sekcji.
Możesz prosić o informacje o publicznych playlistach na kanale bez uwierzytelniania. Gdy przesyłasz nieuwierzytelnione żądanie, musisz dołączyć argument key
, który określa unikalny klucz interfejsu API aplikacji wysyłający żądanie. Na przykład to żądanie pobiera playlisty powiązane z kanałem GoogleDevelopers.
GET {base_URL}/playlists?part=snippet &channelId=UC_x5XG1OV2P6uZZ5FSM9Ttw &key={YOUR_API_KEY}
Pobierz subskrypcje
Zasób subscription
określa relację między użytkownikiem YouTube (subskrybentem) a kanałem. Metoda subscriptions.list
pobiera dane o subskrybentach konkretnego kanału lub subskrypcji określonego użytkownika, w zależności od tego, jakie parametry umieścisz w żądaniu.
Subskrypcje kanału
To żądanie pobiera listę subskrybentów uwierzytelnionego kanału.
GET {base_URL}/subscriptions?part=snippet &mySubscribers=true
Subskrypcje użytkownika
Ta sama metoda tworzenia listy subskrybentów (subscriptions.list
) umożliwia wyświetlanie listy kanałów, które użytkownik subskrybuje. To żądanie używa parametru mine
, aby pobrać listę kanałów YouTube, które subskrybuje uwierzytelniony użytkownik.
GET {base_URL}/subscriptions?part=snippet &mine=true
Uzyskiwanie informacji o aktywności użytkowników
Zasób activity
zawiera informacje o działaniach podjętych w YouTube przez określony kanał lub użytkownika, takie jak przesłanie filmu, zasubskrybowanie kanału itd. Metoda activities.list
pobiera działania powiązane z kanałem lub użytkownikiem, które spełniają kryteria żądania. Możesz na przykład pobrać działania związane z określonym kanałem, subskrypcjami użytkownika lub jego niestandardową stroną główną YouTube.
Aktywność w wybranym okresie
To żądanie pobiera wszystkie działania wykonane przez uwierzytelnionego użytkownika w kwietniu 2013 roku.
GET {base_URL}/activities?part=snippet,contentDetails &mine=true &publishedAfter=2013-04-01T00%3A00%3A00Z &publishedBefore=2013-05-01T00%3A00%3A00Z
Aktywność na stronie głównej
To żądanie pobiera niestandardowy kanał aktywności wyświetlany na stronie głównej uwierzytelnionego użytkownika YouTube.
GET {base_URL}/activities?part=snippet,contentDetails &home=true
Do pobierania statystyk wyświetlania, danych o popularności oraz informacji demograficznych dotyczących filmów i kanałów w YouTube możesz używać interfejsu YouTube Analytics API. Na stronie Przykładowe żądania do interfejsu API dowiesz się, jak pobierać typowe raporty ze Statystyk YouTube.
Szukaj
Metoda search.list
umożliwia wyszukiwanie w YouTube filmów, kanałów i playlist, które spełniają określone kryteria. Możesz wyszukiwać na podstawie właściwości filmu, słów kluczowych lub tematów (albo kombinacji tych elementów) oraz sortować wyniki na podstawie takich czynników jak data utworzenia, liczba wyświetleń czy ocena.
Tak jak inne żądania do interfejsu YouTube Data API, metoda search.list
zwraca reprezentację zasobu YouTube w formacie JSON. W przeciwieństwie do innych zasobów YouTube wynik wyszukiwania nie jest jednak trwałym obiektem z unikalnym identyfikatorem.
Wiele żądań dotyczy wyszukiwania publicznie dostępnych treści i dlatego nie wymaga uwierzytelniania. Tylko pierwsza z poniższych przykładów wymaga uwierzytelnienia, ponieważ zawiera prośbę o „moje” filmy. Gdy przesyłasz nieuwierzytelnione żądanie, musisz dołączyć argument key
, który określa unikalny klucz interfejsu API Twojej aplikacji.
Moje najczęściej oglądane filmy
To żądanie pobiera wszystkie filmy uwierzytelnionego użytkownika i wyświetla je w kolejności malejącej według liczby wyświetleń.
GET {base_URL}/search?part=snippet &forMine=true &order=viewCount &type=video
Filmy w wysokiej rozdzielczości, które można umieścić na stronie
Żądanie to wyszukuje filmy o określonych właściwościach, czyli filmy w wysokiej rozdzielczości, które można umieścić na innych stronach. Wyniki są wyświetlane w kolejności malejącej według ocen.
GET {base_URL}/search?part=snippet &order=rating &type=video &videoDefinition=high &videoEmbeddable=true &key={YOUR_API_KEY}
Filmy na konkretny temat
To żądanie wyszukuje za pomocą słów kluczowych filmy związane z interfejsem YouTube Data API, które zawierają napisy.
GET {base_URL}/search?part=snippet &q=YouTube+Data+API &type=video &videoCaption=closedCaption &key={YOUR_API_KEY}
Wyszukiwanie oparte na tematach
Bardziej zaawansowanym sposobem wyszukiwania filmów o określonej tematyce jest użycie tematów z platformy Freebase zamiast słów kluczowych. Wszystkie kanały i zasoby wideo w YouTube zawierają obiekt topicDetails, który zawiera listę identyfikatorów tematów Freebase powiązanych z zasobem. Wyszukiwanie tematyczne jest bardziej inteligentne niż wyszukiwanie słów kluczowych, ponieważ temat Freebase reprezentuje wszystkie aspekty rzeczywistej koncepcji lub rzeczy.
Aby wyszukać temat przy użyciu tematu Freebase, musisz najpierw pobrać identyfikator tematu za pomocą interfejsu Freebase API. To żądanie zwraca filmy powiązane z tematem Freebase dotyczącym Pythona, którego identyfikator tematu to /m/05z1_
.
GET {base_URL}/search?part=snippet &topicId=/m/05z1_ &type=video &key={YOUR_API_KEY}
Wyszukiwanie playlist lub kanałów
Wyszukiwanie nie jest ograniczone do filmów. Możesz też wyszukiwać playlisty lub kanały. To żądanie pobiera playlisty pasujące do słowa kluczowego „piłka nożna”.
GET {base_URL}/search?part=snippet &q=soccer &type=playlist &key={YOUR_API_KEY}
Jeśli wolisz znaleźć kanały piłkarskie, zmień parametr type
.
GET {base_URL}/search?part=snippet &q=soccer &type=channel &key={YOUR_API_KEY}
Jeśli chcesz znaleźć wszystkie treści związane z piłką nożną (kanały, playlisty i filmy), użyj wyszukiwania uniwersalnego. Jeśli pominiesz parametr type
, żądanie pobiera treści każdego typu.
GET {base_URL}/search?part=snippet &q=soccer &key={YOUR_API_KEY}
Tworzenie i aktualizowanie zasobów
Wszystkie żądania, które do tej pory przyjrzeliśmy się temu, wykorzystują metodę HTTP GET do pobierania danych z YouTube. Interfejs YouTube Data API udostępnia też metody wykorzystujące metodę HTTP POST do tworzenia lub aktualizowania zasobów YouTube, takich jak filmy, playlisty czy kanały. Podane niżej żądania stanowią przykłady.
Metody POST zawierają obiekt Request body
, który jest reprezentacją tworzonego lub aktualizowanego zasobu w formacie JSON. Reprezentacje JSON możesz tworzyć w narzędziu Google APIs Explorer za pomocą interaktywnego narzędzia.
Tworzenie subskrypcji
To żądanie zasubskrybuje uwierzytelnionego użytkownika kanał GoogleDevelopers. Krótko mówiąc, tworzy zasób subskrypcji.
POST {base_URL}/subscriptions?part=snippet
Request body: { 'snippet': { 'resourceId': { 'kind': 'youtube#channel', 'channelId': 'UC_x5XG1OV2P6uZZ5FSM9Ttw' } } }
Utwórz playlistę
Spowoduje to utworzenie nowej publicznej playlisty.
POST {base_URL}/playlists?part=snippet
Request body: { 'snippet': { 'title': 'New playlist', 'description': 'Sample playlist for Data API', } }
Dodanie filmu do playlisty
Gdy masz już playlistę, dodajmy do niej film. Spowoduje to dodanie filmu na początku playlisty ('position': 0
).
POST {base_URL}/playlistItems?part=snippet Request body: { 'snippet': { 'playlistId': '{PLAYLIST_ID}', 'resourceId': { 'kind': 'youtube#video', 'videoId': '{VIDEO_ID}' } 'position': 0 } }