Sample code for 30+ languages & platforms
Ruby

Shopify Get all products, showing only some attributes

See more Shopify Examples

Get all products, showing only some attributes

Chilkat Ruby Downloads

Ruby
require 'chilkat'

success = false

rest = Chilkat::CkRest.new()

rest.SetAuthBasic("SHOPIFY_PRIVATE_API_KEY","SHOPIFY_PRIVATE_API_KEY")

success = rest.Connect("chilkat.myshopify.com",443,true,true)
if (success != true)
    print rest.lastErrorText() + "\n";
    exit
end

sbJson = Chilkat::CkStringBuilder.new()
success = rest.FullRequestNoBodySb("GET","/admin/products.json?fields=id,images,title",sbJson)
if (success != true)
    print rest.lastErrorText() + "\n";
    exit
end

if (rest.get_ResponseStatusCode() != 200)
    print "Received error response code: " + rest.get_ResponseStatusCode().to_s() + "\n";
    print "Response body:" + "\n";
    print sbJson.getAsString() + "\n";
    exit
end

json = Chilkat::CkJsonObject.new()
json.LoadSb(sbJson)

# The following code parses the JSON response.
# A sample JSON response is shown below the sample code.

i = 0
count_i = json.SizeOfArray("products")
while i < count_i
    json.put_I(i)
    id = json.IntOf("products[i].id")
    title = json.stringOf("products[i].title")
    j = 0
    count_j = json.SizeOfArray("products[i].images")
    while j < count_j
        json.put_J(j)
        id = json.IntOf("products[i].images[j].id")
        product_id = json.IntOf("products[i].images[j].product_id")
        position = json.IntOf("products[i].images[j].position")
        created_at = json.stringOf("products[i].images[j].created_at")
        updated_at = json.stringOf("products[i].images[j].updated_at")
        width = json.IntOf("products[i].images[j].width")
        height = json.IntOf("products[i].images[j].height")
        src = json.stringOf("products[i].images[j].src")
        k = 0
        count_k = json.SizeOfArray("products[i].images[j].variant_ids")
        while k < count_k
            json.put_K(k)
            intVal = json.IntOf("products[i].images[j].variant_ids[k]")
            k = k + 1
        end
        j = j + 1
    end
    i = i + 1
end

# A sample JSON response body that is parsed by the above code:

# {
#   "products": [
#     {
#       "id": 632910392,
#       "title": "IPod Nano - 8GB",
#       "images": [
#         {
#           "id": 850703190,
#           "product_id": 632910392,
#           "position": 1,
#           "created_at": "2017-09-22T14:08:02-04:00",
#           "updated_at": "2017-09-22T14:08:02-04:00",
#           "width": 123,
#           "height": 456,
#           "src": "https:\/\/cdn.shopify.com\/s\/files\/1\/0006\/9093\/3842\/products\/ipod-nano.png?v=1506103682",
#           "variant_ids": [
#           ]
#         },
#         {
#           "id": 562641783,
#           "product_id": 632910392,
#           "position": 2,
#           "created_at": "2017-09-22T14:08:02-04:00",
#           "updated_at": "2017-09-22T14:08:02-04:00",
#           "width": 123,
#           "height": 456,
#           "src": "https:\/\/cdn.shopify.com\/s\/files\/1\/0006\/9093\/3842\/products\/ipod-nano-2.png?v=1506103682",
#           "variant_ids": [
#             808950810
#           ]
#         }
#       ]
#     },
#     {
#       "id": 921728736,
#       "title": "IPod Touch 8GB",
#       "images": [
#       ]
#     }
#   ]
# }

print "Example Completed." + "\n";