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) Adobe Analytics Reporting API (1.4)Demonstrates a simple POST of JSON to the Adobe Analytics Reporting API (v1.4)
func chilkatTest() { // This requires the Chilkat API to have been previously unlocked. // See Global Unlock Sample for sample code. var success: Bool // In this example, replace "rsid" with your report suite id, and update the URL to use the correct endpoint var url: String? = "https://api.omniture.com/admin/1.4/rest/?method=Report.Queue" let json = CkoJsonObject() json.UpdateString("reportDescription.reportSuiteID", value: "rsid") json.UpdateString("reportDescription.dateGranularity", value: "hour") let http = CkoHttp() let dt = CkoDateTime() dt.SetFromCurrentSystemTime() var timecreated: String? = dt.GetAsTimestamp(false) let prng = CkoPrng() var nonce: String? = prng.GenRandom(12, encoding: "hex") var secret: String? = "SECRET" let sb = CkoStringBuilder() sb.Append(nonce) sb.Append(timecreated) sb.Append(secret) let crypt = CkoCrypt2() crypt.HashAlgorithm = "sha1" crypt.EncodingMode = "base64" var digest: String? = crypt.HashStringENC(sb.GetAsString()) let sbNonce = CkoStringBuilder() sbNonce.Append(nonce) sbNonce.Encode("base64") sb.Clear() sb.Append("UsernameToken Username=\"USERNAME\", PasswordDigest=\"") sb.Append(digest) sb.Append("\", Nonce=\"") sb.Append(sbNonce.GetAsString()) sb.Append("\", Created=\"") sb.Append(timecreated) sb.Append("\"") print("\(sb.GetAsString())") http.SetRequestHeader("X-WSSE", headerFieldValue: sb.GetAsString()) var resp: CkoHttpResponse? = http.PostJson2(url, contentType: "text/json", jsonText: json.Emit()) if http.LastMethodSuccess != true { print("\(http.LastErrorText)") return } print("Http Status code: \(resp!.StatusCode.intValue)") print("JSON response:") print("\(resp!.BodyStr)") resp = nil } |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.