Я хочу понять, что вызывает ошибку поиска HTTP 11200?Я отправил ответ на POST-запрос DialogFlow, разве он не должен обрабатывать отправку этого ответа Twilio?
Вот что я сделал до сих пор
Я настроиллокальный сервер Python, и выставил localhost с помощью ngrok.Идея состоит в том, чтобы создать погодного бота с помощью Twilio Programmable SMS.Первоначальное сообщение Twilio пересылается DialogFlow, который затем отправляет запрос post на мой сервер python.Затем я обрабатываю этот запрос и получаю соответствующую информацию о погоде из API OpenWeatherMap.Будучи относительно новым для сервера dev, я полагаю, что мне нужно затем отправить ответ с правильной структурой, как указано в рекомендациях DialogFlow (например, с помощью параметра executementText), обратно в DialogFlow, который затем должен отправить ответ Twilio, который должен показатьна моей песочнице WhatsApp Twilio.** Но то, что я получаю, это ошибка с ошибкой получения HTTP 11200 в отладчике Twilio, я хотел понять, правильно ли я отправляю данные в DialogFlow и что приводит к этой ошибке ** Я прочитал документацию об ошибке на Twilio'sвеб-сайт, но это не помогло мне понять проблему в моем случае.
Я пробовал ту же программу, используя сервер PHP, и она отлично работала.Я просто хотел воссоздать программу, используя сервер Python, так как в настоящее время мне удобнее ее использовать.
// DO post метод webhook.py
def do_POST(self):
try:
content_len = int(self.headers.get('Content-Length'))
post_body = self.rfile.read(content_len)
requestjson = json.loads(post_body)
city = requestjson["queryResult"]["parameters"]["geo-city"]
if city:
print(city)
info = getWeatherInformation(city)
print(info) # Prints temp in city and weather condition successfully
self.send_response(200)
self.wfile.write(info.encode(encoding = "utf_8"))
infoпеременная возвращается следующим образом из getWeatherInformation
res = {"fulfillmentText":response}
info = json.dumps(res)
return info
Консольные отладочные операторы для города Мельбурн
Web Server running on port: 8080
Melbourne
{"fulfillmentText": "It is 31.29 degrees with clear sky"}
127.0.0.1 - - [27/Jan/2019 23:00:34] "POST /webhook.py HTTP/1.1" 200 -
PHP Код Webhook из сообщения в блоге, который работает правильно
/* Часть кода, которая отправляет ответ с данными о погоде в Dialogflow * /
function sendFulfillmentResponse($temperature, $weatherDescription)
{
$response = "It is $temperature degrees with $weatherDescription";
$fulfillment = array(
"fulfillmentText" => $response
);
echo(json_encode($fulfillment));
}
Я ожидаю увидеть ответ от учетной записи Twilio Sandbox в WhatsApp, аналогично тому, как я создал сервер с помощью PHP.Вместо этого я получаю сообщение об ошибке 11200 в Twilio Debugger, но никаких ошибок в серверном терминале.