RakutenBooksSearch プラグイン
昨年(2019年)Amazonアソシエイト・プログラムのPA-API(Product Advertising API)の利用規約が変更され、PA-APIのリンクを介した売り上げが発生しないサイトではPA-APIが使えなくなりました。AmazonSearch プラグインではPA-APIを叩いているのですが、うちみたいな売り上げなんか全くない弱小ウェブサイトではすぐに使えなくなってしまいました。
それから一年以上ほっといたわけですが、このところやることもなくてヒマなので、PA-APIに代わり、楽天ブックス総合検索APIを用いた商品検索の結果を表示するFreeStyleWikiのプラグインを作成してみました。
インストール
- 楽天ウェブサービスの新規アプリ登録のページから、新規アプリを登録し、applicationId、affiliateIdを取得します。
- 以下のファイルをダウンロードします。
- rakutensearch.zip(349)
- RakutenBooksSearch.pmの86行目にapplicationIdを、87行目にaffiliateIdをそれぞれ設定します。
- plugin以下にインストールします。
- なお、楽天ブックス総合検索APIはHTTPSであるため、LWP::UserAgentがアクセスするためにはLWP::Protocol::httpsが必要となることに注意が必要。幸いこのサイトがホストされているさくらインターネットのマシンにはあらかじめこのモジュールがインストールされていたため、新たにインストールするなどの対応は必要なかった。
使い方
{{rakutenbookssearch 東野圭吾,b,10,m}}
- 「東野圭吾」は検索語で必須のパラメータ。
- 「b」は商品のジャンルで以下の種類がある。省略時はa。
| パラメータ | ジャンル |
|---|---|
| a | すべて |
| b | Book |
| c | CD |
| d | DVD |
| s | Software |
| f | Foreign Book |
| g | Game |
| m | Magazine |
- 「10」は結果の数で省略可能。省略時は1。最大値は30。
- 「m」は書影のサイズで、s、m、lから選べる。省略時はs。
| 東野圭吾公式ガイド 作家生活40周年ver. | |
| 講談社 | |
| 東野圭吾作家生活40周年実行委員会 | |
| 楽天 Amazon | |
| マスカレード・ライフ | |
| 集英社 | |
| 東野 圭吾 | |
| 楽天 Amazon | |
| ブラック・ショーマンと名もなき町の殺人 | |
| 光文社 | |
| 東野圭吾 | |
| 楽天 Amazon | |
| むかし僕が死んだ家 新装版 | |
| 講談社 | |
| 東野 圭吾 | |
| 楽天 Amazon | |
| クスノキの番人 | |
| 実業之日本社 | |
| 東野 圭吾 | |
| 楽天 Amazon | |
| マスカレード・ゲーム | |
| 集英社 | |
| 東野 圭吾 | |
| 楽天 Amazon | |
| クスノキの女神 | |
| 実業之日本社 | |
| 東野 圭吾 | |
| 楽天 Amazon | |
| 透明な螺旋 | |
| 文藝春秋 | |
| 東野 圭吾 | |
| 楽天 Amazon | |
| 架空犯 | |
| 幻冬舎 | |
| 東野 圭吾 | |
| 楽天 Amazon | |
| 学生街の殺人 新装版 | |
| 講談社 | |
| 東野 圭吾 | |
| 楽天 Amazon |
補足
- 楽天だけでなく、ついでにAmazonへのリンクもつけてみたが、
13桁のISBNやJANコードから無理矢理検索した結果のページへのリンクになっている。JANコードは無理矢理検索した結果のページだが、13桁のISBNは10桁に変換してすっきりしたURLへのリンクにした。これで許してください。 - プラグインの出力全体を <div class="rakutensearch">〜</div> でくるんであります。テーブルを組んで表示していますので、枠線がうるさく感じる場合にはCSSで非表示にしてください。
div.rakutensearch table, div.rakutensearch th, div.rakutensearch td, div.rakutensearch img {
border-style:none;
}
- 当初は、楽天商品検索APIを使って、楽天市場の商品を検索するプラグインも作ろうと思ってたのですが、楽天ブックスだけで十分な感じがしてやめてしまいました。気が向いたら作るかもしれません。
- PA-APIが使えない本サイトでは、AmazonSearch プラグインを書き換えて、内部でRakutenBooksSearch プラグインを呼ぶようにしてみました。これで既存のページに記載されているAmazonSearch プラグインの部分でもそれっぽい表示がなされるようになるはず。
関連ページ