2013/02/27

Facebookのいいねボタンのいいね数を取得するAPI

最近では、どこのサイトでも Facebookのいいねボタンを設置しているのを見ますが、いいねボタンのいいね数を取得するAPIがないか探していたら、あったので記事にします。いいねボタンのデザインを変えたり、バッチなどで取得して人気ランキングを作るなど応用できますね。

API仕様

認証など必要ないシンプルなAPIです。レスポンス形式はJSON形式で、コールバックを指定すると、JSONPにも対応しており、JavaScriptからでも使えます。

http://graph.facebook.com/?id=取得したいURL    (GET)
http://graph.facebook.com/?id=取得したいURL&callback=コールバック名    (GET)

レスポンス形式

こんな感じのJSONで帰ってきます。shares がいいね数に相当します。comments は、コメント数に相当します。コメントがない場合は、プロパティーが設定されないようなので注意してください。

{
    "id": "http://yahoo.co.jp",
    "shares": 534,
    "comments": 2
}

JavaScriptのサンプル

以下、JavaScript(jQuery)でYahooのいいね数を取得するサンプルです。オリジナルデザインの「いいねボタン」を作る際などに利用できますね。現在表示しているページのURLを使う場合は、document.location.href を使えばいいでしょう。
<html>
<body>
いいね数 : <span id="likes"></span>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
<script type="text/javascript">
$(function() {
 // Yahooのいいね数を取得して表示してみる
 var url= 'http://yahoo.co.jp';
 $.getJSON('http://graph.facebook.com/?id='+encodeURI(url)+'&callback=?', {}, function(json) {
  $('#likes').text(json.shares);
 })
});
</script>
</body>
</html>

PHPのサンプル

以下PHPの場合のサンプルです。Yahooのいいね数を取得しています。
<?php
$url= 'http://yahoo.co.jp';
$json = json_decode(
    file_get_contents(
        'http://graph.facebook.com/?id='
        .urlencode($url);
    )
);
var_dump($json);

まとめ

もはやいいね数は、Twitterのツイート数などと共に、ページの人気度を測る指標にもなっているので、これからはこういったデータがますます重要になってくるんだと思います。Facebookには、他にもいろいろAPIがあるのでヒマな時にでもいろいろ試してみようかと思います。

0 件のコメント:

コメントを投稿