Я стремлюсь отслеживать изменения (эта часть вполне вполне) < /p>
Но я изо всех сил пытаюсь понять, что не так с Google oauth
Во -первых, я разочарован с использованием класса LocalServerReceiver , как обычно показано в быстрых запусках, как описано здесь : https://developers.google.com/drive/api/quickstart/java написан URL.
Этот класс имеет жестко кодированный http: // в нем:
Код: Выделить всё
return "http://" + this.getHost() + ":" + this.port + this.callbackPath;
Итак ... как я должен слушать ответ OAuth? Способ служить ответам OAuth с использованием стандартного пружинного контроллера, без этого сервера придумывания? : // вместо этого. Его работает. < /P>
Я могу подключить свое приложение, я могу отслеживать некоторые изменения.
Я могу возобновить отслеживание изменений с помощью планировщика (он истекает в какой -то момент - для цели тестирования i 'M делаю это чаще, чем необходимо) с помощью Drive.Changes (). Смотреть (...) снова (останавливая предыдущий раньше). Это работает несколько раз, но менее чем через 30 минут я больше не могу использовать API, я получаю следующую ошибку: < /p>
Код: Выделить всё
java.lang.RuntimeException: com.google.api.client.googleapis.json.GoogleJsonResponseException: 401 Unauthorized
GET https://www.googleapis.com/drive/v3/changes/startPageToken
{
"code": 401,
"errors": [
{
"domain": "global",
"location": "Authorization",
"locationType": "header",
"message": "Invalid Credentials",
"reason": "authError"
}
],
"message": "Request had invalid authentication credentials. Expected OAuth 2 access token, login cookie or other valid authentication credential. See https://developers.google.com/identity/sign-in/web/devconsole-project.",
"status": "UNAUTHENTICATED"
}
at xxxx.WatchExpirationRunnableTask.run(WatchExpirationRunnableTask.java:28)
at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54)
at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:572)
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:317)
at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:304)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642)
at java.base/java.lang.Thread.run(Thread.java:1583)
Caused by: com.google.api.client.googleapis.json.GoogleJsonResponseException: 401 Unauthorized
< /code>
Google зависимости: < /p>
com.google.api-client
google-api-client
2.0.0
com.google.oauth-client
google-oauth-client-jetty
1.34.1
com.google.apis
google-api-services-drive
v3-rev20220815-2.0.0
Спасибо, что прочитали меня.
Подробнее здесь: https://stackoverflow.com/questions/794 ... e-java-sdk
Мобильная версия