AutoIt
AutoIt
Refinitiv World-Check One - Get Top Level Groups
See more Refinitiv Examples
Sends a signed GET request to get the top level groups.Note: This example requires Chilkat v9.5.0.89 or later.
Chilkat AutoIt Downloads
Local $bSuccess = False
; This example assumes the Chilkat API to have been previously unlocked.
; See Global Unlock Sample for sample code.
$oJson = ObjCreate("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"
$oJson.UpdateString("keyId","api-key")
$oJson.UpdateString("hmacKey","api-secret")
$oJson.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.
$oJson.UpdateString("headers[0]","(request-target)")
$oJson.UpdateString("headers[1]","host")
$oJson.UpdateString("headers[2]","date")
$oHttp = ObjCreate("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="..."
$oHttp.AuthSignature = $oJson.Emit()
$oHttp.SetRequestHeader "Cache-Control","no-cache"
; Chilkat will auto-add the Date header because it's needed by the HTTP Signature.
Local $sResponseJson = $oHttp.QuickGetStr("https://api-worldcheck.refinitiv.com/v2/groups")
If ($oHttp.LastMethodSuccess = False) Then
ConsoleWrite($oHttp.LastErrorText & @CRLF)
Exit
EndIf
ConsoleWrite($sResponseJson & @CRLF)
ConsoleWrite("----" & @CRLF)
; A 200 status code indicates success.
ConsoleWrite("Status code = " & $oHttp.LastStatus & @CRLF)
; 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
$oJarr = ObjCreate("Chilkat.JsonArray")
$bSuccess = $oJarr.Load($sResponseJson)
Local $oJsonObj
Local $sId
Local $sName
Local $sParentId
Local $bHasChildren
Local $status
Local $iJ
Local $iCount_j
Local $i = 0
Local $iCount_i = $oJarr.Size
While $i < $iCount_i
$oJsonObj = $oJarr.ObjectAt($i)
$sId = $oJsonObj.StringOf("id")
$sName = $oJsonObj.StringOf("name")
$sParentId = $oJsonObj.StringOf("parentId")
$bHasChildren = $oJsonObj.BoolOf("hasChildren")
$status = $oJsonObj.StringOf("status")
$iJ = 0
$iCount_j = $oJsonObj.SizeOfArray("children")
While $iJ < $iCount_j
$oJsonObj.J = $iJ
$iJ = $iJ + 1
Wend
$i = $i + 1
Wend