Невозможно сделать аутентифицированный запрос к dialogFlow V2, используя скрипт python и ключ json - PullRequest
0 голосов
/ 10 января 2019

Я хочу получить доступ к API определения намерений агента dialogFlow, для которого я создал учетную запись службы и сгенерировал ключ json. Согласно документам DialogFlow: https://dialogflow.com/docs/reference/v2-auth-setup

Я получаю сообщение об ошибке при выполнении аутентифицированного запроса к DialogFlow V2 API. Ниже приведен скрипт Python, запускающий этот запрос в Django Framework в views.py

import os
from google.cloud import storage

BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
filepath = os.path.join(os.path.dirname(BASE_DIR),'XXXkeyfileXX.json')
os.environ['GOOGLE_APPLICATION_CREDENTIALS'] = filepath
#Django framework way of mentioning file path

storage_client = storage.Client() 
#works fine till here. No error.Checked in python console

buckets = list(storage_client.list_buckets())

ОШИБКА показана :

Forbidden: 403 POST https://www.googleapis.com/storage/v1/b?project=XXXwa-49f87: wasa@XXXwa-49f87.iam.gservice
    account.com does not have storage.buckets.create access to project 562068428084.

Журнал трассировки

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/home/rhtry/.local/lib/python3.7/site-packages/google/cloud/storage/client.py", line 287, in create_bucket
    bucket.create(client=self, project=project)
  File "/home/rhtry/.local/lib/python3.7/site-packages/google/cloud/storage/bucket.py", line 495, in create
    _target_object=self,
  File "/home/rhtry/.local/lib/python3.7/site-packages/google/cloud/_http.py", line 319, in api_request
    raise exceptions.from_http_response(response)
google.api_core.exceptions.Forbidden: 403 POST https://www.googleapis.com/storage/v1/b?project=XXXwa-49f87: wasa@XXXwa-49f87.iam.gservice
account.com does not have storage.buckets.create access to project 562068428084.

Я назначил роль администратора клиента DialogFlow API при создании учетной записи службы, как указано в https://dialogflow.com/docs/reference/v2-auth-setup

Я использовал python3 в качестве языка.

...