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
(Swift 3,4,5...) 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.
func chilkatTest() { // This example assumes the Chilkat API to have been previously unlocked. // See Global Unlock Sample for sample code. let json = CkoJsonObject()! var success: Bool // 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.update("keyId", value: "api-key") json.update("hmacKey", value: "api-secret") json.update("algorithm", value: "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.update("headers[0]", value: "(request-target)") json.update("headers[1]", value: "host") json.update("headers[2]", value: "date") let http = CkoHttp()! // 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", value: "no-cache") // Chilkat will auto-add the Date header because it's needed by the HTTP Signature. var responseJson: String? = http.quickGetStr("https://api-worldcheck.refinitiv.com/v2/groups") if http.lastMethodSuccess == false { print("\(http.lastErrorText!)") return } print("\(responseJson!)") print("----") // A 200 status code indicates success. print("Status code = \(http.lastStatus.intValue)") // 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 let jarr = CkoJsonArray()! success = jarr.load(responseJson) var jsonObj: CkoJsonObject? var id: String? var name: String? var parentId: String? var hasChildren: Bool var status: String? var j: Int var count_j: Int var i: Int = 0 var count_i: Int = jarr.size.intValue while i < count_i { jsonObj = jarr.object(at: i) id = jsonObj!.string(of: "id") name = jsonObj!.string(of: "name") parentId = jsonObj!.string(of: "parentId") hasChildren = jsonObj!.bool(of: "hasChildren") status = jsonObj!.string(of: "status") j = 0 count_j = jsonObj!.size(ofArray: "children").intValue while j < count_j { jsonObj.j = j j = j + 1 } jsonObj = nil i = i + 1 } } |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.