Доступ к информации о webhook из Dialogflow в Джанго - PullRequest
0 голосов
/ 04 октября 2019

Я настроил 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': '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 name = 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 голосов
/ 06 октября 2019

Я должен был использовать request.body в представлении. Нет необходимости использовать пользовательские заголовки в диалоге. Вся необходимая информация находится в запросе.

...