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
(Delphi DLL) Shopify Get particular fields of a single productGet particular fields of a single product
uses Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics, Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, StringBuilder, Rest, JsonObject; ... procedure TForm1.Button1Click(Sender: TObject); var rest: HCkRest; success: Boolean; sbJson: HCkStringBuilder; json: HCkJsonObject; productId: Integer; productTitle: PWideChar; i: Integer; count_i: Integer; id: Integer; product_id: Integer; position: Integer; created_at: PWideChar; updated_at: PWideChar; width: Integer; height: Integer; src: PWideChar; j: Integer; count_j: Integer; intVal: Integer; begin rest := CkRest_Create(); CkRest_SetAuthBasic(rest,'SHOPIFY_PRIVATE_API_KEY','SHOPIFY_PRIVATE_API_KEY'); success := CkRest_Connect(rest,'chilkat.myshopify.com',443,True,True); if (success <> True) then begin Memo1.Lines.Add(CkRest__lastErrorText(rest)); Exit; end; sbJson := CkStringBuilder_Create(); success := CkRest_FullRequestNoBodySb(rest,'GET','/admin/products/#{id}.json?fields=id,images,title',sbJson); if (success <> True) then begin Memo1.Lines.Add(CkRest__lastErrorText(rest)); Exit; end; if (CkRest_getResponseStatusCode(rest) <> 200) then begin Memo1.Lines.Add('Received error response code: ' + IntToStr(CkRest_getResponseStatusCode(rest))); Memo1.Lines.Add('Response body:'); Memo1.Lines.Add(CkStringBuilder__getAsString(sbJson)); Exit; end; json := CkJsonObject_Create(); CkJsonObject_LoadSb(json,sbJson); // The following code parses the JSON response. // A sample JSON response is shown below the sample code. productId := CkJsonObject_IntOf(json,'product.id'); productTitle := CkJsonObject__stringOf(json,'product.title'); i := 0; count_i := CkJsonObject_SizeOfArray(json,'product.images'); while i < count_i do begin CkJsonObject_putI(json,i); id := CkJsonObject_IntOf(json,'product.images[i].id'); product_id := CkJsonObject_IntOf(json,'product.images[i].product_id'); position := CkJsonObject_IntOf(json,'product.images[i].position'); created_at := CkJsonObject__stringOf(json,'product.images[i].created_at'); updated_at := CkJsonObject__stringOf(json,'product.images[i].updated_at'); width := CkJsonObject_IntOf(json,'product.images[i].width'); height := CkJsonObject_IntOf(json,'product.images[i].height'); src := CkJsonObject__stringOf(json,'product.images[i].src'); j := 0; count_j := CkJsonObject_SizeOfArray(json,'product.images[i].variant_ids'); while j < count_j do begin CkJsonObject_putJ(json,j); intVal := CkJsonObject_IntOf(json,'product.images[i].variant_ids[j]'); j := j + 1; end; i := i + 1; end; // 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 // ] // } // ] // } // } Memo1.Lines.Add('Example Completed.'); CkRest_Dispose(rest); CkStringBuilder_Dispose(sbJson); CkJsonObject_Dispose(json); end; |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.