Z tego krótkiego przewodnika dowiesz się, jak skonfigurować prostą aplikację w języku Java, która wysyła żądania do interfejsu YouTube Data API. Ten krótki przewodnik wyjaśnia, jak utworzyć 2 żądania API:
- Aby pobrać informacje o kanale Google Developers w YouTube, będziesz używać klucza interfejsu API identyfikującego aplikację.
- Identyfikator klienta OAuth 2.0 służy do przesyłania autoryzowanych żądań pobierania informacji o Twoim kanale w YouTube.
Wymagania wstępne
Aby uruchomić ten krótki przewodnik, musisz mieć:
- Java 1.7 lub nowsza.
- Gradle w wersji 2.3 lub nowszej
- Dostęp do internetu i przeglądarki.
- Musisz mieć konto Google.
Krok 1. Skonfiguruj projekt i dane logowania
Utwórz lub wybierz projekt w Konsoli interfejsów API. Wykonaj te czynności w konsoli API w projekcie:
W panelu biblioteki wyszukaj YouTube Data API v3. Kliknij informacje o tym interfejsie API i sprawdź, czy jest on włączony w Twoim projekcie.
W panelu danych logowania utwórz 2 dane logowania:
Utwórz klucz interfejsu API. Będziesz używać tego klucza do wykonywania żądań do interfejsu API, które nie wymagają autoryzacji użytkownika. Aby na przykład uzyskać informacje o publicznym kanale YouTube, nie potrzebujesz zgody użytkownika.
Utwórz identyfikator klienta OAuth 2.0 Ustaw typ aplikacji na Inne. W przypadku żądań wymagających autoryzacji użytkownika musisz używać danych logowania OAuth 2.0. Aby na przykład uzyskać informacje o kanale YouTube uwierzytelnionego obecnie, użytkownik musi uzyskać upoważnienie.
Pobierz plik JSON zawierający Twoje dane logowania OAuth 2.0. Plik ma nazwę
client_secret_CLIENTID.json
, gdzieCLIENTID
to identyfikator klienta Twojego projektu.
Krok 2. Przygotuj projekt
Aby przygotować projekt Gradle, wykonaj te czynności:
W katalogu roboczym uruchom następujące polecenia, aby utworzyć nową strukturę projektu:
$ gradle init --type basic $ mkdir -p src/main/java src/main/resources
Przenieś plik JSON pobrany po utworzeniu identyfikatora klienta OAuth 2.0 do katalogu
src/main/resources
pod katalogiem roboczym i zmień nazwę pliku naclient_secret.json
.Otwórz plik
build.gradle
w katalogu roboczym i zastąp jego zawartość tymi fragmentami:apply plugin: 'java' apply plugin: 'application' mainClassName = 'ApiExample' sourceCompatibility = 1.7 targetCompatibility = 1.7 version = '1.0' repositories { mavenCentral() } dependencies { compile 'com.google.api-client:google-api-client:1.23.0' compile 'com.google.oauth-client:google-oauth-client-jetty:1.23.0' compile 'com.google.apis:google-api-services-youtube:v3-revREVISION-CL_VERSION' }
W pliku
build.gradle
musisz zastąpić zmienne REVISION i CL_VERSION dwoma wartościami z dokumentacji biblioteki klienta interfejsu YouTube Data API. Na zrzucie ekranu poniżej znajdziesz dokumentację interfejsu YouTube Analytics API, która pokazuje, gdzie na stronie znajdują się obie zmienne.
Krok 3. Skonfiguruj i uruchom próbkę
Użyj widżetu Eksploratora interfejsów API w panelu bocznym, aby pobrać przykładowy kod do pobierania informacji o kanale YouTube dla programistów. To żądanie używa klucza interfejsu API do identyfikowania aplikacji i nie wymaga autoryzacji użytkownika ani żadnych specjalnych uprawnień użytkownika, który uruchomi przykład.
- Otwórz dokumentację metody channels.list interfejsu API.
Na tej stronie w sekcji „Typowe przypadki użycia” znajduje się tabela z opisem kilku typowych sposobów użycia metody. Pierwsza pozycja w tabeli zawiera wyniki dotyczące identyfikatora kanału.
Kliknij symbol kodu pierwszej wizytówki, aby otworzyć i wypełnić eksplorator interfejsów API pełnoekranowego.
Po lewej stronie pełnoekranowego interfejsu API znajdują się następujące informacje:
Pod nagłówkiem Parametry żądania znajduje się lista parametrów obsługiwanych przez daną metodę. Wartości parametrów
part
iid
powinny być ustawione. Wartość parametruid
(UC_x5XG1OV2P6uZZ5FSM9Ttw
) to identyfikator kanału YouTube Google Developers.Pod parametrami znajduje się sekcja Dane logowania. Menu rozwijane w tej sekcji powinno zawierać wartość Klucz interfejsu API. Interfejsy API API domyślnie używają danych logowania do wersji demonstracyjnej, aby ułatwić Ci pierwsze kroki. Aby użyć tego przykładowego kodu, musisz użyć własnego klucza interfejsu API.
Po prawej stronie pełnoekranowego interfejsu API znajdują się karty z przykładowym kodem w różnych językach. Wybierz kartę Java.
Skopiuj przykładowy kod i zapisz go w pliku o nazwie
src/main/java/ApiExample.java
. Każdy fragment korzysta z tej samej nazwy klasy (ApiExample
), więc nie musisz modyfikować plikubuild.gradle
w celu uruchomienia różnych przykładów.W pobranym przykładzie znajdź ciąg znaków
YOUR_API_KEY
i zastąp go kluczem interfejsu API utworzonym w kroku 1 tego krótkiego wprowadzenia.Uruchom przykład z poziomu wiersza poleceń. W katalogu roboczym uruchom polecenie:
gradle -q run
Przykład powinien wykonać żądanie i wydrukować odpowiedź do
STDOUT
.
Krok 4. Uruchom autoryzowane żądanie
W tym kroku zmodyfikujesz przykładowy kod, aby zamiast pobierania informacji o kanale YouTube dla programistów Google pobierał informacje o Twoim kanale w YouTube. To żądanie nie wymaga autoryzacji użytkownika.
Wróć do dokumentacji metody channels.list interfejsu API.
W sekcji „Typowe przypadki użycia” kliknij symbol kodu trzeciej listy w tabeli. Twój przypadek użycia to wywołać metodę
list
dla „mojego kanału”.Po lewej stronie pełnoekranowego interfejsu API Eksploratora zobaczysz listę parametrów i sekcję Dane logowania. Są jednak 2 zmiany w tym przykładzie:
W sekcji parametrów zamiast wartości parametru
id
ustaw wartośćmine
natrue
. Dzięki temu serwer API otrzyma informacje o kanale użytkownika, który jest obecnie uwierzytelniony.W sekcji Dane logowania należy wybrać opcję Google OAuth 2.0.
Dodatkowo, jeśli klikniesz link Pokaż zakresy, musisz zaznaczyć zakres https://www.googleapis.com/auth/youtube.readonly.
Podobnie jak w poprzednim przykładzie, wybierz kartę Java, skopiuj przykładowy kod i zapisz go w
src/main/java/ApiExample.java
.Uruchom przykład z poziomu wiersza poleceń. W katalogu roboczym uruchom polecenie:
gradle -q run
Próbka powinna otworzyć nowe okno lub kartę w domyślnej przeglądarce. Jeśli to nie pomoże, skopiuj adres URL z terminala i otwórz go ręcznie w przeglądarce.
Jeśli nie zalogowano się na konto Google, pojawi się prośba o zalogowanie. Jeśli zalogujesz się na wiele kont Google, pojawi się prośba o wybranie jednego z nich do autoryzacji.
Kliknij przycisk, aby przyznać aplikacji dostęp do zakresów określonych w przykładowym kodzie.
Próbka będzie kontynuowana automatycznie. Możesz wtedy zamknąć kartę przeglądarki na potrzeby uwierzytelniania.
Odpowiedź interfejsu API zostanie ponownie wydrukowana na
STDOUT
.