Facebookのイイネ数を取得する

APIはふたつあるみたい。

その1

リクエス
https://api.facebook.com/method/fql.query?query=SELECT total_count FROM link_stat WHERE url="http://google.com"
レスポンス
<fql_query_response xmlns="http://api.facebook.com/1.0/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" list="true">
<link_stat>
<total_count>7158803</total_count>
</link_stat>
</fql_query_response>

XML
FQLというフェースブック専用の問い合わせ言語とのこと。
http://codaholic.org/?p=911
https://developers.facebook.com/docs/reference/fql/link_stat/

その2

リクエス
http://graph.facebook.com/?id=http://google.com
レスポンス
{
   "id": "http://google.com",
   "shares": 7158803,
   "comments": 133183
}

JSON
jsだとこんな感じで目的のイイネ数をとれる。

   $.ajax({
     type: 'GET',
     url: 'http://graph.facebook.com/?id=' + 'http://google.com,
     dataType: 'jsonp',
     success: function(data) {
       var count = (data.shares)? data.shares : 0;
       alert(data.count);
     },error : function(){}
   });

2つめの方は、リクエストに上限があるのを確認した。
上限に達するとレスポンスが以下のようになる。

{
   "error": {
      "message": "(#4) Application request limit reached",
      "type": "OAuthException",
      "code": 4
   }
}

調べると次のようなルールがあるとのこと。
> 1つのアクセストークン毎に600秒間で600コール出来る。
http://tagamidaiki.com/facebook-graph-api-call-limit/

アクセストークンを使わないと上限下がるのかも。