如何将Python与Dialogflow Chatbot连接

时间:2018-07-29 20:24:27

标签: python firebase firebase-authentication pycharm dialogflow

我已经在Dialogflow中创建了一个聊天机器人,现在我想使用Pycharm将其实现到我自己的Python环境中。我还需要采取哪些其余步骤来将两者连接起来,以便我能够根据用户输入(全部通过Python)触发Dialogflow意图?我已经在以下代码中测试了一个Firestore查询,并且该查询已成功运行,所以我知道AdminSDK的设置正确。

import os
import json
import sys
import dialogflow
from dialogflow_v2beta1 import *
import firebase_admin
from firebase_admin import firestore
from firebase_admin import credentials
import requests.packages.urllib3
requests.packages.urllib3.disable_warnings()
import Tkinter
from Tkinter import *

#Initialize the firebase admin SDK
cred = credentials.Certificate('./mycredfile.json')
default_app = firebase_admin.initialize_app(cred)
db = firestore.client()

#halfcoded gui in chatbot format, to later publish in html and allow user to acess

#window = Tk()
#window.title("Chatbot")
#window.geometry('400x400')
#User_Input = Entry(window, width=50).place(x=20, y=350)
#subButton = Button(window, text="Send")
#subButton.place(x =350, y=350)
#window.mainloop()

给我的印象是,我只需要实现adminSDK .json文件。 进一步阅读Here使我相信我需要设置身份验证,因此已将其添加到上面的代码中:

#Connect to Dialogflow using Service Account Credential
def explicit():
    from google.cloud import storage

    # Explicitly use service account credentials by specifying the private key file.

    storage_client = storage.Client.from_service_account_json(
        './chatbot-pvtkeyfile.json')
    # Make an authenticated API request
    buckets = list(storage_client.list_buckets())
    print(buckets)

尽管如此,但仅显示“处理完成”。从这里开始,有什么方法可以检查我的平台是否可以与我的机器人通信,即接受用户输入并有意图地进行响应。

1 个答案:

答案 0 :(得分:2)

已解决

我还必须启动GOOGLE_APPLICATION_CREDENTIALS,这使我能够从Dialogflow集成我的机器人。