URL Shortener เป็นการทำให้ url สั้นลง โดยการนำ url จริงไปฝากไว้ที่ google แล้วเมื่อมีการใช้งาน Google จะ Return Url จริงกลับมาให้
ทำไมเราต้องให้ url สั้นลง ?
– เนื่องจากในบางครั้งเรามีการใช้งานของ API อื่นๆที่เปิดให้เราใช้งานมีการจำกัดตัวอักษร ทำให้ติดปัญหาที่ URL เรายาวเกินไปใช้งานไม่ได้ ยกตัวอย่างเช่น
เราหา URL ไฟล์จาก Youtube ได้แล้วอยากให้โปรแกรมบางชนิดดูดไฟล์ไปแต่ URL ยาวเกิน
เราจึงจำเป็นต้องพึ่ง Shorturl ต่างๆเหล่านี้ ซึ่งทาง Google เองก็มีเปิดให้ใช้งานฟรี 1,000,000 requests/day ก็สามารถช่วยได้ งั้นมาเริ่มใช้งาน URL Shortener ของ Google กันเลยดีกว่า
ขั้นตอนการเปิดใช้งาน URL Shortener
1. เข้าไปที่ Google Console ทำการสร้าง Project ที่เราต้องการ
2. เมื่อเข้ามาใน Project ให้ทำการเข้าไปเปิด API ที่ APIs
3. เข้าไปที่ URL Shortener API แล้วทำการ enable เพื่อเปิดใช้งาน
4. ทำการสร้าง API Key โดยเลือกเมนู Credentials
5. หากยังไม่มี API Key ให้เลือก Create new key แล้วเลือก Browser key เพื่อใช้สำหรับ website (ใน Reference ให้ว่างๆไว้ก่อน เพื่อให้ใช้งานได้ทุก website จะได้ไม่สับสนในการตรวจสอบ)
* เท่านี้เราก็จะมี API key ไว้ใช้งานแล้ว
ขั้นตอนการเขียน PHP เพื่อใช้งาน
1. เขียนสคริปดังนี้ โดยใส่ค่า API Key ที่เราได้จากขั้นตอนข้างบนมาใส่
class GoogleUrlApi { function GoogleURLAPI($apiURL = 'https://www.googleapis.com/urlshortener/v1/url') { $key = 'API Key'; $this->apiURL = $apiURL.'?key='.$key; } function shorten($url) { $response = $this->send($url); return isset($response['id']) ? $response['id'] : false; } function expand($url) { $response = $this->send($url,false); return isset($response['longUrl']) ? $response['longUrl'] : false; } function send($url,$shorten = true) { $ch = curl_init(); if($shorten) { curl_setopt($ch,CURLOPT_URL,$this->apiURL); curl_setopt($ch,CURLOPT_POST,1); curl_setopt($ch,CURLOPT_POSTFIELDS,json_encode(array("longUrl"=>$url))); curl_setopt($ch,CURLOPT_HTTPHEADER,array("Content-Type: application/json")); }else { curl_setopt($ch,CURLOPT_URL,$this->apiURL.'&shortUrl='.$url); } curl_setopt($ch,CURLOPT_RETURNTRANSFER,1); $result = curl_exec($ch); curl_close($ch); return json_decode($result,true); } }
2. สคริปนำไปใช้งาน
$googer = new GoogleURLAPI(); if(isset($_REQUEST["longurl"])){ $shortDWName = $googer->shorten($_REQUEST["longurl"]); echo $shortDWName; }else{ echo "please input youtube url"; }
Reference : https://developers.google.com/url-shortener/