从发出的短信中获取Twilio消息的sid

0 投票
1 回答
575 浏览
提问于 2025-04-18 13:00

我想把发送和接收到的消息都保存到数据库里,包括消息的sid和内容,这样我就可以用一些逻辑来处理它们。

class OutgoingMessage(models.Model):
    ''' Table of SMS messages that are sent out to users by Twilio '''

    outgoing_sid = models.CharField(max_length=40)
    sent_date = models.DateTimeField()
    sender = models.ForeignKey(TwilioNumber, related_name='outgoing_messages')
    recipient = models.ForeignKey(Caller, related_name='outgoing_messages')
    message_body = models.TextField(max_length=1600)



class IncomingMessage(models.Model):
    ''' Table of SMS messages received by Twilio from users '''

    incoming_sid = models.CharField(max_length=40)
    sent_date = models.DateTimeField()
    sender = models.ForeignKey(Caller, related_name='incoming_messages')
    recipient = models.ForeignKey(TwilioNumber, related_name='incoming_messages')
    message_body = models.TextField(max_length=1600)

有没有简单的方法可以在Twilio发送消息后,立刻获取到这个消息的sid?获取收到的消息的sid比较简单,但反过来就不太清楚了。

我在寻找一种替代使用cookies的方法,就像这篇文章里提到的那样。

1 个回答

1

我在这里找到了答案。

# Download the Python helper library from twilio.com/docs/python/install
from twilio.rest import TwilioRestClient

# Your Account Sid and Auth Token from twilio.com/user/account
account_sid = "AC1ab0bb368322688c3d6cbb1355aeef9b"
auth_token  = "{{ auth_token }}"
client = TwilioRestClient(account_sid, auth_token)


message = client.messages.create(body="Jenny please?! I love you <3",
    to="+15558675309",
    from_="+14158141829",
    media_url="http://www.example.com/hearts.png")
print message.sid

不过,这个方法在使用django_twilio视图的时候似乎不太好用。

撰写回答