我能够使用oauth获取访问令牌,但结束点将每个请求的最大记录限制为100。
我需要获得更多,并且想知道是否有一种简单/通用的方法可以做到这一点?
我想继续提出请求,直到我得到所有记录。例如:
@products = JSON.parse(@access_token.get("/api/rest/products?page=#{@n}&limit=100").body)
我可能需要10,000多种产品。这可能吗?
答案 0 :(得分: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