无法获取Twilio短信状态

1 投票
3 回答
754 浏览
提问于 2025-04-18 16:33

我在使用Twilio的API时遇到了一些问题。我想获取短信的状态,比如是否已送达、在排队中、失败了或者其他状态,但我在Rest API中找不到这个方法。

我使用的是Python和Django。

def send_sms(self, msg):
    ACCOUNT_SID = self.profile.twilio_sid
    AUTH_TOKEN = self.profile.twilio_auth_token
    client_phone_number = self.profile.phone_number
    twilio_phone_number = "+1"+str(self.profile.twilio_number)
    client = TwilioRestClient(ACCOUNT_SID, AUTH_TOKEN)
    message = client.messages.create(
        body=msg,
        to=client_phone_number,
        from_=twilio_phone_number,
    )
    sid = message.sid

那么,我该如何通过我已有的sid来获取短信状态呢?如果可以的话,不想处理响应。

我找到了答案。我只需要在我的代码中添加以下内容:

body  = client.messages.get(sid)
status =body.status  

3 个回答

1

在编程中,有时候我们会遇到一些问题,特别是在使用某些工具或库的时候。这些问题可能会让我们感到困惑,尤其是当我们刚开始学习编程的时候。比如,有人可能会在使用某个特定的功能时,发现它没有按照预期工作。这种情况很常见,很多人都会遇到。

通常,解决这类问题的方法是仔细检查代码,看看是否有拼写错误或者逻辑上的问题。有时候,查看官方文档或者社区的讨论也能帮助我们找到答案。记住,遇到问题是学习的一部分,不要气馁,慢慢来,总会找到解决办法的。

Message message = twilio.GetMessage(messageSid);
1

这里是Twilio的推广者。

如果你想获取某个具体的资源实例,可以使用resources.ListResource.get()。你需要提供你想获取的资源的sid。

msg  = client.messages.get(sid)
print msg.to

当你发送消息时,你还可以提供一个状态回调的URL,这样Twilio就会在消息状态变化时通过一个webhook请求通知你:

https://www.twilio.com/docs/api/rest/sending-messages#post-parameters-optional

希望这对你有帮助。

1

我找到了答案。其实我只需要把这些内容加到我的代码里就可以了。

body  = client.messages.get(sid)
status = body.status  

撰写回答