読者です 読者をやめる 読者になる 読者になる

deliciousの本家Helpに書かれていないAPIの使いかた

今回は南国高知からお伝えしています。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はてなブックマーク APIlivedoor クリップ APIと比べてドキュメントが少なかったり(旧APIのドキュメントどこ。。。)、ほしい機能がなかったり(新APIでもMD5じゃ無くて、普通にURLでアクセスしたい。。。)、旧APIと新APIでできることが違ったり(全機能移行してほしい。。。)、JSONの列名が意味不明だったり(「u」とか「t」とか「d」とか。。。)といろいろありますが、やはりユーザ数が多いのは魅力的ですよね!

カヤックではなんとなく勘の良い方や、裏道を探すのが得意な技術者を募集しています!