使用Python中的Twilio接收和处理SMS

J_M*_*J_M 2 python twilio twilio-api

我正在学习python,作为一个项目,我正在尝试创建一个程序来接收SMS消息,处理它,然后根据该消息中的内容,发回信息.

我在使用Flask和ngrok的python中使用Twilio来完成所有短信的工作,但我仍然不确定如何实际接收短信作为我可以阅读和处理的数据,因为没有我可以在其上找到的文档.如果有人可以帮助我,这将是很好的.

我已经知道如何使用Twilio接收和发送短信,我只需要知道如何获得发送到我的Twilio号码的准确信息.

Ale*_*ban 7

我相信你已经知道如何配置Twilio在消息进入时命中你的端点.如果你在Twilio配置POST请求,那么从Twilio传递给你的数据将在request.form.

如果你看看Twilio的例子:
(https://www.twilio.com/docs/sms/tutorials/how-to-receive-and-reply-python)
确实这个例子没有使用的数据是进来.

下面修改后的代码显示了请求中可用的一些数据(您可以根据自己想要的代码编写代码).

  • 邮件发送的号码request.form['From'],
  • 你的Twilio号码 request.form['To']
  • 和消息的主体 request.form['Body']

```


    from flask import Flask, request, redirect
    from twilio.twiml.messaging_response import MessagingResponse

    app = Flask(__name__)

    @app.route("/sms", methods=['POST'])
    def sms_reply():
        """Respond to incoming calls with a simple text message."""

        # Use this data in your application logic
        from_number = request.form['From']
        to_number = request.form['To']
        body = request.form['Body']

        # Start our TwiML response
        resp = MessagingResponse()

        # Add a message
        resp.message("The Robots are coming! Head for the hills!")

        return str(resp)

    if __name__ == "__main__":
        app.run(debug=True)

Run Code Online (Sandbox Code Playgroud)

```

请求中还提供了一些其他参数:

  • MessageSid
  • SmsSid
  • AccountSid
  • MessagingServiceSid
  • From
  • To
  • Body
  • NumMedia

文件:( https://www.twilio.com/docs/sms/twiml#request-parameters)

如果你谷歌的话,你也可以找到更多的例子 "twilio blog python flask"