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 ActiveX) Refinitiv World-Check One - Get Top Level GroupsSee more Refinitiv ExamplesSends a signed GET request to get the top level groups. Note: This example requires Chilkat v9.5.0.89 or later.
uses Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics, Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, Chilkat_TLB; ... procedure TForm1.Button1Click(Sender: TObject); var json: TChilkatJsonObject; success: Integer; http: TChilkatHttp; responseJson: WideString; jarr: TChilkatJsonArray; jsonObj: IChilkatJsonObject; id: WideString; name: WideString; parentId: WideString; hasChildren: Integer; status: WideString; j: Integer; count_j: Integer; i: Integer; count_i: Integer; begin // This example assumes the Chilkat API to have been previously unlocked. // See Global Unlock Sample for sample code. json := TChilkatJsonObject.Create(Self); // Create the following JSON: // // { // "keyId": "aaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee", // "hmacKey": "xxxxzI3vi58xxxCBxxx1+P/d8tGxx7KuLqN/KMPNxxxxekhj8/bx83+1YQSUxxxxYyv939ceY06GvhYRKmxxxx==", // "algorithm": "hmac-sha256", // "headers": [ // "(request-target)", // "host", // "date" // ] // } // Substitute your actual API key and API secret in place of "api-key" and "api-secret" json.UpdateString('keyId','api-key'); json.UpdateString('hmacKey','api-secret'); json.UpdateString('algorithm','hmac-sha256'); // Indicate the names of the headers to be included in the signature. // "(request-target)" is not actually a header name, but is a special name for HTTP signatures. // Copy the following three lines of code exactly as-is. // Do not replace "host", "date", or "(request-target)" with values. json.UpdateString('headers[0]','(request-target)'); json.UpdateString('headers[1]','host'); json.UpdateString('headers[2]','date'); http := TChilkatHttp.Create(Self); // Setting the AuthSignature property causes the following header to be computed and added: // Authorization: Signature keyId="...", algorithm="hmac-sha256", headers="(request-target) host date", signature="..." http.AuthSignature := json.Emit(); http.SetRequestHeader('Cache-Control','no-cache'); // Chilkat will auto-add the Date header because it's needed by the HTTP Signature. responseJson := http.QuickGetStr('https://api-worldcheck.refinitiv.com/v2/groups'); if (http.LastMethodSuccess = 0) then begin Memo1.Lines.Add(http.LastErrorText); Exit; end; Memo1.Lines.Add(responseJson); Memo1.Lines.Add('----'); // A 200 status code indicates success. Memo1.Lines.Add('Status code = ' + IntToStr(http.LastStatus)); // Successful JSON looks like this: // [ // { // "id": "...", // "name": "Company Name", // "parentId": null, // "hasChildren": false, // "status": "ACTIVE", // "children": [] // } // ] // Use this online tool to generate parsing code from sample JSON: // Generate Parsing Code from JSON jarr := TChilkatJsonArray.Create(Self); success := jarr.Load(responseJson); i := 0; count_i := jarr.Size; while i < count_i do begin jsonObj := jarr.ObjectAt(i); id := jsonObj.StringOf('id'); name := jsonObj.StringOf('name'); parentId := jsonObj.StringOf('parentId'); hasChildren := jsonObj.BoolOf('hasChildren'); status := jsonObj.StringOf('status'); j := 0; count_j := jsonObj.SizeOfArray('children'); while j < count_j do begin jsonObj.J := j; j := j + 1; end; i := i + 1; end; end; |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.