日記/2020-4

<< 2020-4 >>
S M T W T F S
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30

2020-4-22

RakutenBooksSearch プラグイン

 

 昨年(2019年)Amazonアソシエイト・プログラムのPA-API(Product Advertising API)の利用規約が変更され、PA-APIのリンクを介した売り上げが発生しないサイトではPA-APIが使えなくなりました。AmazonSearch プラグインではPA-APIを叩いているのですが、うちみたいな売り上げなんか全くない弱小ウェブサイトではすぐに使えなくなってしまいました。
 それから一年以上ほっといたわけですが、このところやることもなくてヒマなので、PA-APIに代わり、楽天ブックス総合検索APIを用いた商品検索の結果を表示するFreeStyleWikiのプラグインを作成してみました。


インストール

  • なお、楽天ブックス総合検索APIはHTTPSであるため、LWP::UserAgentがアクセスするためにはLWP::Protocol::httpsが必要となることに注意が必要。幸いこのサイトがホストされているさくらインターネットのマシンにはあらかじめこのモジュールがインストールされていたため、新たにインストールするなどの対応は必要なかった。



使い方

{{rakutenbookssearch 東野圭吾,b,10,m}}
  • 「東野圭吾」は検索語で必須のパラメータ。
  • 「b」は商品のジャンルで以下の種類がある。省略時はa。
パラメータジャンル
aすべて
bBook
cCD
dDVD
sSoftware
fForeign Book
gGame
mMagazine
  • 「10」は結果の数で省略可能。省略時は1。最大値は30。
  • 「m」は書影のサイズで、s、m、lから選べる。省略時はs。



補足

  • 楽天だけでなく、ついでに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 プラグインの部分でもそれっぽい表示がなされるようになるはず。