Начало работы с клиентской библиотекой Java

Чтобы начать использовать API библиотеки Google Фото с клиентской библиотекой Java, вам необходимо настроить клиентскую библиотеку в своей среде разработки. Прежде чем сделать это, настройте свой проект , включив API через консоль Google API и настроив идентификатор клиента OAuth 2.0.

Ваше приложение взаимодействует с Google Фото от имени пользователя Google Фото. Например, когда вы создаете альбомы в библиотеке Google Фото пользователя или загружаете мультимедийные элементы в учетную запись пользователя в Google Фото, пользователь авторизует эти запросы API через протокол OAuth 2.0 .

Идентификатор клиента OAuth 2.0 позволяет пользователям вашего приложения входить в систему, проходить аутентификацию и, таким образом, использовать API библиотеки. API библиотеки не поддерживает учетные записи служб; Чтобы использовать этот API, пользователи должны войти в действующую учетную запись Google.

Настройте свое приложение

Включить API

Прежде чем вы сможете использовать API библиотеки, вы должны включить его для своего проекта.

  1. Перейдите в консоль Google API .
  2. В строке меню выберите проект или создайте новый проект.
  3. Чтобы открыть библиотеку API Google, в меню навигации выберите API и службы > Библиотека .
  4. Найдите «API библиотеки Google Фото». Выберите правильный результат и нажмите «Включить» .

Запросить идентификатор клиента OAuth 2.0

Выполните следующие действия, чтобы запросить идентификатор клиента OAuth и настроить его для своего приложения. В этом примере используется приложение, в котором весь поток OAuth обрабатывается на стороне сервера, например, как в наших примерах. Процесс установки может отличаться для других сценариев реализации .

  1. Перейдите в консоль Google API и выберите свой проект.
  2. В меню выберите API и службы > Учетные данные .
  3. На странице «Учетные данные» нажмите «Создать учетные данные» > «Идентификатор клиента OAuth» .
  4. Выберите тип приложения . В этом примере типом приложения является веб-приложение .
  5. Зарегистрируйте источники, из которых вашему приложению разрешен доступ к API Google, следующим образом:

    1. Чтобы определить идентификатор клиента, введите имя.
    2. В поле «Авторизованные источники JavaScript» введите источник вашего приложения. В этом поле нельзя использовать подстановочные знаки.

      Вы можете указать несколько источников, чтобы ваше приложение могло работать на разных протоколах, доменах или поддоменах. URL-адреса, которые вы вводите, могут запускать запрос OAuth.

      В следующем примере показан локальный URL-адрес разработки (в наших примерах используется localhost:8080 ) и рабочий URL-адрес.

      http://localhost:8080
      https://myproductionurl.example.com
      
    3. Поле URI авторизованного перенаправления — это конечная точка, которая получает ответы от сервера OAuth 2.0. Обычно это включает в себя вашу среду разработки и указывает путь в вашем приложении.

      http://localhost:8080/auth/google/callback
      https://myproductionurl.example.com/auth/google/callback
      
    4. Нажмите Создать .

  1. В появившемся диалоговом окне клиента OAuth загрузите файл JSON, содержащий конфигурацию вашего клиента. Сведения о вашем клиенте включают следующее:

    • ID клиента
    • Секрет клиента

    Этот файл JSON будет использоваться позже для настройки библиотеки Google Auth для Java, которая работает с этой клиентской библиотекой.

Прежде чем вы сможете запустить общедоступное приложение, имеющее доступ к API библиотеки, ваше приложение должно быть проверено Google. Когда вы тестируете приложение, на экране появляется сообщение «Непроверенное приложение», пока оно не будет проверено .

Настройте клиентскую библиотеку

Клиентская библиотека Java обрабатывает за вас все внутренние вызовы API и предоставляет удобные для работы объекты, включая примеры кода для некоторых распространенных задач API. Сначала загрузите и установите клиентскую библиотеку Google Photos Library API для Java вместе с зависимостями с GitHub . Затем настройте свои учетные данные OAuth2 для Java.

Варианты загрузки

Вот несколько вариантов загрузки клиентской библиотеки:

  • Зависимость Gradle:

    Чтобы использовать эту библиотеку с Gradle, добавьте следующую зависимость в файл build.gradle .

    repositories {
      mavenCentral()
    }
    dependencies {
      compile 'com.google.photos.library:google-photos-library-client:1.7.3'
    }
    
  • Зависимость Maven:

    Чтобы использовать эту библиотеку с Maven, добавьте следующее в файл pom.xml Maven.

    <dependency>
      <groupId>com.google.photos.library</groupId>
      <artifactId>google-photos-library-client</artifactId>
      <version>1.7.3</version>
    </dependency>
    
  • Скачать релиз:

    Страница выпусков содержит различные артефакты для каждого выпуска библиотеки, включая файлы jar.

  • Клонируем репозиторий:

    Используйте этот метод, если вы хотите изменить или внести свой вклад в эту библиотеку, например, отправив запросы на включение, или если вы хотите попробовать наши образцы. Когда вы клонируете репозиторий, все файлы в этом репозитории будут загружены.

    1. Запустите git clone https://github.com/google/java-photoslibrary.git в командной строке.
    2. Вы получите каталог java-photoslibrary . Перейдите к нему, запустив cd java-photoslibrary .
    3. Откройте файл build.gradle в своей IDE или запустите ./gradlew assemble в командной строке, чтобы собрать проект. См. ./gradlew tasks , чтобы увидеть доступные задачи.

Настройте свои учетные данные OAuth2 для Java

Эта клиентская библиотека работает с библиотекой Google Auth для Java . Дополнительную информацию см. в разделе Использование OAuth 2.0 с клиентской библиотекой Google API для Java .

Укажите конфигурацию OAuth клиента в CredentialsProvider при создании PhotoLibrarySettings для объекта PhotosLibraryClient .

Попробуйте несколько образцов

Попробуйте приведенный ниже код, чтобы выполнить первый вызов API с использованием клиентской библиотеки 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
}

На GitHub есть еще примеры , которые вы можете попробовать.