查询 Twilio 调用列表资源不会使用 Ruby 或 PHP 对结果进行分页



根据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

让我知道这是否有帮助。

相关内容

  • 没有找到相关文章

最新更新