根据Twilio的文档,有关"分页":
返回给您的列表包括分页信息。如果您打算请求比单个页面上的更多记录,则可能需要使用提供的NextPageuri,而不是按页码逐步递增页面。
然后给出一个示例:
# Initialize Twilio Client
@client = Twilio::REST::Client.new(account_sid, auth_token)
@client.calls.list
.each do |call|
puts call.direction
end
但是,这样做只会返回所有调用的数组,没有任何分页信息或结果的限制或任何"页面"。
出于我的目的,我实际上是在过滤这样的查询:
@calls = @client.calls.list(
start_time_after: @time
start_time_before: @another_time
)
因为我的日期过滤器范围是1个月,目前大约有4.5k的呼叫要检索,因此需要一段时间来处理(有时它永远不会处理(
我正在使用Twilio Helper库Ruby Gem" Twilio-Ruby"并运行Ruby 2.5我还尝试过将PHP与各自的Twilio Helper库一起使用,并找到了相同的结果。
使用卷曲确实有效并提供了分页信息,与使用助手库
twilio开发人员在这里。
list
将遍历,加载所有可能的资源。
,还有其他呼叫将以更lazier的方式流式传输API,如果这对您的用例更有用。例如,您可以使用each
,它会懒洋洋地加载呼叫直到用完为止。
@calls = @client.calls.each(
start_time_after: @time
start_time_before: @another_time
) do |call|
puts call.direction
end
如果您确实想手动打开自己,则可以使用page
方法来获取CallPage
对象并从那里迭代。
page = @client.calls.page(
start_time_after: @time
start_time_before: @another_time
)
while !page.nil? do
page.each { |call| puts call.direction }
page = page.next_page
end
让我知道这是否有帮助。