今回は南国高知からお伝えしています。agoです。
前回の記事でもちょっと紹介したのですが、deliciousにはいくつか本家のHelpに記載されていないAPIがあるのでご紹介したいと思います。
・情報を取得するときにURLで渡す。
deliciousは各URLのブックマーク数等を取得するとき基本的にURLのmd5を渡しますが、以下の方法であれば直接URLを指定して情報を取得することができます。
http://badges.del.icio.us/feeds/json/url/blogbadge?url=http%3A%2F%2Ftech.kayac.com%2F
また、返り値にはURLのmd5も含まれているので、URLのmd5がほしいときにも使えるかもしれません。 (deliciousへのアクセス以外でURLのmd5がほしい状況というのも思いつきませんが。。。)
・一度のアクセスで複数のURLのブックマーク数を取得する。
deliciousから対象URLのブックマーク数等を取得する場合、基本的にはひとつのURL毎に一回のアクセスが必要ですが、以下の方法であれば一回のアクセスで最大15件のURLの情報を同時に取得できます。
http://badges.del.icio.us/feeds/json/url/blogbadge?hash=9d0f4...&hash=f9dc7...&hash=5f2c0...&hash=57fae... (google,yahoo,msn,gooを同時に取得するURL例)
ちなみに同時取得はmd5での指定が必須で、URLでの指定で複数同時取得は行えませんでした。
また、上記二つの注意点として、この動作は旧del.icio.usドメインでしか受け付けてもらえず、新しいdelicious.comドメインで同じ動作をするAPIは見つけられませんでした。
・ブックマークしたユーザ名を取得する。
細かい点なのですが、RSS形式の結果とJSON形式の結果で取得できる項目が違い、RSS形式にはブックマークしたユーザ名が入りますが、JSON形式にはブックマークしたユーザ名が入りません。
ブックマークしたユーザ名も取得したい場合、必然的にRSS形式で取得することになります。
delicious APIははてなブックマーク APIやlivedoor クリップ APIと比べてドキュメントが少なかったり(旧APIのドキュメントどこ。。。)、ほしい機能がなかったり(新APIでもMD5じゃ無くて、普通にURLでアクセスしたい。。。)、旧APIと新APIでできることが違ったり(全機能移行してほしい。。。)、JSONの列名が意味不明だったり(「u」とか「t」とか「d」とか。。。)といろいろありますが、やはりユーザ数が多いのは魅力的ですよね!