Kamis, 26 Januari 2012

Script php Penyingkat URL Shortener dengan API Google

Barangkali Anda pernah menjumpai suatu URL yang panjangnya minta ampun yang sulit untuk mengingatnya, padahal URL tersebut berisi artikel atau referensi yang menarik menurut Anda. Kira-kira bisa tidak kita menyingkat URL tersebut sehingga tidak menjadi terlalu panjang sehingga mudah diingat? Tentu bisa dong, dengan URL Shortener yang memanfaatkan API Google hal ini menjadi sangat mudah. Bahkan Anda bisa membuat sendiri script untuk penyingkat URL ini dengan API Google tersebut. Dengan begitu, Anda bisa menempatkan script tersebut untuk dipakai sendiri atau ditaruh di website sehingga bisa dimanfaatkan oleh pengunjung web.
Dalam artikel ini, akan saya paparkan bagaimana cara membuat script atau function di PHP untuk menyingkat URL tersebut yang memanfaatkan API Google.
 
Sebenarnya Anda bisa membuat scriptnya sendiri setelah ANda mempelajari panduan tentang URL Shortener dari API Google. Namun kalau Anda masih bingung, nanti akan saya sajikan script yang sudah jadi dan contoh implementasi atau pemanfaatannya.
Pertama, kita buat function terlebih dahulu untuk menyingkat URL nya. Berikut ini adalah functionnya:

<?php
function singkatURL($url)
{
$curlHandle = curl_init();
// melakukan request ke server Google API
curl_setopt($curlHandle, CURLOPT_URL, 'https://www.googleapis.com/urlshortener/v1/url');
curl_setopt($curlHandle, CURLOPT_HEADER, 0);
curl_setopt($curlHandle, CURLOPT_SSL_VERIFYPEER, 0);
// menentukan tipe konten hasil request yg berupa JSON
curl_setopt($curlHandle, CURLOPT_HTTPHEADER, array('Content-Type: application/json'));
// parameter yang berisi URL yang akan disingkat
curl_setopt($curlHandle, CURLOPT_POSTFIELDS, '{"longUrl":"'.$url.'"}');
curl_setopt($curlHandle, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curlHandle, CURLOPT_TIMEOUT,30);
// lakukan request dengan POST method
curl_setopt($curlHandle, CURLOPT_POST, 1);

// baca data hasil request yg berupa JSON
$content = curl_exec($curlHandle);
curl_close($curlHandle);

// ekstrak data JSON untuk mendapatkan hasil URL yg disingkat
$data = json_decode($content);
return $data->id;
}
?>

Function singkatURL() di atas digunakan untuk menyingkat URL dengan memanfaatkan Google API. Parameter dari function ini adalah URL yang mau disingkat. Function singkatURL() nantinya langsung membuat request ke URL nya Google di https://www.googleapis.com/urlshortener/v1/url melalui POST request via CURL. Data hasil dari request tersebut berupa JSON yang contohnya berbentuk seperti ini:

{
"kind": "urlshortener#url",
"id": "http://goo.gl/fbsS",
"longUrl": "http://www.google.com/"
}

dimana “id” menyatakan URL hasil singkatannya, dan “longUrl” adalah URL aslinya. Dengan perintah

$data = json_decode($content);
return $data->id;
kita akan mendapatkan URL hasil singkatannya yg terdapat dalam “id”.
Nah… functionnya sudah jadi, selanjutnya kita lakukan test apakah function tersebut bisa berjalan. Misalkan kita akan menyingkat URL dari salah satu artikel yang ada di blog ini, yaitu “http://jagoan-php.blogspot.com/2011/11/script-php-untuk-transaksi-unik.html“. Cara menyingkat URL ini dengan function singkatURL() adalah sbb:
<?php
function singkatURL($url)
{
$curlHandle = curl_init();
// melakukan request ke server Google API
curl_setopt($curlHandle, CURLOPT_URL, 'https://www.googleapis.com/urlshortener/v1/url');
curl_setopt($curlHandle, CURLOPT_HEADER, 0);
curl_setopt($curlHandle, CURLOPT_SSL_VERIFYPEER, 0);
// menentukan tipe konten hasil request yg berupa JSON
curl_setopt($curlHandle, CURLOPT_HTTPHEADER, array('Content-Type: application/json'));
// parameter yang berisi URL yang akan disingkat
curl_setopt($curlHandle, CURLOPT_POSTFIELDS, '{"longUrl":"'.$url.'"}');
curl_setopt($curlHandle, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curlHandle, CURLOPT_TIMEOUT,30);
// lakukan request dengan POST method
curl_setopt($curlHandle, CURLOPT_POST, 1);

// baca data hasil request yg berupa JSON
$content = curl_exec($curlHandle);
curl_close($curlHandle);

// ekstrak data JSON untuk mendapatkan hasil URL yg disingkat
$data = json_decode($content);
return $data->id;
}

echo singkatURL('http://jagoan-php.blogspot.com/2011/11/script-php-untuk-transaksi-unik.html');

?>

Jika script di atas dijalankan, maka akan muncul output URL hasil singkatannya adalah: http://goo.gl/To7Q8. Jika Anda buka URL singkatan tersebut di browser otomatis akan diarahkan ke URL aslinya. Anda bisa integrasikan function di atas dengan sebuah form untuk memasukkan URL yang akan disingkat. Menarik bukan???
Nah… selamat mencoba, semoga bermanfaat.

Related articel :

◄ Newer Post Older Post ►