与在Twilio Docs中一样,我可以创建一个MessagingResponse()对象,用于将response文本发送到我的手机。但是,如果我想首先将redirect添加到内部页面怎么办?我无法在重定向的函数中简单地创建MessagingResponse(),就像我想:
@app.route("/news", methods=['GET', 'POST'])
def news():
....
resp = MessagingResponse()
resp.message(msg)
return ""
@app.route("/", methods=['GET', 'POST'])
def hello():
return redirect("news")
如果我使用上面的代码,我没有收到文本。但是,如果我从twilio.rest手动创建客户端,如下所示:
@app.route("/news", methods=['GET', 'POST'])
def news():
....
client = Client(account_sid, auth_token)
message = client.messages.create(to=request.values.get("From"), from_=request.values.get("To"),
body=msg)
我成功地做了我想做的事。我不明白为什么MessagingResponse()在请求对象相同时不起作用。
分析解答
您的第一个片段是如何响应传入的短信(一件事),而您的第二个片段是您发送短信的方式(另一件事)。
看看你的第一个片段,如果你用空的string回复收到的短信,你将不会收到一个文本(Twilio不会做任何事情),因此:
代替
return ""
尝试
return str(resp)
并确保msg
不为空。