Я следую руководству из https://www.twilio.com/blog/2016/09/how-to-receive-and-respond-to-a-text-message-with-python-flask-and-twilio.html.
Однако после запуска моего приложения фляги в одном окне терминала (python textapi.py
), запуска ngrok в другом терминале (ngrok http 5000
), копирования и вставки URL-адреса пересылки http в поле консоли Twilio «приходит сообщение», а затем текстового сообщения с номером, У меня осталась ошибка 404.
И мой терминал фляги, и мои терминалы ngrok регистрируют входящий POST, но оба отвечают с ошибкой 404.
Мое приложение для фляги выглядит следующим образом:
from flask import Flask, request, redirect
import twilio
from twilio.rest import Client
from twilio.twiml.messaging_response import MessagingResponse
import pandas
import os
# Load some background data and credentials
app = Flask(__name__)
# Initiate Twilio Client
client = Client(account_sid, auth_token)
@app.route('/sms', methods=['POST'])
def sms():
number = request.form['From']
message_body = request.form['Body']
# Do stuff to get response_String
response = response_string
resp = twiml.Response()
resp.message(response)
return str(resp)
if __name__ == '__main__':
app.run()
Может ли кто-нибудь объяснить, откуда возникает ошибка 404 и почему она не может найти "localhost: 5000 / sms"?
Также это: Сервер Flask возвращает 404 на локальном хосте: 5000 с Twilio похоже, не решает мою проблему.
ОБНОВЛЕНИЕ 1: часть проблемы заключалась в отсутствии «/ sms» в конце моего URL-адреса ngrok, который я вставил в консоль Twilio.
Теперь у меня ошибка, что у twiml нет атрибута Response.