Я просто пытаюсь создать простое приложение, но не могу даже пройти аутентификацию пользователя.Я использую клиентскую библиотеку Google OAuth для Java.
Вот текущие шаги, которые я предпринимаю:
- Запустите локальный веб-сервер для прослушивания ответа обратной связи после проверки подлинности OAuth.
Создание URL-адреса авторизации:
String url = new AuthorizationCodeRequestUrl(AUTH_URL, CLIENT_ID)
.setScopes(scopes) // Contains https://www.googleapis.com/auth/drive.readonly
.setRedirectUri(LOCALHOST + r.getPort()) // Port of local web server
.build();
- Использование URL-адреса для аутентификации аккаунта.
- Google возвращает код авторизации.
Обменкод авторизации для токена доступа.
TokenResponse token = new AuthorizationCodeTokenRequest(...)
.setRedirectUri("http://localhost") // <--
.setClientAuthentication(getClientAuth()) // ClientParametersAuthentication object
.execute();
Здесь возникает моя проблема.Независимо от того, какое значение я ввел для redirect_uri
, я всегда получаю {"error":"redirect_uri_mismatch","error_description":"Bad Request"}
взамен.
При поиске в Google ошибки, каждый результат говорит о том, что отправленное redirect_uri
не зарегистрирован в консоли API.
Когда я загружаю json-файл с учетными данными, раздел redirect_uris
содержит "urn:ietf:wg:oauth:2.0:oob","http://localhost"
, но это все та же ошибка, независимо от того, что я вставил.
Я пошел нараздел «Учетные данные» проекта, чтобы исправить это, но поскольку это установленное приложение, создание учетных данных для проекта дает мне возможность no установить любой URI перенаправления.Единственный способ получить доступ к изменению redirect_uris - это создать учетные данные для «веб-приложения», но это не веб-приложение, и у меня нет домена, на который он может перенаправить.
Так что яЯ застрял, опции redirect_uri мне не доступны, и никакое значение, которое я использую, не работает, я, честно говоря, не знаю, что еще попробовать.Какие шаги я могу предпринять, чтобы это исправить?