PowerBuilder
PowerBuilder
Shopify Get all products, showing only some attributes
See more Shopify Examples
Get all products, showing only some attributesChilkat PowerBuilder Downloads
integer li_rc
integer li_Success
oleobject loo_Rest
oleobject loo_SbJson
oleobject loo_Json
integer i
integer li_Count_i
integer li_Id
string ls_Title
integer j
integer li_Count_j
integer li_Product_id
integer li_Position
string ls_Created_at
string ls_Updated_at
integer li_Width
integer li_Height
string ls_Src
integer k
integer li_Count_k
integer li_IntVal
li_Success = 0
loo_Rest = create oleobject
li_rc = loo_Rest.ConnectToNewObject("Chilkat.Rest")
if li_rc < 0 then
destroy loo_Rest
MessageBox("Error","Connecting to COM object failed")
return
end if
loo_Rest.SetAuthBasic("SHOPIFY_PRIVATE_API_KEY","SHOPIFY_PRIVATE_API_KEY")
li_Success = loo_Rest.Connect("chilkat.myshopify.com",443,1,1)
if li_Success <> 1 then
Write-Debug loo_Rest.LastErrorText
destroy loo_Rest
return
end if
loo_SbJson = create oleobject
li_rc = loo_SbJson.ConnectToNewObject("Chilkat.StringBuilder")
li_Success = loo_Rest.FullRequestNoBodySb("GET","/admin/products.json?fields=id,images,title",loo_SbJson)
if li_Success <> 1 then
Write-Debug loo_Rest.LastErrorText
destroy loo_Rest
destroy loo_SbJson
return
end if
if loo_Rest.ResponseStatusCode <> 200 then
Write-Debug "Received error response code: " + string(loo_Rest.ResponseStatusCode)
Write-Debug "Response body:"
Write-Debug loo_SbJson.GetAsString()
destroy loo_Rest
destroy loo_SbJson
return
end if
loo_Json = create oleobject
li_rc = loo_Json.ConnectToNewObject("Chilkat.JsonObject")
loo_Json.LoadSb(loo_SbJson)
// The following code parses the JSON response.
// A sample JSON response is shown below the sample code.
i = 0
li_Count_i = loo_Json.SizeOfArray("products")
do while i < li_Count_i
loo_Json.I = i
li_Id = loo_Json.IntOf("products[i].id")
ls_Title = loo_Json.StringOf("products[i].title")
j = 0
li_Count_j = loo_Json.SizeOfArray("products[i].images")
do while j < li_Count_j
loo_Json.J = j
li_Id = loo_Json.IntOf("products[i].images[j].id")
li_Product_id = loo_Json.IntOf("products[i].images[j].product_id")
li_Position = loo_Json.IntOf("products[i].images[j].position")
ls_Created_at = loo_Json.StringOf("products[i].images[j].created_at")
ls_Updated_at = loo_Json.StringOf("products[i].images[j].updated_at")
li_Width = loo_Json.IntOf("products[i].images[j].width")
li_Height = loo_Json.IntOf("products[i].images[j].height")
ls_Src = loo_Json.StringOf("products[i].images[j].src")
k = 0
li_Count_k = loo_Json.SizeOfArray("products[i].images[j].variant_ids")
do while k < li_Count_k
loo_Json.K = k
li_IntVal = loo_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": [
// ]
// }
// ]
// }
Write-Debug "Example Completed."
destroy loo_Rest
destroy loo_SbJson
destroy loo_Json