Chilkat HOME .NET Core C# Android™ AutoIt C C# C++ Chilkat2-Python CkPython Classic ASP DataFlex Delphi ActiveX Delphi DLL Go Java Lianja Mono C# Node.js Objective-C PHP ActiveX PHP Extension Perl PowerBuilder PowerShell PureBasic Ruby SQL Server Swift 2 Swift 3,4,5... Tcl Unicode C Unicode C++ VB.NET VBScript Visual Basic 6.0 Visual FoxPro Xojo Plugin
(PureBasic) Shopify Get particular fields of a single productGet particular fields of a single product
IncludeFile "CkStringBuilder.pb" IncludeFile "CkJsonObject.pb" IncludeFile "CkRest.pb" Procedure ChilkatExample() rest.i = CkRest::ckCreate() If rest.i = 0 Debug "Failed to create object." ProcedureReturn EndIf success.i CkRest::ckSetAuthBasic(rest,"SHOPIFY_PRIVATE_API_KEY","SHOPIFY_PRIVATE_API_KEY") success = CkRest::ckConnect(rest,"chilkat.myshopify.com",443,1,1) If success <> 1 Debug CkRest::ckLastErrorText(rest) CkRest::ckDispose(rest) ProcedureReturn EndIf sbJson.i = CkStringBuilder::ckCreate() If sbJson.i = 0 Debug "Failed to create object." ProcedureReturn EndIf success = CkRest::ckFullRequestNoBodySb(rest,"GET","/admin/products/#{id}.json?fields=id,images,title",sbJson) If success <> 1 Debug CkRest::ckLastErrorText(rest) CkRest::ckDispose(rest) CkStringBuilder::ckDispose(sbJson) ProcedureReturn EndIf If CkRest::ckResponseStatusCode(rest) <> 200 Debug "Received error response code: " + Str(CkRest::ckResponseStatusCode(rest)) Debug "Response body:" Debug CkStringBuilder::ckGetAsString(sbJson) CkRest::ckDispose(rest) CkStringBuilder::ckDispose(sbJson) ProcedureReturn EndIf json.i = CkJsonObject::ckCreate() If json.i = 0 Debug "Failed to create object." ProcedureReturn EndIf CkJsonObject::ckLoadSb(json,sbJson) ; The following code parses the JSON response. ; A sample JSON response is shown below the sample code. productId.i productTitle.s i.i count_i.i id.i product_id.i position.i created_at.s updated_at.s width.i height.i src.s j.i count_j.i intVal.i productId = CkJsonObject::ckIntOf(json,"product.id") productTitle = CkJsonObject::ckStringOf(json,"product.title") i = 0 count_i = CkJsonObject::ckSizeOfArray(json,"product.images") While i < count_i CkJsonObject::setCkI(json, i) id = CkJsonObject::ckIntOf(json,"product.images[i].id") product_id = CkJsonObject::ckIntOf(json,"product.images[i].product_id") position = CkJsonObject::ckIntOf(json,"product.images[i].position") created_at = CkJsonObject::ckStringOf(json,"product.images[i].created_at") updated_at = CkJsonObject::ckStringOf(json,"product.images[i].updated_at") width = CkJsonObject::ckIntOf(json,"product.images[i].width") height = CkJsonObject::ckIntOf(json,"product.images[i].height") src = CkJsonObject::ckStringOf(json,"product.images[i].src") j = 0 count_j = CkJsonObject::ckSizeOfArray(json,"product.images[i].variant_ids") While j < count_j CkJsonObject::setCkJ(json, j) intVal = CkJsonObject::ckIntOf(json,"product.images[i].variant_ids[j]") j = j + 1 Wend i = i + 1 Wend ; A sample JSON response body that is parsed by the above code: ; { ; "product": { ; "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 ; ] ; } ; ] ; } ; } Debug "Example Completed." CkRest::ckDispose(rest) CkStringBuilder::ckDispose(sbJson) CkJsonObject::ckDispose(json) ProcedureReturn EndProcedure |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.