CkPython
CkPython
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 CkPython Downloads
import sys
import chilkat
success = False
# 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 = chilkat.CkJsonObject()
json.UpdateString("reportDescription.reportSuiteID","rsid")
json.UpdateString("reportDescription.dateGranularity","hour")
http = chilkat.CkHttp()
dt = chilkat.CkDateTime()
dt.SetFromCurrentSystemTime()
timecreated = dt.getAsTimestamp(False)
prng = chilkat.CkPrng()
nonce = prng.genRandom(12,"hex")
secret = "SECRET"
sb = chilkat.CkStringBuilder()
sb.Append(nonce)
sb.Append(timecreated)
sb.Append(secret)
crypt = chilkat.CkCrypt2()
crypt.put_HashAlgorithm("sha1")
crypt.put_EncodingMode("base64")
digest = crypt.hashStringENC(sb.getAsString())
sbNonce = chilkat.CkStringBuilder()
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",sb.getAsString())
resp = chilkat.CkHttpResponse()
success = http.HttpJson("POST",url,json,"text/json",resp)
if (success == False):
print(http.lastErrorText())
sys.exit()
print("Http Status code: " + str(resp.get_StatusCode()))
print("JSON response:")
print(resp.bodyStr())