6

ドキュメントに記載されているように、dialogflow API をアクティブ化するとともに、クラウド アカウントをセットアップしました。次に、dialogflow.com アカウントで dialogflow V2 を有効にし、同じ Google プロジェクトを設定しました。

Google資格情報をJSON形式でダウンロードし、それに応じて認証用のパスも設定しました。

このすべてを行った後、私が走ったとき

from google.cloud import storage
storage_client = storage.Client()
buckets = list(storage_client.list_buckets())
print(buckets)

それは私にエラーを与えました、

OSError: Project was not passed and could not be determined from the environment.

そこで、ストレージ クライアント自体にプロジェクト名を設定しました。

storage_client = storage.Client(project='[Project-id]')

それで、コードの問題は解決しましたが、ドキュメントに記載されているように、プロジェクトIDを提供する必要なく、プロジェクトIDを独自に検出する必要があったと思います。

この後、接続を確認するために以下のプログラムを実行してみました。

import dialogflow_v2beta1
client = dialogflow_v2beta1.AgentsClient()
parent = client.project_path('[Project-id]')
response = client.import_agent(parent)

def callback(operation_future):
    result = operation_future.result()

response.add_done_callback(callback)
metadata = response.metadata()

この後、次のエラーが表示されます。

PermissionDenied: 403 Dialogflow API has not been used in project usable-auth-library before or it is disabled. Enable it by visiting https://console.developers.google.com/apis/api/dialogflow.googleapis.com/overview?project=usable-auth-library then retry. If you enabled this API recently, wait a few minutes for the action to propagate to our systems and retry.

どんな助けでも大歓迎です。

4

3 に答える 3

1

環境変数GOOGLE_APPLICATION_CREDENTIALS https://cloud.google.com/dialogflow-enterprise/docs/reference/librariesを設定してください

例:

export GOOGLE_APPLICATION_CREDENTIALS="/home/thanhha/owner-project-ab.json"
于 2018-04-26T06:44:57.017 に答える