从Django中的Dialogflow访问webhook信息
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了从Django中的Dialogflow访问webhook信息相关的知识,希望对你有一定的参考价值。
我已配置Dialogflow以在询问名称后发出POST请求。当我在在线请求查看器中查看信息时,我可以在“查询字符串”部分中看到所需的信息:
> "responseId": "045c0d0b-7b5b-448e...",
> "queryResult":
> "queryText": "rob",
> "parameters":
> "last-name": "lastname",
> "given-name": "Rob"
> ,
但是在Django中,我找不到此信息。我试图将完整的request和request.META保存在数据库中。
我的服务器上收到的请求看起来像:
'QUERY_STRING':'','REQUEST_METHOD':'POST','CONTENT_TYPE':'application / json','CONTENT_LENGTH':'5323','REQUEST_URI':'/ folder','PATH_INFO':'/ folder','DOCUMENT_ROOT':'/home/info/domains/mysite.info/private_html'、'SERVER_PROTOCOL':'HTTP / 1.1','HTTPS':'on','REMOTE_ADDR':'64 .233.172.250','REMOTE_PORT':'53451','SERVER_PORT':'443','SERVER_NAME':'mysite.info','HTTP_CONTENT_TYPE':'application / json','HTTP_HOST':'www.mysite.info','HTTP_CONTENT_LENGTH':'5323','HTTP_CONNECTION':'keep-alive','HTTP_ACCEPT':'/','HTTP_USER_AGENT':'Google-Dialogflow','HTTP_ACCEPT_ENCODING':'gzip,deflate,br','wsgi.input':,'wsgi.file_wrapper':,'wsgi.version':(1,0),'wsgi.errors':<_io.textiowrapper>,'wsgi.run_once':False,'wsgi.multithread':False,'wsgi.multiprocess':True,'wsgi.url_scheme':'https','uwsgi.version':b'2.0.18','uwsgi.node':b'server.mysite.info','SCRIPT_NAME':``
我在Uwsgi中使用nginx
我如何在Django中访问完整信息?
我应该在视图中使用request.body。无需在Dialogflow中使用自定义标头。所有需要的信息都在请求中。
以上是关于从Django中的Dialogflow访问webhook信息的主要内容,如果未能解决你的问题,请参考以下文章
如何管理 Dialogflow / Api.ai 中的 5 秒响应超时限制?
Dialogflow:在意图中引用输出上下文(即这个NodeJS客户端库的用途是什么?)