2 回答

TA貢獻1829條經驗 獲得超6個贊
您需要從 導出服務帳戶密鑰 (JSON)文件,并將環境變量設置GOOGLE_APPLICATION_CREDENTIALS為包含服務帳戶密鑰的 JSON 文件的文件路徑。然后你就可以調用dialogflow了。
獲取服務帳戶密鑰的步驟: 確保您使用的是 Dialogflow v2。轉到常規設置并單擊您的服務帳戶。這會將您重定向到 Google Cloud Platform 項目的服務帳戶頁面。下一步是為服務帳戶創建新密鑰。現在創建一個服務帳戶并選擇 JSON 作為輸出密鑰。按照說明操作,JSON 文件將下載到您的計算機。該文件將用作GOOGLE_APPLICATION_CREDENTIALS.
現在在代碼中,
import os
import dialogflow
os.environ["GOOGLE_APPLICATION_CREDENTIALS"] = "/path/to/file.json"
project_id = "your_project_id"
session_id = "your_session_id"
language_code = "en"
session_client = dialogflow.SessionsClient()
session = session_client.session_path(project_id, session_id)
text_input = dialogflow.types.TextInput(text=text, language_code=language_code)
query_input = dialogflow.types.QueryInput(text=text_input)
response_dialogflow = session_client.detect_intent(session=session, query_input=query_input)

TA貢獻1802條經驗 獲得超4個贊
如果您想從文件系統中獲取文件,此方法也適用。推薦的方法是使用環境變量
import json
from google.cloud import dialogflow_v2
from google.oauth2 import *
session_client = None
dialogflow_key = None
creds_file = "/path/to/json/file.json"
dialogflow_key = json.load(open(creds_file))
credentials = (service_account.Credentials.from_service_account_info(dialogflow_key))
session_client = dialogflow_v2.SessionsClient(credentials=credentials)
print("it works : " + session_client.DEFAULT_ENDPOINT) if session_client is not None
else print("does not work")
我忘記添加主要文章抱歉...這里是:
https://googleapis.dev/python/google-auth/latest/user-guide.html#service-account-private-key-files
添加回答
舉報