2

场景:商店有 1000 种产品;需要全部下载。对产品的请求限制为每次调用最多 250 个产品,显然 API 可能会或可能不会返回请求的“限制”。例如,根据我的观察,limit=250 的调用可能返回少于 250 个项目。因此,要获得 1000 个产品,至少需要 4 次调用。

发出以下请求:

#1  GET /admin/products.xml?limit=250&page=1 (returned the first 250 products 1-250)
#2  GET /admin/products.xml?limit=250&page=2 (returned the next 250 products 251-500)
#3  GET /admin/products.xml?limit=250&page=3 (****returned only 200 products 501-700**)
#4  GET /admin/products.xml?limit=250&page=4 (****what does it return here?**)

所以,问题是关于服务器上的分页,它将定义上面第 4 行中发生的情况:

1) API 是否执行智能分页,其中知道上一个请求仅返回 200 个产品,因此下一页必须返回一个以产品编号 701 开头的列表?

或者

2)它是否执行盲分页,其中对第 4 页的请求将始终以产品编号 751 开头,而不管上次调用中发生了什么?

4

2 回答 2

3

使用 /admin/products/count.json 获取所有产品的数量。然后将该数字除以 250 得到总页数。

于 2012-09-06T16:46:55.717 回答
0

如果在 rails中,您可以使用shopify api gem在shopify API 中传递参数,或者可以直接使用 Shopify API 发送参数。

ShopifyAPI::Product.find(:all, params: { page: parmas[:page], 
                                         limit: 10, 
                                         title: params[:search]
                                       })
于 2018-10-31T07:47:12.373 回答