Похоже, вы используете служебную учетную запись для доступа к API. Сервисные учетные записи не поддерживаются API библиотеки Google Photos.
Вам потребуется настроить OAuth 2.0 для веб-приложения , как описано здесь :
- Перейдите на Консоль разработчиков Google и откройте свой проект
- Перейдите на Страница учетных данных из меню
- Нажмите Создать учетные данные > Идентификатор клиента OAuth
- Установите тип приложения Веб-приложение и заполните форму.Также укажите URI перенаправления для вашего приложения для получения обратного вызова из запроса OAuth и URI вашего приложения .
Затем вы будете использовать client Id
и client secret
возвращены на этой странице как часть ваших запросов.Если вам нужен автономный доступ, то есть доступ, когда пользователь отсутствует в браузере, вы также можете запросить offline
access_type
и использовать refresh tokens
для поддержки доступа.
Похоже, что вы естьс помощью Java-клиента Google API, который также поддерживает этот поток.Установите клиентские секреты на сборщике, вызвав setClientSecrets(..)
следующим образом:
return new GoogleCredential.Builder()
.setTransport(HTTP_TRANSPORT)
.setJsonFactory(JSON_FACTORY)
.setClientSecrets(CLIENT_ID, CLIENT_SECRET)
.build();
Вам также необходимо обработать обратный вызов из запроса OAuth в вашем приложении, где вы получите доступтокены по URL-адресу обратного вызова , который вы настроили в консоли разработчика.
В документации для клиентской библиотеки .
также есть более полный пример.