Lianja
Lianja
Adobe Analytics Reporting API (1.4)
See more HTTP Misc Examples
Demonstrates a simple POST of JSON to the Adobe Analytics Reporting API (v1.4)Chilkat Lianja Downloads
llSuccess = .F.
// 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
lcUrl = "https://api.omniture.com/admin/1.4/rest/?method=Report.Queue"
loJson = createobject("CkJsonObject")
loJson.UpdateString("reportDescription.reportSuiteID","rsid")
loJson.UpdateString("reportDescription.dateGranularity","hour")
loHttp = createobject("CkHttp")
loDt = createobject("CkDateTime")
loDt.SetFromCurrentSystemTime()
lcTimecreated = loDt.GetAsTimestamp(.F.)
loPrng = createobject("CkPrng")
lcNonce = loPrng.GenRandom(12,"hex")
lcSecret = "SECRET"
loSb = createobject("CkStringBuilder")
loSb.Append(lcNonce)
loSb.Append(lcTimecreated)
loSb.Append(lcSecret)
loCrypt = createobject("CkCrypt2")
loCrypt.HashAlgorithm = "sha1"
loCrypt.EncodingMode = "base64"
lcDigest = loCrypt.HashStringENC(loSb.GetAsString())
loSbNonce = createobject("CkStringBuilder")
loSbNonce.Append(lcNonce)
loSbNonce.Encode("base64")
loSb.Clear()
loSb.Append('UsernameToken Username="USERNAME", PasswordDigest="')
loSb.Append(lcDigest)
loSb.Append('", Nonce="')
loSb.Append(loSbNonce.GetAsString())
loSb.Append('", Created="')
loSb.Append(lcTimecreated)
loSb.Append('"')
? loSb.GetAsString()
loHttp.SetRequestHeader("X-WSSE",loSb.GetAsString())
loResp = createobject("CkHttpResponse")
llSuccess = loHttp.HttpJson("POST",lcUrl,loJson,"text/json",loResp)
if (llSuccess = .F.) then
? loHttp.LastErrorText
release loJson
release loHttp
release loDt
release loPrng
release loSb
release loCrypt
release loSbNonce
release loResp
return
endif
? "Http Status code: " + str(loResp.StatusCode)
? "JSON response:"
? loResp.BodyStr
release loJson
release loHttp
release loDt
release loPrng
release loSb
release loCrypt
release loSbNonce
release loResp