我使用twilio api接收和发送使用python和烧瓶框架的Whatsapp消息。问题是当我发送消息时,它将内容存储在一个变量中,该变量在函数中声明,我想要函数之外的变量值,但它只返回消息的响应。我的目标是获取传入消息的值,在该值的基础上运行一些代码,并再次用whatsapp消息响应用户。
我已经尝试声明全局属性,并尝试使用嵌套函数回调变量的值,还尝试将新变量声明为与get(函数中的orignal_variable)msg=request相同的值。类型get('Body')和message=request。类型get('Body')(在函数外部),但它给出了RuntimeError:在请求上下文之外工作。
app = Flask(__name__)
@app.route("/sms", methods=['POST'])
def sms_reply():
msg = request.form.get('Body')
resp = MessagingResponse()
resp.message("Hello")
return str(resp)
我希望根据传入whatsapp消息的值运行更多的代码。
如果要返回包含消息响应的消息,则需要创建包含这两个值的更复杂类型,然后返回该对象。
from flask import jsonify
app = Flask(__name__)
class SmsReplyResult:
def __init__(self, msg, other_data):
self.msg = msg
self.other_data = other_data
@app.route("/sms", methods=['POST'])
def sms_reply():
msg = request.form.get('Body')
result = SmsReplyResult(msg, "hello")
return jsonify(result)
本例假设调用方希望json作为响应