bit.lyのAPIを使ってURLを短縮
bit.ly APIの使い方
参照:http://code.google.com/p/bitly-api/wiki/ApiDocumentation
bit.lyでアカウントを作成する。ログインして、
Hi {アカウント名} | Sign Out
とあるところの、自分のアカウント名をクリックすると、API keyが表示される。
jsonの形式が、documentationと違うので、形が決まっていそうなxmlを使うことにした。
注意点としては、$longUrlをurlencode()すること。
$login={login}; $apikey={api key}; $url='http://api.bit.ly/shorten?version=2.0.1&longUrl='.urlencode($longUrl).'&login='.$login.'&apiKey='.$apikey.'&format=xml'; $curl_handle = curl_init(); curl_setopt($curl_handle, CURLOPT_URL, "$url"); curl_setopt($curl_handle, CURLOPT_CONNECTTIMEOUT, 2); curl_setopt($curl_handle, CURLOPT_RETURNTRANSFER, 1); curl_setopt($curl_handle, CURLOPT_POST, 0); $buffer = curl_exec($curl_handle); curl_close($curl_handle); if (empty($buffer)) { echo 'error'; } else { $obj=json_decode($buffer); $xml = simplexml_load_file($url); $statusCode=$xml->{'statusCode'}; // ERROR / OK if ($statusCode=='OK') { $shortUrl=$xml->{'results'}->{'nodeKeyVal'}->{'shortUrl'}; echo $shortUrl; } }