Sample code for 30+ languages & platforms
PHP ActiveX

ChartURL - Create a Signed URL

See more HTTP Misc Examples

Demonstrates how to create a signed URL for ChartURL.

Chilkat PHP ActiveX Downloads

PHP ActiveX
<?php

// This example assumes the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.

$crypt = new COM("Chilkat.Crypt2");

// 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]]}}}';

$crypt->HashAlgorithm = 'SHA256';
$crypt->MacAlgorithm = 'HMAC';
$crypt->SetMacKeyString($key);
$crypt->EncodingMode = 'base64';

$json = new COM("Chilkat.JsonObject");
$json->Load($data);
print 'json = ' . $json->emit() . "\n";

$sig = $crypt->macStringENC($json->emit());

$sbUrl = new COM("Chilkat.StringBuilder");
$sbUrl->Append('https://charturl.com/i/');
$sbUrl->Append($token);
$sbUrl->Append('/');
$sbUrl->Append($slug);
$sbUrl->Append('?d=');
$sbUrl->Append($crypt->encodeString($json->emit(),'utf-8','url'));
$sbUrl->Append('&s=');
$sbUrl->Append($crypt->encodeString($sig,'utf-8','url'));

print 'Signed URL: ' . $sbUrl->getAsString() . "\n";

?>