Приложение CLI с использованием API Google
Я хочу создать приложение, которое будет загружать все мои фотографии в Google Фото. Я думал, что это должно быть легко с доступным API.
Это должно быть приложение CLI, которое будет периодически запускаться из cron. Но когда я посмотрел на API Google Фото, они использовали OAuth2. В примере показано использование FixedCredentials:
PhotosLibrarySettings settings =
PhotosLibrarySettings.newBuilder()
.setCredentialsProvider(
FixedCredentialsProvider.create(/* Add credentials here. */))
.build();
Проблема в той части, где /* Add credentials here. */
является. Как я могу предоставить свои учетные данные пользователя там? Есть множество классов, которые реализуют Credentials
но ни один из них не похож на тот, который позволил бы мне автоматизировать поиск в приложении CLI.
Единственное, что я получаю от Google, это client_id и client_token для моего приложения, но как превратить его в токен доступа / обновления, чтобы я мог использовать его без моего взаимодействия?
Я действительно надеюсь, что мне не нужно запускать веб-браузер для загрузки моих фотографий.
1 ответ
API библиотеки Google Фото принимает только учетные данные пользователя OAuth. Это означает, что пользователи должны заполнить Google OAuth Flow, что означает авторизацию на основе браузера.
Примечание. API библиотеки не поддерживает учетные записи служб. Ваше приложение должно использовать другие доступные потоки OAuth 2.0, такие как OAuth 2.0 для приложений веб-сервера или OAuth 2.0 для мобильных и настольных приложений.
Ваше приложение должно использовать OAuth 2.0 для авторизации запросов. Другие протоколы авторизации не поддерживаются. Если ваше приложение использует Google Sign-In, некоторые аспекты авторизации обрабатываются для вас.
Эти ссылки детализируют эти требования: