gpt4 book ai didi

ruby-on-rails - Shopify API : Retrieve multiple records via id in a single call

转载 作者:数据小太阳 更新时间:2023-10-29 07:55:25 27 4
gpt4 key购买 nike

我注意到,在 Shopify API 文档中,他们提到了使用“逗号分隔的订单 ID 列表” 作为名为“ids”的参数在单个调用中检索多个订单的可能性。

链接到我所指的文档部分:https://docs.shopify.com/api/order#index

多年来我一直在使用 shopify_api gem,它基于 Rails ActiveResource。我目前将它与 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

最佳答案

这对我有用,只是在控制台中测试过

myids = "2354899011,1234263747"
ShopifyAPI::Order.where(ids: myids)

这导致以下请求

https://myfancyshop.myshopify.com/admin/orders.json?ids=2354899011,1234263747

此外,此 ShopifyAPI::Order.find(:all, :params => { :ids => myids }) 为我提供了相同的结果。

关于ruby-on-rails - Shopify API : Retrieve multiple records via id in a single call,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32559411/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com