Sample code for 30+ languages & platforms
B4X

Shopify Get all products, showing only some attributes

See more Shopify Examples

Get all products, showing only some attributes

Chilkat B4X Downloads

B4X
Dim success As Boolean = False

Dim rest As ChilkatRest
rest.Initialize("rest")

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

success = rest.Connect("chilkat.myshopify.com", 443, True, True)
If success <> True Then
    Log(rest.LastErrorText)
    Return
End If


Dim sbJson As ChilkatStringBuilder
sbJson.Initialize
success = rest.FullRequestNoBodySb("GET", "/admin/products.json?fields=id,images,title", sbJson)
If success <> True Then
    Log(rest.LastErrorText)
    Return
End If


If rest.ResponseStatusCode <> 200 Then
    Log("Received error response code: " & rest.ResponseStatusCode)
    Log("Response body:")
    Log(sbJson.GetAsString)
    Return
End If


Dim json As ChilkatJsonObject
json.Initialize
json.LoadSb(sbJson)

'  The following code parses the JSON response.
'  A sample JSON response is shown below the sample code.
Dim i As Int
Dim count_i As Int
Dim id As Int
Dim title As String
Dim j As Int
Dim count_j As Int
Dim product_id As Int
Dim position As Int
Dim created_at As String
Dim updated_at As String
Dim width As Int
Dim height As Int
Dim src As String
Dim k As Int
Dim count_k As Int
Dim intVal As Int

i = 0
count_i = json.SizeOfArray("products")
Do While i < count_i
    json.I = i
    id = json.IntOf("products[i].id")
    title = json.StringOf("products[i].title")
    j = 0
    count_j = json.SizeOfArray("products[i].images")
    Do While j < count_j
        json.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")
        Do While k < count_k
            json.K = k
            intVal = json.IntOf("products[i].images[j].variant_ids[k]")
            k = k + 1
        Loop
        j = j + 1
    Loop
    i = i + 1
Loop

'  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": [
'        ]
'      }
'    ]
'  }

Log("Example Completed.")