从Django中的Dialogflow访问Webhook信息

时间:2019-10-04 14:18:37

标签: django request dialogflow

我已经配置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名称= 2   mode ='w'encoding ='UTF-8'>,'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':''}

我将Nginx与Uwsgi一起使用

如何在Django中访问全部信息?

1 个答案:

答案 0 :(得分:0)

我应该在视图中使用request.body。无需在Dialogflow中使用自定义标头。所有需要的信息都在请求中。