Skip to content

気ままにWeb

webに関するもろもろ書いていきます。

気ままにWeb

bit.lyでURLを短縮[PHP]

TwitterBotを作る[PHP]で、とりあえずTwitterにPOSTはできるようになりました。
ただ、周知の通り、Twitterは140文字しかPostできません。
長ったらしいURLなんて入れたら、情報量が少なくなってしまいます。

そこで活躍するのが、URL短縮サービス。
色々ありますが、いつも使っている
http://bit.ly/
のサービスを使う事にしました。
コレを使うと、短縮したURLのクリック数とかの簡単な統計もとってくれるので非常に便利です。

bit.lyにもAPIがあるので調べてみます。
http://code.google.com/p/bitly-api/wiki/ApiDocumentation
…英語ですが…。

まあでもサンプルがあるので何となくわかりました。
http://code.google.com/p/bitly-api/wiki/ApiDocumentation#/v3/shorten
コレのようです。

単純にログインIDとAPIKyeと戻り値フォーマット、URLを渡せば、短縮URLを返してくれるみたいです。
Twitterの時のように、curlコマンドを使えば簡単にできそうですね。

まずはbit.lyに会員登録して、apikeyを取得します。
ログイン後に右上に表示されている Hi hoge ı Sign Out の hoge(これは会員登録時のIDになります)をクリックすると、次画面でAPIkeyが表示されますので、コピーしておきます。

で、PHPの方はというと…。

<?php
define("bitly_id","hoge");
define("bitly_apikey","foofoo");
define("bitly_apiurl",'http://api.bit.ly/v3/shorten?');

echo GetShortURL("http://mspec.jp/blog/");

function GetShortURL($sauce_url){

	$query = bitly_apiurl.'login='.bitly_id.'&apiKey='.bitly_apikey.'&longUrl='.urlencode($sauce_url).'&format=txt';

	$ch = curl_init();
	curl_setopt($ch, CURLOPT_URL, $query);
	curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
	curl_setopt($ch, CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_1_1);  
	$response = curl_exec($ch);
	curl_close($ch);  

	if($response){
		return $response;
	}else{
		return false;
	}
}
?>

こんな感じでよいでしょうか…。
いいみたいですね。ちゃんと短縮URLが取得できました。

他にもいろいろ作っている人がいます。楽なモノを使えばよろしいのではないでしょうか。
http://phpspot.org/blog/archives/2010/04/bitlyapi3phpurl.html
http://d.hatena.ne.jp/tknzk/20090820/1250757502

PHP

コメントを残す コメントをキャンセル

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA


このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください。

Idealist by NewMediaThemes