Приложение CLI с использованием API Google - PullRequest
0 голосов
/ 27 декабря 2018

Я хочу создать приложение, которое будет загружать все мои фотографии в 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 Ответ

0 голосов
/ 27 декабря 2018

API библиотеки Google Фото принимает только OAuth Учетные данные пользователя .Это означает, что пользователи должны заполнить Google OAuth Flow, что означает авторизацию на основе браузера.

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

Ваше приложение должно использовать OAuth 2.0 для авторизации запросов.Другие протоколы авторизации не поддерживаются.Если ваше приложение использует Google Sign-In, некоторые аспекты авторизации обрабатываются для вас.

В этой ссылке подробно описаны эти требования:

Области аутентификации и авторизации

...