0

我能够获得使用 oauth 的访问令牌,但端点将每个请求的最大记录限制为 100。

我需要得到更多,并且想知道是否有一种简单/常见的方法可以做到这一点?

我想继续提出请求,直到我得到所有记录。例如:

@products = JSON.parse(@access_token.get("/api/rest/products?page=#{@n}&limit=100").body)

我可能需要 10,000 多种产品。这可能吗?

4

1 回答 1

1

假设 @products 是一系列产品,您应该能够做到这一点

@products = []

(1..100).each do |page|
  @products << JSON.parse(@access_token.get("/api/rest/products?page=#{page}&limit=100").body)
end

如果您不确切知道有多少页面或产品,除非 api 为您提供,否则您可以执行类似的操作以在没有更多产品时停止获取。

@products = []

# Assuming you never want more then 10.000
(1..100).each do |page|
  new_products = JSON.parse(@access_token.get("/api/rest/products?page=#{page}&limit=100").body)
  @products << new_products
  break if new_products.size < 100
end
于 2012-12-25T02:08:33.813 回答