Hatena::Diary

naoyaのはてなダイアリー

はてなのこと、技術のこと、ウェブのこと、日々の出来事。

December 11, 2005

XML-RPC なブックマーク数取得 API

id:kusigahama さんが http://d.hatena.ne.jp/kusigahama/20051207#p1 で Google の検索結果にはてなブックマークのブックマーク数を表示する Greasemonkey を、はてなexist APIを使って実装してます。GJ。

exist API を使えば HTML をスクレイピングするより高速な実装が可能ですが、それでも一画面に 50 件検索結果があったりすると 50 回 exist API を叩くことになって HTTP のオーバーヘッドが大きいでしょうし、サーバー側も SQL が 50 回走ったりして嫌なので、前から考えてた複数 URL を与えてブックマーク数をまとめて取得する API を作ってます。来週にはリリースしたい。

はてなブックマークには AtomPP があるので、AtomPP でうまく実装できたらなあと思ってたんですが、URI のリスト投げて数を受け取るみたいな、かなり RPC 色の濃いものを AtomPP で実装するのはなんかちょっと無理があるような気がして、とりあえず XML-RPC で作っています。

フレームワークで XML-RPC をうまくハンドリングできるようにとかいろいろやってて時間がかかってしまってますが、ほぼ完成してるのでもうちょっとだけお待ちください。

# Greasemonkey のことを考えると XML over HTTP で JSON みたいな方が嬉しいかなあ。

malamala 2005/12/11 21:07 ハッシュ値で問い合わせできる仕組みを作ってほしい

naoyanaoya 2005/12/11 21:16 それは del.icio.us みたいにってことすか?

malamala 2005/12/11 21:29 そうです。
del.icio.us互換でMD5ハッシュ値。生URLを送るのはやっぱり気持ち悪い。
古記事ですけど。http://la.ma.la/blog/diary_200502191947.htm

はてながevilになれば誰がどのページを見ているのかトラッキングできるわけで
evilになりえない選択肢が用意されている方がかっこいいと思います。

shnshn 2005/12/11 21:58 MD5にしても、トラッキングできることに変わりはないんじゃないですか?
だれもBookmarkしてないページはトラッキングできないって違いしかないと思います。それが大きいか小さいかは意見が分かれると思いますが

「何を」ハッシュ値にするかは難しいところなので、実装すべきかどうかは微妙なラインだと思います。
# どの文字をエンコードするか?URLに許可されない文字はどうするか?などがあります。
# http://d.hatena.ne.jp/naoya/ と同値のURLは無数にあります。

naoyanaoya 2005/12/12 12:40 どの文字をエンコードするかはエンコードされてないのを md5 にすればいいとして、md5 にしたところで結局 DB から検索できるようにするには、DB に各ページの md5 を持ってる必要が出てきて、トラッキングはできますよねえ。

トラッキング不可能な方法を API を使えるような方法は何かあるかなあ。

malamala 2005/12/12 15:19 ブックマークされないような「プライベートなURL」が漏洩しないことが重要だと思います。ハッシュ値→カウント数だけの対応なら第三者が中継するような仕組みを作ればトラッキングはできなくなります。(生URLのままだと第三者がプライベートなURLを知りえてしまう)

naoyanaoya 2005/12/12 15:55 なるほど。

はてながトラッキングできないようにってよりかは、API を使ってサービスを作る人がってことすね。

検討してみます。

takiuchitakiuchi 2006/05/24 09:05 登録行為で情報が漏れるのはしょうがないとして、
参照行為によって情報が漏れないようにすべきって事ですね。

例えば、秘密のURLが登録されてないかどうかを秘密裏にチェックしたいときなんかでしょうか。

はてなユーザーのみコメントできます。はてなへログインもしくは新規登録をおこなってください。