Wprowadzenie do biblioteki klienta w Javie

Aby zacząć korzystać z interfejsu Google Photos Library API z biblioteką klienta Java, musisz skonfigurować bibliotekę klienta w swoim środowisku programistycznym. Zanim to zrobisz, skonfiguruj projekt, włączając interfejs API w konsoli interfejsów API Google i ustawiając identyfikator klienta OAuth 2.0.

Twoja aplikacja współpracuje ze Zdjęciami Google w imieniu użytkownika tej usługi. Gdy na przykład tworzysz albumy w bibliotece Zdjęć Google użytkownika lub przesyłasz elementy multimedialne na konto użytkownika Zdjęć Google, użytkownik autoryzuje te żądania do interfejsu API za pomocą protokołu OAuth 2.0.

Identyfikator klienta OAuth 2.0 umożliwia użytkownikom aplikacji logowanie się i uwierzytelnianie, a tym samym korzystanie z interfejsu Library API. Interfejs Library API nie obsługuje kont usługi. Aby korzystać z tego interfejsu API, użytkownicy muszą być zalogowani na prawidłowe konto Google.

Konfiguracja aplikacji

Włącz API

Aby korzystać z interfejsu Library API, musisz go włączyć w swoim projekcie.

  1. Otwórz konsolę interfejsów API Google.
  2. Na pasku menu wybierz projekt lub utwórz nowy projekt.
  3. Aby otworzyć bibliotekę interfejsów API Google, w menu nawigacyjnym wybierz Interfejsy API i usługi > Biblioteka.
  4. Wyszukaj „Google Photos Library API”. Wybierz właściwy wynik i kliknij Włącz.

Poproś o identyfikator klienta OAuth 2.0

Wykonaj czynności opisane poniżej, aby zażądać identyfikatora klienta OAuth i skonfigurować go dla swojej aplikacji. W tym przykładzie używamy aplikacji, w której cały proces OAuth jest obsługiwany po stronie serwera, tak jak w przykładach. Proces konfiguracji może się różnić w zależności od scenariuszy implementacji.

  1. Otwórz Konsolę interfejsów API Google i wybierz projekt.
  2. Z menu wybierz Interfejsy API i usługi > Dane logowania.
  3. Na stronie Dane logowania kliknij Utwórz dane logowania > Identyfikator klienta OAuth.
  4. Wybierz Typ aplikacji. W tym przykładzie typ aplikacji to Aplikacja internetowa.
  5. Zarejestruj źródła, z których Twoja aplikacja może uzyskiwać dostęp do interfejsów API Google, wykonaj te czynności:

    1. Aby zidentyfikować identyfikator klienta, wpisz nazwę.
    2. W polu Autoryzowane źródła JavaScript wpisz pochodzenie aplikacji. W tym polu nie można używać symboli wieloznacznych.

      Aby umożliwić działanie aplikacji w różnych protokołach, domenach lub subdomenach, możesz podać wiele źródeł. Wpisane adresy URL mogą uruchamiać żądanie OAuth.

      Poniższy przykład zawiera adres URL do lokalnego tworzenia treści (nasze przykłady korzystają z elementu localhost:8080) i adres URL do środowiska produkcyjnego.

      http://localhost:8080
      https://myproductionurl.example.com
      
    3. Pole Identyfikator URI autoryzowanego przekierowania to punkt końcowy, który otrzymuje odpowiedzi z serwera OAuth 2.0. Zwykle obejmuje to środowisko programistyczne i wskazuje ścieżkę w aplikacji.

      http://localhost:8080/auth/google/callback
      https://myproductionurl.example.com/auth/google/callback
      
    4. Kliknij Utwórz.

  1. W wyświetlonym oknie klienta OAuth pobierz plik JSON zawierający konfigurację klienta. Szczegóły Twojego klienta obejmują:

    • Identyfikator klienta
    • Tajny klucz klienta

    Ten plik JSON zostanie później użyty do skonfigurowania biblioteki Google Auth dla Javy, która współpracuje z tą biblioteką klienta.

Zanim udostępnisz publiczną aplikację, która uzyskuje dostęp do interfejsu Library API, Google musi ją sprawdzić. Podczas testowania aplikacji na ekranie wyświetla się komunikat „Niezweryfikowana aplikacja”, dopóki nie zostanie ona zweryfikowana.

Konfigurowanie biblioteki klienta

Biblioteka klienta w Javie obsługuje wszystkie wywołania interfejsu API backendu i udostępnia przyjazne obiekty do pracy, w tym przykłady kodu do niektórych typowych zadań interfejsu API. Najpierw pobierz i zainstaluj bibliotekę klienta interfejsu Google Photos Library API dla Javy wraz z zależnościami z GitHub. Następnie skonfiguruj dane logowania OAuth2 dla Javy.

Opcje pobierania

Oto kilka sposobów na pobranie biblioteki klienta:

  • Zależność Gradle:

    Aby używać tej biblioteki w Gradle, dodaj do pliku build.gradle podaną niżej zależność.

    repositories {
      mavenCentral()
    }
    dependencies {
      compile 'com.google.photos.library:google-photos-library-client:1.7.3'
    }
    
  • Zależność Maven:

    Aby używać tej biblioteki w narzędziu Maven, dodaj ten kod do pliku pom.xml Maven.

    <dependency>
      <groupId>com.google.photos.library</groupId>
      <artifactId>google-photos-library-client</artifactId>
      <version>1.7.3</version>
    </dependency>
    
  • Pobieranie wersji:

    Strona wersji zawiera różne artefakty dla każdej wersji biblioteki, w tym pliki jar.

  • Sklonowanie repozytorium:

    Użyj tej metody, jeśli chcesz ją zmienić lub dołączyć do niej, na przykład przesyłać żądania pull lub wypróbować nasze przykłady. Gdy sklonujesz repozytorium, zostaną pobrane wszystkie pliki z tego repozytorium.

    1. Uruchom git clone https://github.com/google/java-photoslibrary.git w wierszu poleceń.
    2. Uzyskasz katalog java-photoslibrary. Przejdź do niej, uruchamiając polecenie cd java-photoslibrary.
    3. Aby utworzyć projekt, otwórz plik build.gradle w swoim IDE lub uruchom ./gradlew assemble w wierszu poleceń. Aby zobaczyć dostępne zadania, zobacz ./gradlew tasks.

Konfigurowanie danych logowania OAuth2 do użycia w Javie

Ta biblioteka klienta współpracuje z biblioteką uwierzytelniania Google dla języka Java. Więcej informacji znajdziesz w artykule na temat używania protokołu OAuth 2.0 z biblioteką klienta interfejsu API Google dla języka Java.

Określ konfigurację OAuth klienta w CredentialsProvider podczas tworzenia PhotoLibrarySettings dla obiektu PhotosLibraryClient.

Wypróbuj kilka przykładów

Wypróbuj poniższy kod, aby wykonać pierwsze wywołanie interfejsu API za pomocą biblioteki klienta w języku Java.

// Set up the Photos Library Client that interacts with the API
PhotosLibrarySettings settings =
     PhotosLibrarySettings.newBuilder()
    .setCredentialsProvider(
        FixedCredentialsProvider.create(/* Add credentials here. */)) 
    .build();

try (PhotosLibraryClient photosLibraryClient =
    PhotosLibraryClient.initialize(settings)) {

    // Create a new Album  with at title
    Album createdAlbum = photosLibraryClient.createAlbum("My Album");

    // Get some properties from the album, such as its ID and product URL
    String id = album.getId();
    String url = album.getProductUrl();

} catch (ApiException e) {
    // Error during album creation
}

Na GitHubie znajdziesz więcej przykładów do wypróbowania.