如Twilio Docs中所示,我可以创建一个 MessagingResponse() 对象来将响应文本发送到我的手机。但是,如果我想首先重定向到内部页面怎么办?我无法像我想要的那样在重定向函数中简单地创建 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() 不起作用。
您的第一个片段是如何使用 XML 或 TwiML 响应传入的文本消息(一件事)
从 twilio.twiml.messaging_response 导入 MessagingResponse
而你的第二个片段是如何通过 REST API 发送短信(另一件事)
从 twilio.rest 导入客户端
查看您的第一个片段,如果您使用空字符串响应传入的短信,您将不会收到回复文本(Twilio 不会执行任何操作),如下所示:
而不是
return ""
尝试
return str(resp)
并确保msg
不为空。
我是一名优秀的程序员,十分优秀!