Ruby 如何使用Shopify API搜索基于SKU的产品?

Ruby 如何使用Shopify API搜索基于SKU的产品?,ruby,shopify,activeresource,Ruby,Shopify,Activeresource,我正在使用,我想根据SKU搜索产品 以下是我目前正在尝试的: ShopifyAPI::Product.find(sku: 'wi196217') # => ActiveResource::ResourceNotFound: Failed. Response code = 404. Response message = Not Found. # from /Users/narzero/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/acti

我正在使用,我想根据SKU搜索产品

以下是我目前正在尝试的:

ShopifyAPI::Product.find(sku: 'wi196217')

# => ActiveResource::ResourceNotFound: Failed.  Response code = 404.  Response message = Not Found.
# from /Users/narzero/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/activeresource-4.0.0/lib/active_resource/connection.rb:144:in `handle_response'
我也试过:

require 'curb'

p = Curl.get('https://<REDACTED>:<REDACTED>@<REDACTED>.myshopify.com/admin/products/search.json?query=sku:wi196217')

puts p.body

# => "{\"errors\":\"[API] That action is not currently supported.\"}"

接下来我应该尝试什么?

我注意到的第一件事是sku是的属性,而不是


表示无法使用Shopify API根据产品的sku获取产品,但我发现这可能对您有用。

搜索URL需要cookie才能工作,只有管理员在登录Shopify网站时才设置此cookie。因此,当试图通过API公开访问它时,它会返回

501 : {"errors":"[API] That action is not currently supported."}
为了克服这一点,我分叉了gem并编写了一个hack,允许您通过gem搜索产品

我不建议在大型库存商店中使用它,因为它在搜索之前会把所有的产品都取下来。。。无论如何,用法是这样的:

ShopifyAPI::Product.search({:sku => "XFUS-63912"})

ShopifyAPI::Product.search({:sku => "XFUS-63912", :handle => "hey hey"})
此外,它还动态搜索产品及其所有变体上的任何标记

享受:

您可以使用

*.myshopify.com/search?view=json&type=product&q=sku:SKUID

仅供参考,Shopify论坛帖子已经过时,不再有效。你有没有找到解决办法?我有完全相同的问题。注意:如果shopify开发者正在观看,请实现这个服务器端。请注意,这个admin/products/search.json API端点至少在我的浏览器中可以正常工作,但在哪里有文档记录?我在ShopifAPI文档中没有看到它。我也想找到一个基于SKU的产品。