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 に答える