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
(Visual FoxPro) 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.
LOCAL loJson LOCAL lnSuccess LOCAL loHttp LOCAL lcResponseJson LOCAL loJarr LOCAL loJsonObj LOCAL lcId LOCAL lcName LOCAL lcParentId LOCAL lnHasChildren LOCAL lcStatus LOCAL j LOCAL lnCount_j LOCAL i LOCAL lnCount_i * This example assumes the Chilkat API to have been previously unlocked. * See Global Unlock Sample for sample code. * For versions of Chilkat < 10.0.0, use CreateObject('Chilkat_9_5_0.JsonObject') loJson = CreateObject('Chilkat.JsonObject') * 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" loJson.UpdateString("keyId","api-key") loJson.UpdateString("hmacKey","api-secret") loJson.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. loJson.UpdateString("headers[0]","(request-target)") loJson.UpdateString("headers[1]","host") loJson.UpdateString("headers[2]","date") * For versions of Chilkat < 10.0.0, use CreateObject('Chilkat_9_5_0.Http') loHttp = CreateObject('Chilkat.Http') * 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="..." loHttp.AuthSignature = loJson.Emit() loHttp.SetRequestHeader("Cache-Control","no-cache") * Chilkat will auto-add the Date header because it's needed by the HTTP Signature. lcResponseJson = loHttp.QuickGetStr("https://api-worldcheck.refinitiv.com/v2/groups") IF (loHttp.LastMethodSuccess = 0) THEN ? loHttp.LastErrorText RELEASE loJson RELEASE loHttp CANCEL ENDIF ? lcResponseJson ? "----" * A 200 status code indicates success. ? "Status code = " + STR(loHttp.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 * For versions of Chilkat < 10.0.0, use CreateObject('Chilkat_9_5_0.JsonArray') loJarr = CreateObject('Chilkat.JsonArray') lnSuccess = loJarr.Load(lcResponseJson) i = 0 lnCount_i = loJarr.Size DO WHILE i < lnCount_i loJsonObj = loJarr.ObjectAt(i) lcId = loJsonObj.StringOf("id") lcName = loJsonObj.StringOf("name") lcParentId = loJsonObj.StringOf("parentId") lnHasChildren = loJsonObj.BoolOf("hasChildren") lcStatus = loJsonObj.StringOf("status") j = 0 lnCount_j = loJsonObj.SizeOfArray("children") DO WHILE j < lnCount_j loJsonObj.J = j j = j + 1 ENDDO RELEASE loJsonObj i = i + 1 ENDDO RELEASE loJson RELEASE loHttp RELEASE loJarr |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.