del.icio.usでcallback
del.icio.usではJSONによるブラウザからの直接フィードインクルードが可能。
上記ページには、フィードをインクルードする場合は以下のように<script>タグをHTML中に記述する、と書いてある。
<script type="text/javascript" src="http://del.icio.us/feeds/json/stomita?count=10"></script>
<script>タグのsrc属性のURL
http://del.icio.us/feeds/json/stomita?count=10
(stomitaはdel.icio.us id)
から実際に返されるスクリプトの中身はこんなかんじ(改行整形済み)
if(typeof(Delicious) == 'undefined') Delicious = {}; Delicious.posts = [ {"u":"http://practical-scheme.net/trans/beating-the-averages-j.html", "d":"Beating the Averages", "t":["lisp"]}, {"u":"http://www.sarugau.org/", "d":"Sarugau.org", "t":["serverside","javascript","java"]}, .... ]
しかし実は、Yahoo!(US)のJSON形式のWebサービスと同じように、callbackパラメータを与えることによってJSONデータを任意のJavaScriptコールバック関数にハンドルさせることができる。
src属性のURLを以下のように変更。
http://del.icio.us/feeds/json/stomita?count=10&callback=handleFeeds
返されるデータは次のような感じ(改行整形済み)
handleFeeds([ {"u":"http://practical-scheme.net/trans/beating-the-averages-j.html", "d":"Beating the Averages", "t":["lisp"]}, {"u":"http://www.sarugau.org/", "d":"Sarugau.org", "t":["serverside","javascript","java"]}, .... ])
そのままJavaScriptの関数呼び出しになっているので、あとはもとのHTML中にコールバック関数 handleFeeds を適当に定義しておけばよい。
del.icio.usユーザのタグリストをJSONで呼び出し
JSONによるフィードの呼び出し方はヘルプに書いてあるけど、タグリストについてはなんとなくオフィシャルではないっぽい。
http://del.icio.us/feeds/json/tags/stomita
(stomitaはdel.icio.us id)
で、ユーザのタグリストがJSON形式で取り出せる。
もちろんcallbackにも対応。
http://del.icio.us/feeds/json/tags/stomita?callback=handleTags
返ってくる値(改行整形済み)
handleTags({ "ajax":17, "amazon":4, "api":13, "appliance":1, .... })
(追記)
あるタグで絞り込んでタグリストを取得する場合は、さらにそのタグ名をくっつける
例)
http://del.icio.us/feeds/json/tags/stomita/javascript
またパラメータとして、sortおよびcountが指定できる
sort=freq|alpha(alphaがデフォルト)
count=return_num
例)
http://del.icio.us/feeds/json/tags/stomita?sort=freq&count=10
元ネタ:
http://blogfresh.blogspot.com/2006/01/freshtags-v-05.html#c114113063781958585