Visual FoxPro
Visual FoxPro
ChartURL - Create a Signed URL
See more HTTP Misc Examples
Demonstrates how to create a signed URL for ChartURL.Chilkat Visual FoxPro Downloads
LOCAL loCrypt
LOCAL lcKey
LOCAL lcToken
LOCAL lcSlug
LOCAL lcData
LOCAL loJson
LOCAL lcSig
LOCAL loSbUrl
* This example assumes the Chilkat API to have been previously unlocked.
* See Global Unlock Sample for sample code.
loCrypt = CreateObject('Chilkat.Crypt2')
* Example key: "dek-d7a46236eda961a6c3c18ffcc6b077ba87d27e9ae85f7842c6d427c265dd5f69d5131308d93332353d4a55a4b1160fcf516515a4a9f0aa50fbf2d7a2e7d0f1c5"
lcKey = "charturl-sign-encrypt-key"
* Example token: "dt-RwYN"
lcToken = "charturl-token"
lcSlug = "weekly-activity"
lcData = '{ "options": {"data": {"columns": [["This Week",10,13],["Last Week",9,5]]}}}'
loCrypt.HashAlgorithm = "SHA256"
loCrypt.MacAlgorithm = "HMAC"
loCrypt.SetMacKeyString(lcKey)
loCrypt.EncodingMode = "base64"
loJson = CreateObject('Chilkat.JsonObject')
loJson.Load(lcData)
? "json = " + loJson.Emit()
lcSig = loCrypt.MacStringENC(loJson.Emit())
loSbUrl = CreateObject('Chilkat.StringBuilder')
loSbUrl.Append("https://charturl.com/i/")
loSbUrl.Append(lcToken)
loSbUrl.Append("/")
loSbUrl.Append(lcSlug)
loSbUrl.Append("?d=")
loSbUrl.Append(loCrypt.EncodeString(loJson.Emit(),"utf-8","url"))
loSbUrl.Append("&s=")
loSbUrl.Append(loCrypt.EncodeString(lcSig,"utf-8","url"))
? "Signed URL: " + loSbUrl.GetAsString()
RELEASE loCrypt
RELEASE loJson
RELEASE loSbUrl