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) Adobe Analytics Reporting API (1.4)Demonstrates a simple POST of JSON to the Adobe Analytics Reporting API (v1.4)
load ./chilkat.dll # This requires the Chilkat API to have been previously unlocked. # See Global Unlock Sample for sample code. # In this example, replace "rsid" with your report suite id, and update the URL to use the correct endpoint set url "https://api.omniture.com/admin/1.4/rest/?method=Report.Queue" set json [new_CkJsonObject] CkJsonObject_UpdateString $json "reportDescription.reportSuiteID" "rsid" CkJsonObject_UpdateString $json "reportDescription.dateGranularity" "hour" set http [new_CkHttp] set dt [new_CkDateTime] CkDateTime_SetFromCurrentSystemTime $dt set timecreated [CkDateTime_getAsTimestamp $dt 0] set prng [new_CkPrng] set nonce [CkPrng_genRandom $prng 12 "hex"] set secret "SECRET" set sb [new_CkStringBuilder] CkStringBuilder_Append $sb $nonce CkStringBuilder_Append $sb $timecreated CkStringBuilder_Append $sb $secret set crypt [new_CkCrypt2] CkCrypt2_put_HashAlgorithm $crypt "sha1" CkCrypt2_put_EncodingMode $crypt "base64" set digest [CkCrypt2_hashStringENC $crypt [CkStringBuilder_getAsString $sb]] set sbNonce [new_CkStringBuilder] CkStringBuilder_Append $sbNonce $nonce CkStringBuilder_Encode $sbNonce "base64" CkStringBuilder_Clear $sb CkStringBuilder_Append $sb "UsernameToken Username=\"USERNAME\", PasswordDigest=\"" CkStringBuilder_Append $sb $digest CkStringBuilder_Append $sb "\", Nonce=\"" CkStringBuilder_Append $sb [CkStringBuilder_getAsString $sbNonce] CkStringBuilder_Append $sb "\", Created=\"" CkStringBuilder_Append $sb $timecreated CkStringBuilder_Append $sb "\"" puts [CkStringBuilder_getAsString $sb] CkHttp_SetRequestHeader $http "X-WSSE" [CkStringBuilder_getAsString $sb] # resp is a CkHttpResponse set resp [CkHttp_PostJson2 $http $url "text/json" [CkJsonObject_emit $json]] if {[CkHttp_get_LastMethodSuccess $http] != 1} then { puts [CkHttp_lastErrorText $http] delete_CkJsonObject $json delete_CkHttp $http delete_CkDateTime $dt delete_CkPrng $prng delete_CkStringBuilder $sb delete_CkCrypt2 $crypt delete_CkStringBuilder $sbNonce exit } puts "Http Status code: [CkHttpResponse_get_StatusCode $resp]" puts "JSON response:" puts [CkHttpResponse_bodyStr $resp] delete_CkHttpResponse $resp delete_CkJsonObject $json delete_CkHttp $http delete_CkDateTime $dt delete_CkPrng $prng delete_CkStringBuilder $sb delete_CkCrypt2 $crypt delete_CkStringBuilder $sbNonce |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.