Я не знаю, как передать учетные данные в API библиотеки Google Photos после того, как пользователь прошел проверку подлинности с помощью входа в Google и получил разрешение на использование API библиотеки Google Photos.
Я занимаюсь разработкой мобильного приложения (без внутреннего сервера, только что установил приложение для Android). Цель этого пользователя:
аутентификация (с учетной записью Google)
разрешает приложению использовать библиотеку Google Фото
управление фотографиями.
Точки 1 и 2 в моем проекте нормальные. Для этого я использую Google Sign-In. Все работает. Но пункт 3 не работает: я не знаю, как вставить учетные данные в объект PhotosLibrarySetting:
PhotosLibrarySettings settings = PhotosLibrarySettings.newBuilder ()
.setCredentialsProvider (FixedCredentialsProvider.create («добавить учетные данные здесь»). build ();
Я попытался вставить файл "учетные данные json", например
GoogleCredentials.fromStream (getAssets (). Open ("система" + File.separator + "credentials.json"))
но работает только с ключом учетной записи службы (в консоли API Google), а у меня его нет. У меня только 2 учетных данных, созданных в моей консоли API Google: один oAuthClientID для Android и один oAuthClientID для веб-клиента (автоматически создается для входа в Google). И загрузка обоих учетных данных json этих последних идентификаторов клиентов не работает.
Я также пытался использовать токен, полученный из GoogleSignInOptions (функция getIdToken) после аутентификации и авторизации с помощью GoogleSignIn, например:
// acc - объект, соответствующий учетной записи пользователя
AccessToken tken = new AccessToken (acc.getIdToken (), new Date (System.currentTimeMillis () + 3000000));
GoogleCredentials.newBuilder (). SetAccessToken (tken) .build ()))
но я получаю ошибку:
UNAUTHENTICATED: у запроса были неверные учетные данные аутентификации. Ожидаемый токен доступа OAuth 2, файл cookie для входа или другие действительные учетные данные для аутентификации.