はてブ、Twitter、Facebook、Google+ などのソーシャル系サービスの API を手軽に使用できるようにする jQuery プラグイン

Social Info は、はてなブックマーク数や Twitter のつぶやき数などを取得するソーシャル系サービスの API を簡単に利用できるようにする jQuery プラグインです。独自デザインのソーシャルボタンなどを自作する際に利用すると便利かと思います。 jQuery Sitekit の一機能として、もしくは単独の jQuery プラグインとして使用することができます。

使い方

jQuery、jQuery Sitekit(または Social Info)の JS ファイルを読み込みます。

  1. <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
  2. <script src="jquery.social-info.js"></script>

以下の形式で各種データを取得することができます。

  1. $.si.[サービス名].[メソッド名]( 引数 )

サービス名には、hatebu、twitter、facebook、googleplus のいずれかを指定します。

はてブ数、Twitter/Facebook での共有数の取得

指定 URL のはてブ数や Twitter/Facebook での共有数を取得することができます。

  1. $.si.hatebu.getEntryCount('http://www.cyokodog.net', function( count ){
  2. alert('www.cyokodog.netのはてブ数は' + count + '件です');
  3. });
  4.  
  5. $.si.twitter.getEntryCount('http://www.cyokodog.net', function( count ){
  6. alert('www.cyokodog.netのつぶやかれ数は' + count + '件です');
  7. });
  8.  
  9. $.si.facebook.getEntryCount('http://www.cyokodog.net', function( count ){
  10. alert('www.cyokodog.netのFacebookでの共有数は' + count + '件です');
  11. });

URL の指定を省略すると、表示されてるページの URL が適用されます。

  1. $.si.hatebu.getEntryCount(function( count ){
  2. alert('このページのはてブ数は' + count + '件です');
  3. });

はてブ登録画面/共有投稿画面の URL の取得

指定 URL のはてブ登録画面や Twitter/Facebook/Google+ の共有投稿画面の URL を取得することができます。

  1. var url = $.si.hatebu.getEntryUrl('http://www.cyokodog.net');
  2.  
  3. var url = $.si.twitter.getEntryUrl('http://www.cyokodog.net');
  4.  
  5. var url = $.si.facebook.getEntryUrl('http://www.cyokodog.net');
  6.  
  7. var url = $.si.googleplus.getEntryUrl('http://www.cyokodog.net');

share facebook

URL の指定を省略すると、表示されてるページの URL が適用されます。

  1. var url = $.si.hatebu.getEntryUrl();

検索結果画面の URL の取得

指定した URL の検索結果表示画面の URL を取得することができます。

  1. var url = $.si.hatebu.getSearchUrl('http://www.cyokodog.net');
  2.  
  3. var url = $.si.twitter.getSearchUrl('http://www.cyokodog.net');
  4.  
  5. var url = $.si.facebook.getSearchUrl('http://www.cyokodog.net');
  6.  
  7. var url = $.si.googleplus.getSearchUrl('http://www.cyokodog.net');

twitter search

URL の指定を省略すると、表示されてるページの URL が適用されます。

  1. var url = $.si.hatebu.getSearchUrl();

指定サイトのはてブ人気記事の取得

指定サイトのはてブにおける人気記事(はてブ数の多い記事)の情報を JSON 形式で取得することができます。

  1. $.si.hatebu.getEntryList('http://www.cyokodog.net', function(json){
  2.  
  3. //JSONを整形して表示
  4. alert(JSON.stringify(json, null, ' '));
  5. });

ちなみに JSON の内容を確認する際、上記のように JSON.stringify を使用するときれいに整形され見やすいです(IE7以下は非対応)。

以下は http://www.cyokodog.net/ を指定した場合の取得データです。

  1. [
  2. {
  3. "link": "http://www.cyokodog.net/blog/wordpress-my-setting-plugin/",
  4. "count": "24",
  5. "title": "WordPress のこまごました設定をまとめてできるプラグインを..."
  6. },
  7. {
  8. "link": "http://www.cyokodog.net/blog/jquery19-browser/",
  9. "count": "22",
  10. "title": "CYOKODOG - jQuery 1.9 で $.browser が使えなくなってしまった対策"
  11. },
  12. {
  13. "link": "http://www.cyokodog.net/blog/jquery-ex-code-prettify/",
  14. "count": "14",
  15. "title": "Google Code Prettify のかゆいとこをなんとかする jQuery プラグイ..."
  16. },
  17. {
  18. "link": "http://www.cyokodog.net/blog/jquery-sitekit/",
  19. "count": "11",
  20. "title": "Web サイト作成時に必要になりがちな機能をまとめた jQuery Si..."
  21. },
  22. {
  23. "link": "http://www.cyokodog.net/",
  24. "count": "6",
  25. "title": "Cyokodog"
  26. },
  27. {
  28. "link": "http://www.cyokodog.net/blog/gmail-client/",
  29. "count": "5",
  30. "title": "Google 以外のメールアカウントで Gmail をメールクライアント..."
  31. },
  32. {
  33. "link": "http://www.cyokodog.net/blog/keyinfo-doc/",
  34. "count": "4",
  35. "title": "[Keyinfo] 入力キーの種類を調べることができる jQuery プラグ..."
  36. },
  37. {
  38. "link": "http://www.cyokodog.net/blog/ex-code-prettify-doc/",
  39. "count": "4",
  40. "title": "[Ex Code Prettify] その場で編集/実行できるシンタックスハイ..."
  41. },
  42. {
  43. "link": "http://www.cyokodog.net/blog/jquery-hash-contents/",
  44. "count": "4",
  45. "title": "location.hash の値に応じ表示コンテンツを切り替える jQuery プ..."
  46. },
  47. {
  48. "link": "http://www.cyokodog.net/blog/bootstrap-datetimepicker-ja/",
  49. "count": "4",
  50. "title": "Bootstrap ベースの日付/時刻ピッカー Bootstrap Datetime Picker を..."
  51. }
  52. ]

第2引数にソート順を指定することができます。

  1. // 新着順で取得
  2. $.si.hatebu.getEntryList(url, 'eid', function(json){
  3. });

以下の値を指定できます。

  • eid … 新着順
  • hot … 注目順
  • count … 人気順

URL の指定を省略すると、表示されてるページの URL が適用されます。

  1. $.si.hatebu.getEntryList(function(json){
  2. ...
  3. });

はてブしてるユーザ情報の取得

指定 URL をブックマークしてるはてなユーザの情報を JSON 形式で取得することができます。

  1. $.si.hatebu.getEntry('http://www.cyokodog.net', function(json){
  2.  
  3. //JSONを整形して表示
  4. alert(JSON.stringify(json, null, ' '));
  5. });

以下は http://www.cyokodog.net/blog/jquery-sitekit/ を指定した場合の取得データです。

  1. {
  2. "count": "11",
  3. "bookmarks": [
  4. {
  5. "timestamp": "2013/11/19 07:55:06",
  6. "comment": "",
  7. "user": "site159",
  8. "tags": [
  9. "jQuery",
  10. "Facebook",
  11. "twitter",
  12. "Google"
  13. ]
  14. },
  15. {
  16. "timestamp": "2013/08/12 18:03:01",
  17. "comment": "",
  18. "user": "y55",
  19. "tags": [
  20. "*jQuery",
  21. "*plugin"
  22. ]
  23. },
  24. {
  25. "timestamp": "2013/08/12 15:05:22",
  26. "comment": "",
  27. "user": "jaga291",
  28. "tags": [
  29. "ソーシャルボタン",
  30. "jquery"
  31. ]
  32. },
  33. {
  34. "timestamp": "2013/08/12 02:38:57",
  35. "comment": "",
  36. "user": "ymn",
  37. "tags": [
  38. "jquery"
  39. ]
  40. },
  41. {
  42. "timestamp": "2013/08/04 03:17:17",
  43. "comment": "",
  44. "user": "moonblogger",
  45. "tags": [
  46. "jQuery"
  47. ]
  48. },
  49. {
  50. "timestamp": "2013/07/13 23:24:17",
  51. "comment": "Web サイト作成時に必要になりがちな機能をまとめた jQuery Sitekit | Cyokodog",
  52. "user": "oppara",
  53. "tags": []
  54. },
  55. {
  56. "timestamp": "2013/07/04 08:54:47",
  57. "comment": "",
  58. "user": "gungnir_odin",
  59. "tags": [
  60. "*あとで読む"
  61. ]
  62. }
  63. ],
  64. "url": "http://www.cyokodog.net/blog/jquery-sitekit/",
  65. "eid": "152933618",
  66. "title": "Web サイト作成時に必要になりがちな機能をまとめた jQuery Sitekit | Cyokodog",
  67. "screenshot": "http://screenshot.hatena.ne.jp/images/200x150/d/5/0/2/8/3bb0568cd22464a81a4cf8747e101f2ee7c.jpg",
  68. "entry_url": "http://b.hatena.ne.jp/entry/www.cyokodog.net/blog/jquery-sitekit/"
  69. }

URL の指定を省略すると、表示されてるページの URL が適用されます。

  1. $.si.hatebu.getEntry(function(json){
  2. });

はてブユーザ画像の取得

指定したはてなユーザIDの画像 URL を取得できます。

  1. var url = $.si.hatebu.getProfileImgUrl('cyokodog');

はてブ数画像のの取得

指定した URL のはてブ数画像の URL を取得できます。

  1. var url = $.si.hatebu.getEntryImgUrl('http://www.google.co.jp');

ダウンロード

こちらからどうぞ。

参考にした記事