【问题标题】:Receive and Print a Twilio SMS with Python使用 Python 接收和打印 Twilio SMS
【发布时间】:2018-06-09 23:01:24
【问题描述】:

为了澄清,我不想回复短信。我看过的每个教程或文档都是关于设置监听端口的。

我想做的只是获取短信并打印出来。我可以毫无问题地发送它们。

这是我的发送功能,它可以工作。

def send():
  message = client.messages \
      .create(
           body=sendMSG,
           from_='MY_TWILIO_NUMBER',
           to='MY_PERSONAL_NUMBER'
       )
  print(message.sid)

如果没有 Flask,您将如何接收短信?有没有办法做类似于下面这个方法的东西只是为了接收?

def receive():
  message = client.messages \
      .recieve(
           from_='MY_PERSONAL_NUMBER',
           to='MY_TWILIO_NUMBER'
       )
  print(message.sid)

【问题讨论】:

  • 您是如何收到这些短信的?这是在 webhook 内部还是其他什么?
  • @TimmSimpkins 我试图避免使用 webhook。
  • 在消息到达时接收消息的最佳方式是通过 webhook。否则,您可以像 Timm 在下面发布的那样从 API 请求它们。

标签: python python-3.x sms twilio twilio-api


【解决方案1】:

我之前没有亲自尝试从日志中获取 SMS 消息,总是直接通过 webhook 获取,但据我所知,您可能正在寻找的命令似乎是 list()。您可以添加过滤器,如the API docs 所示,共有三种过滤选项。您可以按 DateSent、To 或 From 进行过滤。

我还没有尝试过,但似乎使用它的方式如下(根据他们提供的代码进行调整):

# Download the helper library from https://www.twilio.com/docs/python/install
from twilio.rest import Client


# Your Account Sid and Auth Token from twilio.com/console
account_sid = 'ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'
auth_token = 'your_auth_token'
client = Client(account_sid, auth_token)

messages = client.messages.list(from='MY_PERSONAL_NUMBER', to='MY_TWILIO_NUMBER')

for record in messages:
    print(record.sid)

如果这不起作用,他们使用的变量实际上是大写的“To”和“From”,所以你可以试试。

看了一点之后,你可能会更多地寻找这个:

received = client.messages.list(to='MY_TWILIO_NUMBER')
sent = client.messages.list(from='MY_PERSONAL_NUMBER')

这会将发送给您的和发送给您的分开

【讨论】:

  • 感谢您的回答。它节省了我很多时间。
猜你喜欢
  • 2021-11-10
  • 2018-06-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-10-08
  • 2013-03-25
  • 1970-01-01
相关资源
最近更新 更多