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

时间:2018-04-28 10:13:37

标签: python twilio twilio-api

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

我在使用Flask和ngrok的python中使用Twilio来完成所有短信内容,但我仍然不确定如何实际接收短信作为我可以阅读和处理的数据,因为没有我能找到的文档在上面。如果有人可以帮助我,那就太好了。

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

1 个答案:

答案 0 :(得分:5)

我相信您已经知道如何配置Twilio以在收到消息时点击您的端点。如果您在Twilio配置POST请求,那么从Twilio传递给您的数据将在 { {1}}

如果你看一下Twilio的例子:
https://www.twilio.com/docs/sms/tutorials/how-to-receive-and-reply-python
事实上,这个例子没有使用即将发布的数据。

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

  • 发送邮件的号码request.form
  • 您的Twilio号码request.form['From']
  • 和邮件正文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)
  • MessageSid
  • SmsSid
  • AccountSid
  • MessagingServiceSid
  • From
  • To
  • Body

文档: https://www.twilio.com/docs/sms/twiml#request-parameters

如果您使用Google NumMedia

,也可以找到更多示例