本ドキュメントははてなキーワード(はてなダイアリーのキーワード)におけるAPI実装を解説するものです。主にはてなスタッフがその作成と更新を行っています。
各キーワードのフィードを取得して、そのフィードからHTMLマークアップされた本文を取得し、それを利用して任意のウェブサイト上のコンテンツを不特定多数の閲覧者に公開する場合は、そのコンテンツが掲載されたページから該当のキーワードページへリンクを行ってください。
はてなキーワードAPIは、はてなキーワードのコンテンツを任意のアプリケーションから利用するためのAPIで、キーワード検索のRSSフィードと各キーワードのRSSフィードを組み合わせて操作するものです。
現在、はてなキーワードAPIがサポートしている操作は以下です。
はてなキーワードのすべてのキーワードから、任意のワードでの検索が可能です。検索結果はRSSフィードによって取得することができます。インタフェースは HTTP GET に対して XML で処理結果を返す、REST API になっています。
たとえば、キーワード「ABC」で検索する場合は以下のURLになります。
http://search.hatena.ne.jp/keyword?word=ABC&mode=rss&ie=utf8&page=1
検索結果のRSSフィードは openSearch 名前空間 (http://a9.com/-/spec/opensearchrss/1.0/) により拡張し、RSS 1.0、RSS 2.0 の場合共に channel要素にページング処理用の要素を持たせています。
<openSearch:totalResults>20</openSearch:totalResults> <openSearch:startIndex>1</openSearch:startIndex> <openSearch:itemsPerPage>10</openSearch:itemsPerPage>
これらの値を用いることで、任意のアプリケーションにはてなキーワードAPIによる検索機能を追加する際、ページング処理も加えることが可能です。
検索結果のRSSフィードは hatena 名前空間により拡張されています。
<hatena:score>12</hatena:score> <hatena:contentscore>0</hatena:contentscore> <hatena:furigana>えーびーしー</hatena:furigana> <hatena:imageurl>http://d.hatena.ne.jp/images/keyword/390.gif</hatena:imageurl> <hatena:imageurlsmall>http://d.hatena.ne.jp/images/keyword/390_m.gif</hatena:imageurlsmall>
すべてのはてなキーワードの本文をXMLにより取得が可能です。これにより、任意のアプリケーションからキーワードのコンテンツを利用することができます。その内容はRSSフィードによって取得することができます。インタフェースは HTTP GET に対して XML で処理結果を返す、REST API です。
たとえば、キーワード「はてな」のフィードを取得する場合は以下のURLになります。
http://d.hatena.ne.jp/keyword?word=%e3%81%af%e3%81%a6%e3%81%aa&mode=rss&ie=utf8
検索結果のRSSフィードは hatena 名前空間により拡張されています。
<hatena:score>61</hatena:score> <hatena:contentscore>0</hatena:contentscore> <hatena:furigana>はてな</hatena:furigana> <hatena:imageurl>http://d.hatena.ne.jp//images/keyword/390.gif</hatena:imageurl> <hatena:imageurlsmall>http://d.hatena.ne.jp//images/keyword/390_m.gif</hatena:imageurlsmall>
はてなキーワードAPIの他にも、任意のテキストをはてなキーワードでマークアップするはてなダイアリーキーワード自動リンクAPIなどの機能も公開しています。