« 普通の銀行からゆうちょ銀行に振り込むための支店名の調べ方(ネット版) | Main | irc-mode で invite on xyzzy »



Fri, 27 Nov 2009

Blosxom プラグイン awsxom を Amazon API 仕様変更に対応した

Posted at Fri, 27 Nov 2009 in computer::blosxom

Amazon が 8 月ごろに API の仕様を変更して認証が必要になっていたのですが、それをいまごろ Blosxom (つまりここ)で対応したのでその記録です。

もともとずっと Amazon の本やPC周辺機器なんかを表示するために awsxom というプラグインを利用していたのですが、これが 2006年以降開発が停まっていて、今回の仕様変更にも対応していなかったのです。で、誰かが対応してくれていないかなー、と探してみたら、棚からパルチャギさんのところで awsxom の対応バージョンを発見。 awsxom_paapi.txt として公開されています。

私が借りているさくらインターネットのサーバではそのままでは使用できなかったので、Mark Shelor / Digest-SHA-PurePerl - search.cpan.orgから Digest::SHA::PurePerl をダウンロード。Blosxom の Plugin ディレクトリに lib ディレクトリを作って、plugins/lib/Digest/SHA/PurePerl.pm となるようにファイルを配置。(この、Digest/SHA/ ディレクトリが必要なところで躓いた)。
それに伴って awsxom_paapi.txt の21~23行目を以下のように修正。

#use Digest::SHA qw(hmac_sha256_base64);
use lib "$blosxom::plugin_dir/lib";
use Digest::SHA::PurePerl qw(hmac_sha256_base64);

さらにアマゾンAPIのアクセスキーとシークレットキーを設定します。API アカウント作成ページにアクセスし、アクセスキーとシークレットキーを取得して、このあたりをいじります。

# --- Plug-in package variables --------
my $asoid = "AmazonアソシエイトID";   # AmazonアソシエイトID
my $accesskey = "アクセスキー";   # アクセスキー
my $secretkey = "シークレットキー";   # シークレットキー

この下のほうの行は人によって現在のファイルに合わせて変更する場合もあるかもしれません。
最後にファイル名を awsxom に変更して、FTPで既存のファイルを上書きしておしまいです。念のため Web からアクセスして確認します。

参考

2009-12-21 追記

ふがっさむさんでも対応版が公開されていました。こちらは ISBN 13 にも対応しているようです。

« 普通の銀行からゆうちょ銀行に振り込むための支店名の調べ方(ネット版) | Main | irc-mode で invite on xyzzy »