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
(Tcl) 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.
load ./chilkat.dll # This example assumes the Chilkat API to have been previously unlocked. # See Global Unlock Sample for sample code. set json [new_CkJsonObject] # 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" CkJsonObject_UpdateString $json "keyId" "api-key" CkJsonObject_UpdateString $json "hmacKey" "api-secret" CkJsonObject_UpdateString $json "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. CkJsonObject_UpdateString $json "headers[0]" "(request-target)" CkJsonObject_UpdateString $json "headers[1]" "host" CkJsonObject_UpdateString $json "headers[2]" "date" set http [new_CkHttp] # 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="..." CkHttp_put_AuthSignature $http [CkJsonObject_emit $json] CkHttp_SetRequestHeader $http "Cache-Control" "no-cache" # Chilkat will auto-add the Date header because it's needed by the HTTP Signature. set responseJson [CkHttp_quickGetStr $http "https://api-worldcheck.refinitiv.com/v2/groups"] if {[CkHttp_get_LastMethodSuccess $http] == 0} then { puts [CkHttp_lastErrorText $http] delete_CkJsonObject $json delete_CkHttp $http exit } puts "$responseJson" puts "----" # A 200 status code indicates success. puts "Status code = [CkHttp_get_LastStatus $http]" # 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 set jarr [new_CkJsonArray] set success [CkJsonArray_Load $jarr $responseJson] # jsonObj is a CkJsonObject set i 0 set count_i [CkJsonArray_get_Size $jarr] while {$i < $count_i} { set jsonObj [CkJsonArray_ObjectAt $jarr $i] set id [CkJsonObject_stringOf $jsonObj "id"] set name [CkJsonObject_stringOf $jsonObj "name"] set parentId [CkJsonObject_stringOf $jsonObj "parentId"] set hasChildren [CkJsonObject_BoolOf $jsonObj "hasChildren"] set status [CkJsonObject_stringOf $jsonObj "status"] set j 0 set count_j [CkJsonObject_SizeOfArray $jsonObj "children"] while {$j < $count_j} { CkJsonObject_put_J $jsonObj $j set j [expr $j + 1] } delete_CkJsonObject $jsonObj set i [expr $i + 1] } delete_CkJsonObject $json delete_CkHttp $http delete_CkJsonArray $jarr |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.