Krótkie wprowadzenie do Java

Z tego przewodnika dla początkujących dowiesz się, jak skonfigurować prostą aplikację wiersza poleceń w języku Java, która wysyła żądania do interfejsu YouTube Data API. Ten przewodnik dla początkujących wyjaśnia, jak wysłać 2 żądania do interfejsu API:

  1. Aby pobrać informacje o kanale GoogleDevelopers na YouTube, użyjesz klucza interfejsu API, który identyfikuje Twoją aplikację.
  2. Aby przesłać autoryzowane żądanie, które pobiera informacje o Twoim kanale na YouTube, użyjesz identyfikatora klienta OAuth 2.0.

Wymagania wstępne

Aby skorzystać z tego przewodnika dla początkujących, musisz mieć:

Krok 1. Skonfiguruj projekt i dane logowania

Utwórz lub wybierz projekt w konsoli Cloud. W konsoli Cloud wykonaj te czynności dla swojego projektu:

  1. W panelu biblioteki wyszukaj YouTube Data API v3. Kliknij listę tego interfejsu API i sprawdź, czy jest on włączony w Twoim projekcie.

  2. W panelu danych logowania utwórz 2 dane logowania:

    1. Utwórz klucz interfejsu API Będziesz go używać do wysyłania żądań do interfejsu API, które nie wymagają autoryzacji użytkownika. Na przykład nie musisz mieć autoryzacji użytkownika, aby pobrać informacje o publicznym kanale na YouTube.

    2. Utwórz identyfikator klienta OAuth 2.0 Ustaw typ aplikacji na Aplikacja komputerowa. W przypadku żądań, które wymagają autoryzacji użytkownika, musisz użyć danych logowania OAuth 2.0. Na przykład musisz mieć autoryzację użytkownika, aby pobrać informacje o kanale na YouTube aktualnie uwierzytelnionego użytkownika.

      Pobierz plik JSON zawierający dane logowania OAuth 2.0. Plik ma nazwę podobną do client_secret_CLIENTID.json, gdzie CLIENTID to identyfikator klienta Twojego projektu.

Krok 2. Przygotuj projekt

Aby przygotować projekt Gradle:

  1. W katalogu roboczym uruchom te polecenia, aby utworzyć nową strukturę projektu:

    $ gradle init --type basic
    $ mkdir -p src/main/java src/main/resources
    
  2. Przenieś plik JSON pobrany po utworzeniu identyfikatora klienta OAuth 2.0 do katalogu src/main/resources znajdującego się w katalogu roboczym i zmień nazwę pliku na client_secret.json.

  3. 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'
    }
  4. W pliku build.gradle musisz zastąpić zmienne REVISION i CL_VERSION 2 wartościami z dokumentacji biblioteki klienta interfejsu YouTube Data API. Zrzut ekranu poniżej, który przedstawia dokumentację interfejsu YouTube Analytics API, pokazuje, gdzie na stronie znajdują się te 2 zmienne.

    Zrzut ekranu dokumentacji JavaDoc pokazujący, jak znaleźć wartości zmiennych „REVISION” i „CL_VERSION”

Krok 3. Skonfiguruj i uruchom przykład

Użyj widżetu APIs Explorer w panelu bocznym, aby uzyskać przykładowy kod do pobierania informacji o kanale GoogleDevelopers na YouTube. To żądanie używa klucza interfejsu API do identyfikowania Twojej aplikacji i nie wymaga autoryzacji użytkownika ani żadnych specjalnych uprawnień od użytkownika uruchamiającego przykład.

  1. Otwórz dokumentację metody channels.list interfejsu API.
  2. Na tej stronie w sekcji „Common use cases” (Typowe przypadki użycia) znajduje się tabela, która wyjaśnia kilka typowych sposobów użycia tej metody. Pierwsza pozycja w tabeli dotyczy wyświetlania wyników według identyfikatora kanału.

    Kliknij symbol kodu w przypadku pierwszej pozycji, aby otworzyć i wypełnić APIs Explorer na pełnym ekranie.

    Obraz przedstawiający lokalizację linku do symbolu kodu w tabeli z przypadkami użycia w dokumentacji channels.list. Tekst alternatywny tego obrazu identyfikuje go jako symbol kodu i określa przypadek użycia powiązany z tym linkiem.

  3. Po lewej stronie APIs Explorer na pełnym ekranie zobaczysz:

    1. Pod nagłówkiem Request parameters (Parametry żądania) znajduje się lista parametrów obsługiwanych przez tę metodę. Należy ustawić wartości parametrów part i id. Wartość parametru id, UC_x5XG1OV2P6uZZ5FSM9Ttw, to identyfikator kanału GoogleDevelopers na YouTube.

    2. Pod parametrami znajduje się sekcja Credentials (Dane logowania). W menu w tej sekcji powinna być wyświetlana wartość API key (Klucz interfejsu API). Domyślnie APIs Explorer używa danych logowania do wersji demonstracyjnej, aby ułatwić rozpoczęcie pracy. Aby uruchomić przykład lokalnie, użyjesz jednak własnego klucza interfejsu API.

      Obraz pokazujący „Dane logowania” w APIs Explorer na pełnym ekranie i menu z wybraną opcją „Klucz interfejsu API”.

  4. Po prawej stronie APIs Explorer na pełnym ekranie znajdują się karty z przykładowymi fragmentami kodu w różnych językach. Wybierz kartę Java.

  5. 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ć pliku build.gradle, aby uruchamiać różne przykłady.

  6. 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 dla początkujących.

  7. Uruchom przykład z wiersza poleceń. W katalogu roboczym uruchom:

    gradle -q run

  8. Przykład powinien wykonać żądanie i wydrukować odpowiedź w STDOUT.

Krok 4. Uruchom autoryzowane żądanie

W tym kroku zmodyfikujesz przykładowy kod tak, aby zamiast pobierać informacje o kanale GoogleDevelopers na YouTube, pobierał informacje o Twoim kanale na YouTube. To żądanie wymaga autoryzacji użytkownika.

  1. Wróć do dokumentacji metody channels.list interfejsu API.

  2. W sekcji „Common use cases” (Typowe przypadki użycia) kliknij symbol kodu w przypadku trzeciej pozycji w tabeli. Ten przypadek użycia polega na wywołaniu metody list dla „mojego kanału”.

  3. Ponownie po lewej stronie APIs Explorer na pełnym ekranie zobaczysz listę parametrów, a następnie sekcję Credentials (Dane logowania). W porównaniu z przykładem, w którym pobierano informacje o kanale GoogleDevelopers, występują jednak 2 zmiany:

    1. W sekcji parametrów zamiast ustawionej wartości parametru id wartość parametru mine powinna być ustawiona na true. Informuje to serwer interfejsu API, aby pobierał informacje o kanale aktualnie uwierzytelnionego użytkownika.

    2. W sekcji Credentials (Dane logowania) w menu powinna być wybrana opcja Google OAuth 2.0.

      Jeśli klikniesz link Show scopes (Pokaż zakresy), powinien być zaznaczony zakres https://www.googleapis.com/auth/youtube.readonly.

      Obraz przedstawiający zakresy w eksploratorze interfejsów API na pełnym ekranie i wybraną opcję użycia danych logowania „Google OAuth 2.0”.

  4. Podobnie jak w poprzednim przykładzie wybierz kartę Java , skopiuj przykładowy kod i zapisz go w pliku src/main/java/ApiExample.java.

  5. Uruchom przykład z wiersza poleceń. W katalogu roboczym uruchom:

    gradle -q run

  6. Przykład powinien spróbować otworzyć nowe okno lub kartę w domyślnej przeglądarce. Jeśli to się nie uda, skopiuj adres URL z terminala i otwórz go ręcznie w przeglądarce.

    Jeśli nie zalogujesz się na konto Google, pojawi się prośba o zalogowanie. Jeśli zalogujesz się na kilka kont Google, pojawi się prośba o wybranie konta, którego chcesz użyć do autoryzacji.

  7. Kliknij przycisk, aby przyznać aplikacji dostęp do zakresów określonych w przykładowym kodzie.

  8. Przykład zostanie uruchomiony automatycznie, a kartę przeglądarki używaną do procesu autoryzacji możesz zamknąć.

    Odpowiedź interfejsu API powinna ponownie zostać wydrukowana w STDOUT.

Więcej informacji