Tweet

「hon.jp Webサービス」とは?

hon.jpでは、企業ユーザーもしくはWebスクリプティングに興味あるユーザーがhon.jpのデータにアクセスするためのWebサービスAPIを、HTTP REST方式で開発者向けに提供しており、hon.jpサイト会員ユーザーにも、管理画面の中で「XML出力機能」としても提供しております。具体的には、本サービスを使うことで、URLに指定のパラメータを追加してhon.jpサーバーを呼び出すことで、XMLの形でhon.jpの電子書籍メタデータDBの内容を取得することができます。 提供されるXMLをそのまま利用する以外に、XSLTを指定することで、XMLを好みのように自動加工したり、必要な情報のみを得ることができます。


誰が使えばいいの?

「hon.jp Webサービス」は電子書籍検索サービス/アプリケーションを構築しようとお考えの人のための無料サービスです。電子書籍関係のシステム開発をされている方、業界リサーチ中の方、フリーウェア作家の方など、どんどん使っていただいて問題ありません。ただし、ご利用にはXML、Webスクリプティングについて最小限の知識が必要となりますので、あらかじめご了承ください。


専用IDとか必要なの?

はい、本格利用の場合は必要となります。「hon.jp Webサービス」のご利用にはまず、hon.jpのサイト会員として登録いただき、自分の「おともだちID」(Webサービスを利用するための専用ID)を事前登録し、常にそれをクエリ文(HTTP URL)の中に記述していただく仕様となっております。もしhon.jp会員登録する前に、本サービスをお試しされたいWebサイトオーナー、プログラム開発者の方は、お試し用おともだちID「aOENZ00002」(お試し用のため、不定期に変更されることがあります)をお使いください。なお、本サービスに関する技術関連ドキュメントは本ページを中心に追加されてゆく予定です。


どんなサイト/アプリケーションが作れるの?

「hon.jp Webサービス」はすでにいろいろな場所で使われており、使い方はまさにあなたのアイデア次第です。hon.jpのガラケー向けサイト「ケータイ読書カフェhon.jp」(携帯電話で http://hon.jp/とURL入力してアクセス)の大半の人気コーナーも、PHP4とこの「hon.jp Webサービス」によって構築され、自動運転されています。マイナーな社内業務系アプリでも、けっこう使っていたりします。 他にもたとえば、Mac用ウィジェットサイトモジュールなども簡単につくれます。


データ取得(HTTPクエリ)時に使えるパラメータ

「hon.jp Webサービス(Ver.2.1)」の呼び出しでは、下記のような書式でHTTP URLを実行します。

http://hon.jp/rest/2.1/URLエンコードされた検索キーワード(ない場合は「null」と明記)/自分のおともだちID/その他パラメータ

※URL最後尾の「その他パラメータ」の部分では、用途に応じて複数のパラメータ(たとえばhardware、genre1とか。下表参照)を付けて、出力内容の絞り込みを行ないます。

「hon.jp Webサービス(Ver.2.1)」のパラメータには以下があります。たとえば「ドラえもん」にヒットする「iPhone」向けの「小学館」発行の電子書籍を実際にクエリしてみると、こんな感じになります


RESTパラメータ
パラメータ意味内容
1つ目のディレクトリ名検索文字列検索キーワード(URLエンコードします)
2つ目のディレクトリ名おともだちIDお試し用IDは「aOENZ00002」です
hardware動作ハードウェア2桁数字(hon.jpサイト会員画面の「XML作成画面」で確認ください)
os動作OS2桁数字(同上)
viewer動作ビューワーソフト2桁数字(同上)
shop電子書籍販売サイトID4桁大文字英字(同上)
payment決済方法ID2桁大文字英字
genre1第一分類3桁数字(mode=genrelistで確認できます
genre2第二分類3桁数字(同上)
genre3第三分類3桁数字(同上)
isbn13ISBNコード(13桁版)紙書籍が存在した場合、そのISBNコード(ハイフンなし)。※旧10桁版は出ません。
description50キャッチコピー文表示フラグon(default)/off
publ出版社指定4桁大文字英字(コード一覧はTab区切りテキスト形式でこちらに置いております
sort表示順id(作品ID順、デフォルト)/rank7(7日間ランキング順)/rank90(90日間ランキング順)
max1ページの表示最大件数(デフォルト:10件)
page表示中ページ(デフォルト:1ページ目)
modeXML出力モードfull/compact/genrelist/vendor(デフォルトはfull、最小限表示はcompact、分類IDマスタ出力はgenrelistを使用、hon.jp取引先の検証用はvendor)
xsltXSLT指定無指定または「xml」でxml表示/ファイル(URL)指定でXSLT変換

受信XMLの例

返されるXMLは以下のようになります。

参考までに、上記を処理するpythonスクリプト例(gist)も下に示しておきます。なお、iOS/Mac OS Xアプリ開発者の方は、オープンソースのAFNetworkingを使ったほうが楽かもしれません。

XSLTのススメ

XSLTを使うと、いろいろなかたちで受信XMLを整形できるようになります。「hon.jp Webサービス」では、「xslt」パラメータに任意の.xslファイルの置き場所(URL)を指定することで実現します。UTF-8で記述し、インターネット上でアクセス可能な場所に設置して下さい。以下にその活用例をいくつか紹介します。

  • HTMLに変換するサンプル
  • RSSに変換するサンプル
  • iframe検索ボックスを作るサンプル(下記を適当なHTMLページのbody欄に埋め込んでみてください)
  • おまけ:リアルタイム誘導監視メソッドの案内

    検索とは直接関係ありませんが、hon.jpの社内業務用途で「リアルタイム誘導監視メソッド(mode=jumplist)」というのも運用しております。これは、hon.jpのPC版サイトとケータイ版サイトおよび提携ポータルサイトにおいて、一般ユーザーが電子書籍販売サイトへのリンクをクリックし、そのままサイトジャンプしていく様子をリアルタイムでXML出力するメソッドです(つまり、hon.jpのサイトログの一部をそのままリアルタイム公開しているわけです)。

    下記が取得用のURL書式です。実際にクリックしてみてください(リアルタイムで変化していますので、30秒〜数分間隔で繰り返しクリックしてみてください)。

    ご利用時のhon.jpクレジット表示など

    「hon.jp Webサービス」を本格的にご利用の場合は、大変恐縮ではございますが、当該サイト/アプリケーション等のどこか目立たない場所にでも「データ提供元:hon.jp Webサービス」とか「hon.jpのWebサービスのデータです。」等々のリンクバックをいただけますと、開発スタッフの励みとなり大変ありがたいです。

    hon.jp - REST利用における制限

    hon.jpは、RESTサービスの中止・中断を行う場合があります。また、サービス利用の制限などにつきましてはご利用の規約をご覧ください。

    | 本サイトのご利用について | お問い合わせ | 出版社さま作品登録 | 作家さま作品登録 | WebサービスAPI | 近刊情報検索α| 会社概要 |