Чтобы начать использовать 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 библиотеки, вы должны включить его для своего проекта.
- Перейдите в консоль Google API .
- В строке меню выберите проект или создайте новый проект.
- Чтобы открыть библиотеку API Google, в меню навигации выберите API и службы > Библиотека .
- Найдите «API библиотеки Google Фото». Выберите правильный результат и нажмите «Включить» .
Запросить идентификатор клиента OAuth 2.0
Выполните следующие действия, чтобы запросить идентификатор клиента OAuth и настроить его для своего приложения. В этом примере используется приложение, в котором весь поток OAuth обрабатывается на стороне сервера, например, как в наших примерах. Процесс установки может отличаться для других сценариев реализации .
- Перейдите в консоль Google API и выберите свой проект.
- В меню выберите API и службы > Учетные данные .
- На странице «Учетные данные» нажмите «Создать учетные данные» > «Идентификатор клиента OAuth» .
- Выберите тип приложения . В этом примере типом приложения является веб-приложение .
Зарегистрируйте источники, из которых вашему приложению разрешен доступ к API Google, следующим образом:
- Чтобы определить идентификатор клиента, введите имя.
В поле «Авторизованные источники JavaScript» введите источник вашего приложения. В этом поле нельзя использовать подстановочные знаки.
Вы можете указать несколько источников, чтобы ваше приложение могло работать на разных протоколах, доменах или поддоменах. Введенные вами URL-адреса могут запускать запросы OAuth.
В следующем примере показан локальный URL-адрес разработки (в наших примерах используется
localhost:8080
) и рабочий URL-адрес.http://localhost:8080 https://myproductionurl.example.com
Поле URI авторизованного перенаправления — это конечная точка, которая получает ответы от сервера OAuth 2.0. Обычно это включает в себя вашу среду разработки и указывает путь в вашем приложении.
http://localhost:8080/auth/google/callback https://myproductionurl.example.com/auth/google/callback
Нажмите Создать .
В появившемся диалоговом окне клиента OAuth загрузите файл JSON, содержащий конфигурацию вашего клиента. Сведения о вашем клиенте включают следующее:
- Идентификатор клиента
- Секрет клиента
Этот файл 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.
Клонируем репозиторий:
Используйте этот метод, если вы хотите изменить или внести свой вклад в эту библиотеку, например, отправив запросы на включение, или если вы хотите попробовать наши образцы. Когда вы клонируете репозиторий, все файлы в этом репозитории будут загружены.
- Запустите
git clone https://github.com/google/java-photoslibrary.git
в командной строке. - Вы получите каталог
java-photoslibrary
. Перейдите к нему, запустивcd java-photoslibrary
. - Откройте файл
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 есть еще примеры , которые вы можете попробовать.