Google Doc AI Java SDK packageProcessDocumentsAsync выдает ошибку «UNAUTHENTICATED» с location=eu и фиксированнымCredentJAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Google Doc AI Java SDK packageProcessDocumentsAsync выдает ошибку «UNAUTHENTICATED» с location=eu и фиксированнымCredent

Сообщение Anonymous »

Я следую примеру кода из примеров кода Google Document AI, чтобы сделать запрос асинхронной обработки через Java SDK здесь: https://cloud.google.com/document-ai/do ... _document- java
Единственное отличие, которое я добавил:

Код: Выделить всё

DocumentProcessorServiceSettings ss = DocumentProcessorServiceSettings
.newBuilder()
.setCredentialsProvider(
FixedCredentialsProvider.create(
GoogleCredentials.fromStream(
new FileInputStream(adcLocation)
)
)
)
.setEndpoint(endpoint)
.build();
Что я здесь сделал, чтобы представить:
  • Поставщик учетных данных — в частности, json-файл ADC.
  • Конечная точка как переменная — это потому, что некоторые из моих процессоров находятся в ЕС.
Если бы я использовал значение по умолчанию конечная точка documentai.googleapis.com:443, тогда все работает. Однако для процессоров, размещенных в ЕС, я бы получил следующее:

Код: Выделить всё

java.util.concurrent.ExecutionException: com.google.api.gax.rpc.InvalidArgumentException: io.grpc.StatusRuntimeException: INVALID_ARGUMENT: Invalid location: 'eu' must match the server deployment 'us'
at com.google.common.util.concurrent.AbstractFuture.getDoneValue(AbstractFuture.java:588)
at com.google.common.util.concurrent.AbstractFuture.get(AbstractFuture.java:567)
at com.google.common.util.concurrent.FluentFuture$TrustedFuture.get(FluentFuture.java:91)
at com.google.common.util.concurrent.ForwardingFuture.get(ForwardingFuture.java:66)
at com.google.api.gax.longrunning.OperationFutureImpl.getName(OperationFutureImpl.java:136)
Поэтому я предположил, что мне также нужно изменить свою конечную точку. Поэтому я изменил его на eu-documentai.googleapis.com:443 и получил следующее:

Код: Выделить всё

java.util.concurrent.ExecutionException: com.google.api.gax.rpc.UnauthenticatedException: io.grpc.StatusRuntimeException: UNAUTHENTICATED: 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.
at com.google.common.util.concurrent.AbstractFuture.getDoneValue(AbstractFuture.java:588)
at com.google.common.util.concurrent.AbstractFuture.get(AbstractFuture.java:567)
at com.google.common.util.concurrent.FluentFuture$TrustedFuture.get(FluentFuture.java:91)
at com.google.common.util.concurrent.ForwardingFuture.get(ForwardingFuture.java:66)
at com.google.api.gax.longrunning.OperationFutureImpl.getName(OperationFutureImpl.java:136)
Так что же может быть не так?
Я также пытался отправить тот же запрос через Postman, но он работал как с documentai .googleapis.com и eu-documentai.googleapis.com и тот же ADC – за исключением того, что в Postman я использовал gcloud auth application-default print-access-token прежде чем копировать и вставлять его в токен носителя.

Подробнее здесь: https://stackoverflow.com/questions/760 ... icated-err
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»