403 Запрос имеет недостаточные области проверки подлинности. При отправке запросов в Google Cloud NLP API с учетными данными приложения по умолчанию - PullRequest
0 голосов
/ 18 марта 2019

Мне нужно сделать запрос от скрипта Python, который размещен на уже созданном экземпляре движка Google Cloud Compute, к API NLP Google cloud. Поэтому я выполнил шаги, необходимые для выполнения этой задачи.

  1. Я активировал NLP API для своего проекта, который также включает в себя экземпляр виртуальной машины
  2. Я загрузил служебный ключ (в формате JSON) для учетной записи службы по умолчанию, которая была создана на виртуальной машине (потому что я пытаюсь пройти проверку подлинности с использованием учетных данных приложения по умолчанию)
  3. Я установил переменную среды GOOGLE_APPLICATION_CREDENTIALS для пути к загруженным ключам
  4. Установлена ​​облачная клиентская библиотека Google для Python

Затем я приступил к проверке работоспособности учетных данных, запустив пример с API хранилища Google, и он возвратил пустой список, что означает, что он работал должным образом.

Но я получаю следующую ошибку, когда пытаюсь звонить в NLP API

 Traceback (most recent call last):
 File "/home/user/anaconda3/lib/python3.7/site- 
 packages/google/api_core/grpc_helpers.py", line 57, in 
 error_remapped_callable
 return callable_(*args, **kwargs)
 File "/home/user/anaconda3/lib/python3.7/site- 
 packages/grpc/_channel.py", line 549, in __call__
 return _end_unary_response_blocking(state, call, False, None)
 File "/home/user/anaconda3/lib/python3.7/site- 
 packages/grpc/_channel.py", line 466, in _end_unary_response_blocking
 raise _Rendezvous(state, None, None, deadline)
 grpc._channel._Rendezvous: <_Rendezvous of RPC that terminated with:
 status = StatusCode.PERMISSION_DENIED
 details = "Request had insufficient authentication scopes."
 debug_error_string = " 
 {"created":"@1552931720.241957477","description":"Error received from peer","file":"src/core/lib/surface/call.cc","file_line":1039,"grpc_message":"Request had insufficient authentication scopes.","grpc_status":7}">

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/home/user/anaconda3/lib/python3.7/site- 
packages/google/cloud/language_v1/gapic/language_service_client.py", 
line 230, in analyze_sentiment
request, retry=retry, timeout=timeout, metadata=metadata
File "/home/user/anaconda3/lib/python3.7/site- 
packages/google/api_core/gapic_v1/method.py", line 143, in __call__
return wrapped_func(*args, **kwargs)
File "/home/user/anaconda3/lib/python3.7/site- 
packages/google/api_core/retry.py", line 270, in retry_wrapped_func
on_error=on_error,
File "/home/user/anaconda3/lib/python3.7/site- 
packages/google/api_core/retry.py", line 179, in retry_target
return target()
File "/home/usere/anaconda3/lib/python3.7/site- 
packages/google/api_core/timeout.py", line 214, in func_with_timeout
return func(*args, **kwargs)
File "/home/user/anaconda3/lib/python3.7/site- 
packages/google/api_core/grpc_helpers.py", line 59, in 
error_remapped_callable
six.raise_from(exceptions.from_grpc_error(exc), exc)
File "<string>", line 3, in raise_from
google.api_core.exceptions.PermissionDenied: 403 Request had 
insufficient authentication scopes.

Есть идеи, почему это происходит?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...