パラノイア

ハードワーク信者 & Apple信者

【v2.10】Facebookのシェア数・いいね数をjQueryのajax()で取得する

今回はFacebookのいいね数・シェア数を取得する最新の情報を記事にします。

なんか、WPの記事一覧ページでFBシェア数・はてぶ数などを合計して表示するみたな実装をしたのですが、あまりにも情報が少なくて結構時間がかかりましたね。

とりあえず今回はajax()でFacebookだけのいいね数・シェア数を取得するコードを。

ちなみにFacebookのシェア数といいね数は過去のバージョンまでは合計値しかとれませんでした。

ただ最新バージョンの「v2.10」はコメント数・いいね数・シェア数が別々で取得できます。またその他の記事にのっている手法とデータのとり方が変わってくるので、基本的には新しい記事か確かめてコードを参考にすることをおすすめします。

まずFacebookのシェア数(いいね数も含める)は以下のAPIを叩けば取得可能。


https://graph.facebook.com/id=[url]

バージョン指定バージョン指定しないと自動的に最新のバージョンで取得されていた気が。

ただ記事一覧ページなどで一定時間に大量のAPIリクエストを送ると、簡単に制限がかかります。

なぜ?というのは以下の記事で説明されているのでご確認を。

FacebookのGraph APIで、いいね!数取得やOGPキャッシュクリアがエラー4で失敗する場合の対策 | 編集長ブログ―安田英久 | Web担当者Forum

ということでアクセストークンが必要なのですが、公式ドキュメントには有効期限が最高2ヶ月と書いていて、自動的に延長するのか、謎です。

まーそこは一旦置いといて、実際のコードがこちら。


function sns_test_facebook_count(url) {
return jQuery.ajax({
 url:'https://graph.facebook.com/v2.10/?id=' + encodeURIComponent(url) + '&fields=engagement&access_token=[アクセストークン]',
 dataType:'jsonp',
 data:{
   id:url
  }
 });
}

この関数の返り値がjson形式で帰ってきます。

あとは


var fbtotal = sns_test_facebook_count(url);

これでjson形式でfbtotalにデータが入っているので、あとは取得したいモノを。

今後はGoogle+,はてブ数などのコードも記事にする予定です。

kawaken.hatenablog.jp

kawaken.hatenablog.jp

kawaken.hatenablog.jp

kawaken.hatenablog.jp

kawaken.hatenablog.jp