【发布时间】:2015-09-14 07:34:21
【问题描述】:
我注意到在 Shopify API 文档中,他们提到了使用“以逗号分隔的订单 ID 列表” 作为名为“ids”的参数在一次调用中检索多个订单的可能性。
链接到我所指的文档部分:https://docs.shopify.com/api/order#index
多年来,我一直在使用基于 Rails ActiveResource 的 shopify_api gem。我目前在 Rails 3.2.13 中使用它,效果很好。
我知道如何检索单个记录:
# params[:id] = "123456789"
order = ShopifyAPI::Order.find(params[:id])
或一次多条记录:
orders = ShopifyAPI::Order.find(:all, :params => {:limit => 250, :page => 2})
但是,我似乎无法使用多个 ID 让它工作。有什么想法我在这里做错了吗?
# params[:ids] = "123456789,987654321,675849301"
orders = ShopifyAPI::Order.find(:all, :params => {:ids => params[:ids]})
发出此 GET 请求:https://xxxxxx.myshopify.com:443/admin/orders.json?ids=123456789,987654321,675849301
但什么都不回,orders = []
更新:
我也尝试了以下建议:
# params[:ids] = "123456789,987654321,675849301"
orders = ShopifyAPI::Order.find(params[:ids])
发出此 GET 请求:https://xxxxxx.myshopify.com:443/admin/orders/123456789,987654321,675849301.json
但是这只会返回第一个订单123456789
还有:
# params[:ids] = "123456789,987654321,675849301"
ids_as_array = params[:ordersSel].split(",")
orders = ShopifyAPI::Order.find(:all, :params => {ids: ids_as_array})
发出此 GET 请求:
https://xxxxxx.myshopify.com:443/admin/orders.json?ids[]=123456789&ids[]=987654321&ids[]=675849301
结果是Bad Request
【问题讨论】:
标签: ruby-on-rails ruby ruby-on-rails-3.2 shopify activeresource