Twilio REST API:在sid之后请求消息

时间:2014-02-08 16:11:32

标签: twilio

问题

使用Twilio REST API,我只想请求尚未下载的消息。看来,最简单的方法是在指定的SID之后仅下载消息。

不在文档中的信息

Twilio filter docs没有此选项。他们只描述tofromdate_sent

然而,看来Twilio确实有这个功能。您可以在paging information中看到nextpageuri包含AfterSid

浏览网站时,网址包含/user/account/log/messages?after=SMXXXXXX

到目前为止我尝试了什么

使用twilio-ruby客户端,我尝试了以下方法但没有成功:

list = @client.account.sms.messages.list({after: 'SMXXXXXX'})

list = @client.account.sms.messages.list({AfterSid: 'SMXXXXXX'})

list = @client.account.sms.messages.list({after_sid: 'SMXXXXXX'})

2 个答案:

答案 0 :(得分:0)

在查看您概述的文档后,看起来您想要完成的事情不能由twilio-ruby gem完成。 This link显示gem中有关消息的list方法支持哪些过滤器。

如果查看源here,从第45行开始,gem使用next_page_uri作为确定下一页应该开始的偏移量的方法。例如:

calls = twilio_client.account.calls.list # returns the initial set of calls.
calls.next_page # this uses next_page_uri to return the next set of calls internally.

这不是目前可以通过gem更改的内容。

答案 1 :(得分:0)

来自Dan Markiewicz - Twilio客户支持

  

很遗憾,我们目前不支持在API中使用此字段进行过滤。您最好的选择是在要过滤的SID上获取DateCreated信息,然后使用它来仅过滤在该日期之后发送的消息。由于日期过滤器仅支持过滤到当天,因此它可能会返回当天发送但在您要过滤的邮件之前发送的一些不需要的邮件。但是,列表中的每条消息都会有一个完整的date_created字段,直到第二个,所以你应该可以在你的结尾轻松过滤掉这些。这应该产生你需要的结果。