【问题标题】:Access webhook information from Dialogflow in Django从 Django 中的 Dialogflow 访问 webhook 信息
【发布时间】:2020-02-02 21:33:53
【问题描述】:

我已将 Dialogflow 配置为在询问名称后发出 POST 请求。当我在在线请求查看器中查看信息时,我可以在查询字符串部分看到我想要的信息:

> {   "responseId": "045c0d0b-7b5b-448e...",  
> "queryResult": {
>     "queryText": "rob",
>     "parameters": {
>       "last-name": "lastname",
>       "given-name": "Rob"
>     },

但是,在 Django 中,我找不到此信息。我尝试将完整的请求和 request.META 保存在数据库中。

在我的服务器上收到的请求如下所示:

{'QUERY_STRING': '', 'REQUEST_METHOD': 'POST', 'CONTENT_TYPE': '应用程序/json','CONTENT_LENGTH':'5323','REQUEST_URI': '/文件夹','PATH_INFO':'/文件夹','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”:“应用程序/json”、“HTTP_HOST”: “www.mysite.info”、“HTTP_CONTENT_LENGTH”:“5323”、“HTTP_CONNECTION”: '保持活动','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 name="2">, 'wsgi.run_once': False, 'wsgi.multithread':假,'wsgi.multiprocess':真, 'wsgi.url_scheme': 'https', 'uwsgi.version': b'2.0.18', 'uwsgi.node': b'server.mysite.info', 'SCRIPT_NAME': ''}

我使用 Nginx 和 Uwsgi

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

【问题讨论】:

    标签: django request dialogflow-es


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 2020-04-14
      • 1970-01-01
      • 2014-08-17
      • 1970-01-01
      • 2019-07-09
      • 2021-04-12
      • 1970-01-01
      • 2019-02-21
      • 2011-02-24
      相关资源
      最近更新 更多