- 2009-08-17 (月) 22:29
- Web関連


- JSONで被ブクマ数を取得
そういえば、予定してなかった事(Retweetボタンとか)もイロイロやったの書くの忘れた・・・
さて前エントリーの続き。というか、表題の内容についてもうちょっと細かい話。
理由に関しては、あの説明で全部なので割愛します。
とにかくDelicious API ver2での、テキストでの被ブックマーク数取得について、書かれているものを検索。
古いAPIのものは結構見つかるのですが、新しいAPI用は意外と少ない。やっと見つかったのが、意外な事に、ver.2用の画像取得APIを作られたところでした。
Deliciousの被ブクマ数をJSONで取得
私が参考にしたのはコチラの記事。
「Delicious画像APIが過負荷で繋がりにくい場合のJavaScriptで対応方法 [C!]」
MD5ハッシュをidにしちゃうあたりが、豪快というかなるほどと思いました。
もっとも、場合によってはハッシュの値が「0」始まる事もありえる訳で、確かidは「0」から始まる文字は、使う事を推奨しないんだかだったはずです。(ここら辺うろ覚え)
はてブ経由でmaRKさんからツッコミありました。「0」からじゃなくて「数字で始まってはいけない」でしたね。
MD5ハッシュをidにするメリットは、戻ってくるJSONにエントリー毎のMD5ハッシュが含まれているので、コールバック関数に別途呼び出し元を渡す必要が無い事ですね。
私はidがハッシュというのが気持ち悪いのと、エントリーアーカイブ内でのみ(つまり同一ページ内で複数呼び出される事が無いケース)でのみ使用するつもりだったので、そこら辺は固定のidに変更し、配列使って複数エントリー対応している部分も、若干シンプルにしてみました。
今度はyagerさんご本人から、はてブ経由で。「適当なprefix付けてIDにするといいかも」 確かに、それなら修正も簡単だし、良さそうですね。
なお、MD5ハッシュの作成にはJavascriptを使わずに、Movable TypeのMD5フィルタ・プラグイン/楽を使いました。MD5化するJavascriptも複数あるようで、実行速度比較もされてるようでした。
かなりシンプルにした上で、エントリーで使うJavascriptを一つにまとめ、Minifier - ogawa - スタイルシートやJavaScriptファイルのminify機能を実現するプラグイン。 - Project Hosting on Google Codeで圧縮しました。
ちなみに、こっちはmersyくんのブクマから見つけたやつ。
「MT 4.xでSBM登録アイコンと非リンク数表示 - cosmos blog」
複数エントリーへの対応の為に、関数名を可変にするのには、感動しました。パラメーターで渡す事しか考えて無かった。しかしEntryBasenameとは・・・
こちらも目を通しといた方が、理解は深まりますよ。
はてブの被ブクマ数をJSONで取得
さて、じゃあ「はてブ」も同様に・・・とかやり始めたら(Deliciousとはてブだと戻ってくるJSONが違ってた。どちらかというとDeliciousがおかしいっぽい感じ。)、なんと「(開発者さま向け)はてなブックマーク件数取得APIに新しいAPIを追加 - はてなブックマーク日記 - 機能変更、お知らせなど」なんてのが発表されちゃいました。戻り値がまんま「ブックマーク数」なので、すごく使いやすい。新はてなブックマーク件数取得 API を使って自分のページに件数を埋め込む最も簡単な方法 - IT戦記なんかだと、別途にコールバック関数用意しないでも良かったりします。
被ブックマーク数は、ゼロの場合には何も表示しないようにしたかったので、実際にはコールバック関数で分岐処理とかやらせてますが、ものすごく簡単なコードで済みました。
- 【追記】
後で気付いたけど、「SBM Common API を作りました [C!]」ってのもあったみたい。
- Newer >: GetQRcodeプラグインでMT4iリンクを作成
- < Older: 今月のいらんことしぃ・と、どこかのマネしてみる
ping a Trackback
- TrackBack URL for this entry.(1)




スクリプトの読み込みが完了していません。
メールフォーム(Javascriptを使用していません)や、
Twitter経由のCommentでもReplyいたします。ただし返信はブログのコメントとして行う事もあります。