Sample code for 30+ languages & platforms
Chilkat2-Python

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 Chilkat2-Python Downloads

Chilkat2-Python
import sys
import chilkat2

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 = chilkat2.JsonObject()
json.UpdateString("reportDescription.reportSuiteID","rsid")
json.UpdateString("reportDescription.dateGranularity","hour")

http = chilkat2.Http()

dt = chilkat2.CkDateTime()
dt.SetFromCurrentSystemTime()
timecreated = dt.GetAsTimestamp(False)

prng = chilkat2.Prng()
nonce = prng.GenRandom(12,"hex")

secret = "SECRET"

sb = chilkat2.StringBuilder()
sb.Append(nonce)
sb.Append(timecreated)
sb.Append(secret)

crypt = chilkat2.Crypt2()
crypt.HashAlgorithm = "sha1"
crypt.EncodingMode = "base64"
digest = crypt.HashStringENC(sb.GetAsString())

sbNonce = chilkat2.StringBuilder()
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 = chilkat2.HttpResponse()
success = http.HttpJson("POST",url,json,"text/json",resp)
if (success == False):
    print(http.LastErrorText)
    sys.exit()

print("Http Status code: " + str(resp.StatusCode))
print("JSON response:")
print(resp.BodyStr)