Chilkat HOME .NET Core C# Android™ AutoIt C C# C++ Chilkat2-Python CkPython Classic ASP DataFlex Delphi ActiveX Delphi DLL Go Java Lianja Mono C# Node.js Objective-C PHP ActiveX PHP Extension Perl PowerBuilder PowerShell PureBasic Ruby SQL Server Swift 2 Swift 3,4,5... Tcl Unicode C Unicode C++ VB.NET VBScript Visual Basic 6.0 Visual FoxPro Xojo Plugin
(Delphi DLL) ChartURL - Create a Signed URLDemonstrates how to create a signed URL for ChartURL.
uses Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics, Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, StringBuilder, JsonObject, Crypt2; ... procedure TForm1.Button1Click(Sender: TObject); var crypt: HCkCrypt2; key: PWideChar; token: PWideChar; slug: PWideChar; data: PWideChar; json: HCkJsonObject; sig: PWideChar; sbUrl: HCkStringBuilder; begin // This example assumes the Chilkat API to have been previously unlocked. // See Global Unlock Sample for sample code. crypt := CkCrypt2_Create(); // Example key: "dek-d7a46236eda961a6c3c18ffcc6b077ba87d27e9ae85f7842c6d427c265dd5f69d5131308d93332353d4a55a4b1160fcf516515a4a9f0aa50fbf2d7a2e7d0f1c5" key := 'charturl-sign-encrypt-key'; // Example token: "dt-RwYN" token := 'charturl-token'; slug := 'weekly-activity'; data := '{ "options": {"data": {"columns": [["This Week",10,13],["Last Week",9,5]]}}}'; CkCrypt2_putHashAlgorithm(crypt,'SHA256'); CkCrypt2_putMacAlgorithm(crypt,'HMAC'); CkCrypt2_SetMacKeyString(crypt,key); CkCrypt2_putEncodingMode(crypt,'base64'); json := CkJsonObject_Create(); CkJsonObject_Load(json,data); Memo1.Lines.Add('json = ' + CkJsonObject__emit(json)); sig := CkCrypt2__macStringENC(crypt,CkJsonObject__emit(json)); sbUrl := CkStringBuilder_Create(); CkStringBuilder_Append(sbUrl,'https://charturl.com/i/'); CkStringBuilder_Append(sbUrl,token); CkStringBuilder_Append(sbUrl,'/'); CkStringBuilder_Append(sbUrl,slug); CkStringBuilder_Append(sbUrl,'?d='); CkStringBuilder_Append(sbUrl,CkCrypt2__encodeString(crypt,CkJsonObject__emit(json),'utf-8','url')); CkStringBuilder_Append(sbUrl,'&s='); CkStringBuilder_Append(sbUrl,CkCrypt2__encodeString(crypt,sig,'utf-8','url')); Memo1.Lines.Add('Signed URL: ' + CkStringBuilder__getAsString(sbUrl)); CkCrypt2_Dispose(crypt); CkJsonObject_Dispose(json); CkStringBuilder_Dispose(sbUrl); end; |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.