根据Twilio关于“分页”的文档here:
返回给您的列表包括分页信息。如果您计划请求的记录多于单个页面上的记录,您可能需要使用提供的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
)
因为我的日期过滤范围是一个月的时间段,目前有大约4.5k的调用要求检索,所以需要花费一段时间来处理(有时它永远不会处理)
我正在使用twilio助手库ruby gem“twilio-ruby”并运行ruby 2.5 我也尝试将PHP与相应的twilio帮助程序库一起使用,并找到了相同的结果。
然而,使用curl确实可以工作并提供分页信息,与使用帮助程序库相比,它的速度也非常快
答案 0 :(得分:1)
Twilio开发者传道者在这里。
list
将分页,加载它可以的所有资源。
如果对您的用例更有用,还有其他调用会以更加流畅的方式传输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
让我知道这是否有帮助。