簡體   English   中英

如何使用Shopify API搜索基於SKU的產品?

[英]How do I search for a product based on the SKU using the Shopify API?

我將Ruby包裝器用於Shopify的API ,我想搜索基於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.\"}"

接下來我應該嘗試什么?

搜索URL需要一個cookie才能起作用(只有管理員才能使用),當您登錄shopify站點時會設置此cookie。 因此,當嘗試通過API公開訪問它時,它將返回

501 : {"errors":"[API] That action is not currently supported."}

為了克服這個問題,我分叉了寶石,並寫了一篇文章,允許您通過寶石搜索產品。

https://github.com/achadee/shopify_api

我不建議在大型庫存商店中使用此功能,因為它會在搜索之前拉低所有產品的價格……反正用法如下:

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

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

它還動態搜索產品及其所有變體上的任何標簽

請享用 :)

我注意到的第一件事是sku是產品變式的屬性,而不是產品的屬性。

這個Stack Overflow答案表明無法通過Shopify API獲得基於其sku的產品,但是我在Shopify論壇上發現了這一討論 ,可能對您有用。

您可以使用

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM