Z tego przewodnika dowiesz się, jak skonfigurować prostą aplikację wiersza poleceń w języku Java, która wysyła żądania do interfejsu YouTube Data API. Ten przewodnik zawiera informacje o tym, jak wysłać 2 żądania do interfejsu API:
- Aby pobrać informacje o kanale GoogleDevelopers w YouTube, użyjesz klucza interfejsu API, który identyfikuje Twoją aplikację.
- Aby przesłać autoryzowane żądanie, które pobiera informacje o Twoim kanale w YouTube, użyjesz identyfikatora klienta OAuth 2.0.
Wymagania wstępne
Aby uruchomić ten przewodnik, musisz mieć:
- Java 1.7 lub nowsza.
- Gradle w wersji 2.3 lub nowszej.
- Dostęp do internetu i przeglądarki.
- konto Google;
Krok 1. Skonfiguruj projekt i dane logowania
Utwórz lub wybierz projekt w Konsoli interfejsów API. Wykonaj w konsoli interfejsów API te czynności dotyczące projektu:
W panelu biblioteki wyszukaj interfejs YouTube Data API v3. Kliknij pozycję tego interfejsu API i upewnij się, że jest on włączony w Twoim projekcie.
W panelu danych logowania utwórz 2 zestawy danych logowania:
Utwórz klucz interfejsu API Klucz interfejsu API będzie służyć do wysyłania żądań interfejsu API, które nie wymagają autoryzacji użytkownika. Na przykład nie musisz mieć autoryzacji użytkownika, aby pobrać informacje o publicznym kanale w YouTube.
Utwórz identyfikator klienta OAuth 2.0 Ustaw typ aplikacji na Inne. W przypadku żądań, które wymagają autoryzacji użytkownika, musisz używać danych logowania OAuth 2.0. Na przykład musisz uzyskać autoryzację użytkownika, aby pobrać informacje o kanale w YouTube obecnie uwierzytelnionego użytkownika.
Pobierz plik JSON zawierający dane logowania OAuth 2.0. Plik ma nazwę podobną do
client_secret_CLIENTID.json
, gdzieCLIENTID
to identyfikator klienta projektu.
Krok 2. Przygotuj projekt
Aby przygotować projekt Gradle:
W katalogu roboczym uruchom te 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
w katalogu roboczym i zmień nazwę pliku naclient_secret.json
.Otwórz plik
build.gradle
w katalogu roboczym i zastąp jego zawartość tym kodem: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 2 wartościami z dokumentacji biblioteki klienta interfejsu YouTube Data API. Poniższy zrzut ekranu, który przedstawia dokumentację interfejsu YouTube Analytics API, pokazuje, gdzie na stronie pojawiają się te 2 zmienne.
Krok 3. Konfigurowanie i uruchamianie przykładu
Użyj widżetu API Explorer w panelu bocznym, aby uzyskać przykładowy kod do pobierania informacji o kanale GoogleDevelopers w YouTube. To żądanie używa klucza interfejsu API do identyfikowania aplikacji i nie wymaga autoryzacji użytkownika ani specjalnych uprawnień od użytkownika uruchamiającego przykład.
- Otwórz dokumentację metody channels.list interfejsu API.
Na tej stronie w sekcji „Typowe przypadki użycia” znajduje się tabela, która wyjaśnia kilka typowych sposobów użycia tej metody. Pierwsza pozycja w tabeli dotyczy wyników wyświetlania według identyfikatora kanału.
Kliknij symbol kodu przy pierwszej pozycji, aby otworzyć i wypełnić narzędzie APIs Explorer na pełnym ekranie.
Po lewej stronie narzędzia APIs Explorer w trybie pełnoekranowym widać:
Pod nagłówkiem Parametry żądania znajduje się lista parametrów obsługiwanych przez tę metodę. Wartości parametrów
part
iid
powinny być ustawione. Wartość parametruid
, czyliUC_x5XG1OV2P6uZZ5FSM9Ttw
, to identyfikator kanału GoogleDevelopers w YouTube.Pod parametrami znajduje się sekcja Dane logowania. Menu w tej sekcji powinno zawierać wartość Klucz interfejsu API. Eksplorator interfejsów API domyślnie używa danych logowania wersji demonstracyjnej, aby ułatwić rozpoczęcie pracy. Aby uruchomić przykład lokalnie, użyjesz własnego klucza interfejsu API.
Po prawej stronie eksploratora interfejsów API na pełnym ekranie znajdują się karty z przykładami kodu w różnych językach. Kliknij kartę Java.
Skopiuj przykładowy kod i zapisz go w pliku o nazwie
src/main/java/ApiExample.java
. Każdy przykład używa tej samej nazwy klasy (ApiExample
), więc nie musisz modyfikować plikubuild.gradle
, aby uruchamiać różne przykłady.W pobranym przykładzie znajdź ciąg znaków
YOUR_API_KEY
i zastąp go kluczem interfejsu API utworzonym w kroku 1 tego przewodnika.Uruchom przykład z wiersza poleceń. W katalogu roboczym uruchom:
gradle -q run
Przykładowy kod powinien wykonać żądanie i wyświetlić odpowiedź w
STDOUT
.
Krok 4. Uruchom autoryzowane żądanie
W tym kroku zmodyfikujesz przykładowy kod, aby zamiast pobierać informacje o kanale GoogleDevelopers w YouTube, pobierał informacje o Twoim kanale w YouTube. To żądanie wymaga autoryzacji użytkownika.
Wróć do dokumentacji metody channels.list interfejsu API.
W sekcji „Typowe przypadki użycia” kliknij symbol kodu przy trzeciej pozycji na liście w tabeli. W tym przypadku chodzi o wywołanie metody
list
dla „my channel”.Po lewej stronie narzędzia APIs Explorer w trybie pełnoekranowym zobaczysz listę parametrów, a za nią sekcję Dane logowania. W porównaniu z przykładem, w którym pobierasz informacje o kanale GoogleDevelopers, występują jednak 2 różnice:
W sekcji parametrów zamiast wartości parametru
id
powinna być ustawiona wartość parametrumine
natrue
. To polecenie nakazuje serwerowi API pobranie informacji o kanale aktualnie uwierzytelnionego użytkownika.W sekcji Dane logowania w menu powinno być wybrane Google OAuth 2.0.
Jeśli klikniesz link Pokaż zakresy, powinien być zaznaczony 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 wiersza poleceń. W katalogu roboczym uruchom:
gradle -q run
Przykładowa strona powinna próbować otworzyć nowe okno lub kartę w przeglądarce domyślnej. Jeśli to nie zadziała, skopiuj adres URL z terminala i otwórz go ręcznie w przeglądarce.
Jeśli nie jesteś zalogowany(-a) na konto Google, pojawi się prośba o zalogowanie się. Jeśli logujesz się na kilka kont Google, pojawi się prośba o wybranie jednego konta do autoryzacji.
Kliknij przycisk, aby przyznać aplikacji dostęp do zakresów określonych w przykładowym kodzie.
Próbka zostanie przetworzona automatycznie. Możesz zamknąć kartę przeglądarki używaną w procesie autoryzacji.
Odpowiedź interfejsu API powinna ponownie zostać wydrukowana w
STDOUT
.