2014-02-08 68 views
3

問題

使用Twilio REST API,我想只請求我還沒有下載的消息。看起來最簡單的方法是隻在指定的SID之後下載消息。Twilio REST API:sid後的請求消息

沒有在文檔

Twilio filter docs信息沒有這個選項。他們只描述to,fromdate_sent

但是,似乎Twilio確實具有此功能。您可以在他們的paging information中看到,nextpageuri包含AfterSid

當褐變的網站,網址中包含/user/account/log/messages?after=SMXXXXXX

什麼我試過到目前爲止

使用twilio-紅寶石客戶端,我曾嘗試沒有成功如下:

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'})

回答

0

從丹Markiewicz - Twilio客戶支持

不幸的是,我們不支持這一領域過濾我們此時的API中。您最好的選擇是獲取您想要過濾的SID上的DateCreated信息,然後使用該信息僅過濾那些在該日期之後發送的信息。由於日期過濾器僅支持過濾到當天,因此它可能會返回當天發送的一些不需要的郵件,但在您要過濾的郵件之前。但是,列表中的每條消息都會有一個完整的date_created字段,所以您應該能夠在您的最後輕鬆地過濾掉這些字段。這應該會產生你需要的結果。

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. 

這是不是可以通過寶石目前改變的東西。

+0

綜觀(https://github.com/twilio/twilio-ruby/blob/34b552637e6e9661c829d68c10afe3c1fef4e886/lib/twilio-ruby/rest/list_resource.rb#L38)[你引用的代碼的第38行]看起來該列表可以通過將URL參數傳遞給'@client.get @path,params,full_path'來過濾,所以'list'方法被預過濾。我只是不確定Twilio在這裏支持哪些URL參數。 – jefflab

+0

我相信你能夠傳遞給'list'方法的參數屬於過濾資源列表的能力,而不是分頁。他們也有可能爲那些使用API​​的人過濾這些參數。在這一點上,我會在Github存儲庫上打開一個問題。有人應該能夠幫助你。 –