繁体   English   中英

如何将Dialogflow与Django python集成并使用RESTful API?

[英]How to integrate Dialogflow with Django python and consume RESTful APIs?

大家好,我目前正在使用Google的Dialogflow开发一个聊天机器人,我真的需要帮助。

我已经看过如何将Dialogflow与Django(Python)集成? 但我仍然感到困惑,我不知道下一步该怎么做。 我们的Django项目已经设置好,并且我已经在Dialogflow中创建了我的代理 ,我还学习了如何使用ngrok将Dialogflow连接到实现/ webhook。 我也是Django python的新手,这些只是我到目前为止所做的事情。

我已经搜索了几乎(如果不是全部)关于如何使用RESTful API将Dialogflow集成到Django python的教程/文章/视频, 但没有找到如何实现的。 大多数教程使用FlaskNodeJS作为后端。

尽管本教程使用Flask https://www.pusher.com/tutorials/chatbot-flask-dialogflow/ ,但我尝试这样做只是为了对如何将dialogflow集成到后端并调用RESTful API有所了解。 我设法复制了本教程中所做的工作,但是不幸的是,由于我很陌生,所以我不理解后端的编码部分或设置Webhook的代码。

我现在真的迷路了,我真的不知道在后端(Django)中编码什么才能将RESTful API连接到Dialogflow。 如果你们能帮助我并提供一些详细的代码说明,或逐步将Dialogflow集成到Django并使用RestFUL API,我将非常感谢。

虽然您可以使用Dialogflow Python API进行文本请求,但我个人仅使用其POST接口。 因为对我来说使用起来更简单。 好消息是,您无需弄乱Webhook。

您需要的只是Dialogflow控制台中的客户端访问令牌。 上面写着:YOUR_CLIENT_ACCESS_TOKEN',您只需输入访问令牌。

然后,您可以像这样发送HTTP POST请求:

curl \
https://api.dialogflow.com/v1/query?v=20150910 \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer YOUR_CLIENT_ACCESS_TOKEN' \
-d '{
  "lang": "en",
  "query": "I need apples",
  "sessionId": "12345",
  "timezone": "America/New_York"
}'

https://dialogflow.com/docs/reference/agent/query

我通常使用来自Python的“请求”包,您可以使用该包进行安装

pip install requests

请求示例

我认为它非常漂亮且易于使用。 仅当您要使用的功能不仅仅是向Dialogflow发送查询(例如,添加或删除Intent)时,您将需要的不止于此。 但是出于您的目的,这就足够了。 希望对您有所帮助,请随时提出更多意见。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM