DataFlex
DataFlex
ChartURL - Create a Signed URL
See more HTTP Misc Examples
Demonstrates how to create a signed URL for ChartURL.Chilkat DataFlex Downloads
Use ChilkatAx-win32.pkg
Procedure Test
Handle hoCrypt
String sKey
String sToken
String sSlug
String sData
Boolean iSuccess
Handle hoJson
String sSig
Handle hoSbUrl
String sTemp1
// This example assumes the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.
Get Create (RefClass(cComChilkatCrypt2)) To hoCrypt
If (Not(IsComObjectCreated(hoCrypt))) Begin
Send CreateComObject of hoCrypt
End
// Example key: "dek-d7a46236eda961a6c3c18ffcc6b077ba87d27e9ae85f7842c6d427c265dd5f69d5131308d93332353d4a55a4b1160fcf516515a4a9f0aa50fbf2d7a2e7d0f1c5"
Move "charturl-sign-encrypt-key" To sKey
// Example token: "dt-RwYN"
Move "charturl-token" To sToken
Move "weekly-activity" To sSlug
Move '{ "options": {"data": {"columns": [["This Week",10,13],["Last Week",9,5]]}}}' To sData
Set ComHashAlgorithm Of hoCrypt To "SHA256"
Set ComMacAlgorithm Of hoCrypt To "HMAC"
Get ComSetMacKeyString Of hoCrypt sKey To iSuccess
Set ComEncodingMode Of hoCrypt To "base64"
Get Create (RefClass(cComChilkatJsonObject)) To hoJson
If (Not(IsComObjectCreated(hoJson))) Begin
Send CreateComObject of hoJson
End
Get ComLoad Of hoJson sData To iSuccess
Get ComEmit Of hoJson To sTemp1
Showln "json = " sTemp1
Get ComEmit Of hoJson To sTemp1
Get ComMacStringENC Of hoCrypt sTemp1 To sSig
Get Create (RefClass(cComChilkatStringBuilder)) To hoSbUrl
If (Not(IsComObjectCreated(hoSbUrl))) Begin
Send CreateComObject of hoSbUrl
End
Get ComAppend Of hoSbUrl "https://charturl.com/i/" To iSuccess
Get ComAppend Of hoSbUrl sToken To iSuccess
Get ComAppend Of hoSbUrl "/" To iSuccess
Get ComAppend Of hoSbUrl sSlug To iSuccess
Get ComAppend Of hoSbUrl "?d=" To iSuccess
Get ComEncodeString Of hoCrypt (ComEmit(hoJson)) "utf-8" "url" To sTemp1
Get ComAppend Of hoSbUrl sTemp1 To iSuccess
Get ComAppend Of hoSbUrl "&s=" To iSuccess
Get ComEncodeString Of hoCrypt sSig "utf-8" "url" To sTemp1
Get ComAppend Of hoSbUrl sTemp1 To iSuccess
Get ComGetAsString Of hoSbUrl To sTemp1
Showln "Signed URL: " sTemp1
End_Procedure