Dialogflow Webhooks: как разрешить код состояния веб-перехватчика 14 [НЕДОСТУПЕН]?

Диалог webhookStatus:

"webhookStatus": {
   "code": 14,
   "message": "Webhook call failed. Error: UNAVAILABLE."

Журнал / доступ Nginx:

[11/Aug/2020:06:29:59 +0000] "POST /webhook HTTP/1.1" 500 57357 "-" "Google-Dialogflow"

Мой код urls.py

path('webhook/', haniumapp.views.webhook, name='webhook'),

А вот мой код view.py:

 # Intent name is Welcome.
def welcome():
    # JSON response.
    response = {
        'fulfillmentText' : 'welcome!! nice to meet you.'
    }
    return JsonResponse(response, safe=False)


# HERE is webhook service
@csrf_exempt
def webhook(request):
    if request.method == 'POST':
        req = json.loads(request.body)

        #get request.action
        action = req.get('queryResult').get('action')

        #get request.param
        params = req.get('queryResult').get('parameters')

        # move action
        if action == 'welcome':
            return welcome()

Я не могу понять, почему мой Dialogflow webhookStatus НЕДОСТУПЕН.

Я использую сервер nginx-uwsgi-django. По крайней мере, звонок как таковой работает. Например: mywebsite/webhook работает нормально. Он также работает с https.


person Hime    schedule 11.08.2020    source источник
comment
Пожалуйста, вставляйте текст как текст вместо изображений. Его легче читать, вы можете скопировать его, и stackoverflow также может лучше найти сообщение, потому что контент влияет на поисковую систему. А пока я сделал это за вас. Вы можете добавить немного больше деталей в ту часть, где вы говорите, что mywebsite / webhook работает, потому что выше вы говорите, что получаете ошибку? Так работает или нет? Это не понятно. Пожалуйста, обновите его, чтобы уточнить.   -  person F. Müller    schedule 12.08.2020
comment
Вы получаете ошибку 500, когда сообщение попадает в вашу службу. Я не разбираюсь в python, чтобы увидеть это сам, но проверяли ли вы ту же конечную точку с примером пакета JSON в качестве сообщения, чтобы узнать, какой HTTP-ответ вы получаете. Insomnia может отправить пакет JSON в качестве тела сообщения и предоставить вам коды ответа http.   -  person Captain Wizard    schedule 12.08.2020
comment
Ф.Мюллер - спасибо! Лучше читать, чем раньше.   -  person Hime    schedule 14.08.2020
comment
Captain Wizard - это хороший способ разобраться. Спасибо!   -  person Hime    schedule 14.08.2020


Ответы (1)


Я использую nohup, чтобы запустить django и получить nohup.out (журнал txt?) В nohup.out сообщение пришло! Это означает диалог - ›nginx -› django (ok) Но в view.py def webhook есть ошибка tabspaceerror, поэтому я исправляю и все работает !!!

Чтобы исправить ошибку, попробуйте проверить журнал

person Hime    schedule 14.08.2020