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
(Delphi ActiveX) Adobe Analytics Reporting API (1.4)Demonstrates a simple POST of JSON to the Adobe Analytics Reporting API (v1.4)
uses Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics, Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, Chilkat_TLB; ... procedure TForm1.Button1Click(Sender: TObject); var success: Integer; url: WideString; json: TChilkatJsonObject; http: TChilkatHttp; dt: TCkDateTime; timecreated: WideString; prng: TChilkatPrng; nonce: WideString; secret: WideString; sb: TChilkatStringBuilder; crypt: TChilkatCrypt2; digest: WideString; sbNonce: TChilkatStringBuilder; resp: IChilkatHttpResponse; begin // 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 url := 'https://api.omniture.com/admin/1.4/rest/?method=Report.Queue'; json := TChilkatJsonObject.Create(Self); json.UpdateString('reportDescription.reportSuiteID','rsid'); json.UpdateString('reportDescription.dateGranularity','hour'); http := TChilkatHttp.Create(Self); dt := TCkDateTime.Create(Self); dt.SetFromCurrentSystemTime(); timecreated := dt.GetAsTimestamp(0); prng := TChilkatPrng.Create(Self); nonce := prng.GenRandom(12,'hex'); secret := 'SECRET'; sb := TChilkatStringBuilder.Create(Self); sb.Append(nonce); sb.Append(timecreated); sb.Append(secret); crypt := TChilkatCrypt2.Create(Self); crypt.HashAlgorithm := 'sha1'; crypt.EncodingMode := 'base64'; digest := crypt.HashStringENC(sb.GetAsString()); sbNonce := TChilkatStringBuilder.Create(Self); 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('"'); Memo1.Lines.Add(sb.GetAsString()); http.SetRequestHeader('X-WSSE',sb.GetAsString()); resp := http.PostJson2(url,'text/json',json.Emit()); if (http.LastMethodSuccess <> 1) then begin Memo1.Lines.Add(http.LastErrorText); Exit; end; Memo1.Lines.Add('Http Status code: ' + IntToStr(resp.StatusCode)); Memo1.Lines.Add('JSON response:'); Memo1.Lines.Add(resp.BodyStr); end; |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.