Krótkie wprowadzenie do Java

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:

  1. Aby pobrać informacje o kanale Google Developers w YouTube, będziesz używać klucza interfejsu API identyfikującego aplikację.
  2. 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ć:

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:

  1. W panelu biblioteki wyszukaj YouTube Data API v3. Kliknij informacje o tym interfejsie 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 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.

    2. 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, gdzie CLIENTID to identyfikator klienta Twojego projektu.

Krok 2. Przygotuj projekt

Aby przygotować projekt Gradle, wykonaj te czynności:

  1. 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
    
  2. Przenieś plik JSON pobrany po utworzeniu identyfikatora klienta OAuth 2.0 do katalogu src/main/resources pod katalogiem roboczym i zmień nazwę pliku na client_secret.json.

  3. 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'
    }
    
  4. 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.

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

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.

  1. Otwórz dokumentację metody channels.list interfejsu API.
  2. 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.

    Obraz pokazujący lokalizację linku z symbolem kodu w tabeli, który zawiera listę przypadków użycia w dokumentacji kanału. Tekst alternatywny obrazu identyfikuje ten obraz jako symbol kodu i określa przypadek użycia powiązany z tym linkiem.

  3. Po lewej stronie pełnoekranowego interfejsu API znajdują się następujące informacje:

    1. Pod nagłówkiem Parametry żądania znajduje się lista parametrów obsługiwanych przez daną metodę. Wartości parametrów part i id powinny być ustawione. Wartość parametru id (UC_x5XG1OV2P6uZZ5FSM9Ttw) to identyfikator kanału YouTube Google Developers.

    2. 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.

      Obraz przedstawiający „Dane logowania” w pełnoekranowym Eksploratorze interfejsów API oraz menu z opcją „Klucz interfejsu API”.

  4. Po prawej stronie pełnoekranowego interfejsu API znajdują się karty z przykładowym kodem 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 fragment korzysta z tej samej nazwy klasy (ApiExample), więc nie musisz modyfikować pliku build.gradle w celu uruchomienia różnych przykładów.

  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 krótkiego wprowadzenia.

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

    gradle -q run

  8. 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.

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

  2. 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”.

  3. Po lewej stronie pełnoekranowego interfejsu API Eksploratora zobaczysz listę parametrów i sekcję Dane logowania. Są jednak 2 zmiany w tym przykładzie:

    1. W sekcji parametrów zamiast wartości parametru id ustaw wartość mine na true. Dzięki temu serwer API otrzyma informacje o kanale użytkownika, który jest obecnie uwierzytelniony.

    2. 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.

      Obraz pokazujący zakresy w eksploratorze interfejsów API pełnoekranowego oraz możliwość 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 src/main/java/ApiExample.java.

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

    gradle -q run

  6. 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.

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

  8. Próbka będzie kontynuowana automatycznie. Możesz wtedy zamknąć kartę przeglądarki na potrzeby uwierzytelniania.

    Odpowiedź interfejsu API zostanie ponownie wydrukowana na STDOUT.

Więcej informacji