ペーパーバック
ペーパーバック
Noon モジュール Aws の Amazon Product Advertising API (APA) Request Authentication への対応が完了した。 以前ちょっと調べたとき「Digest::SHA を使えばいいのか、じゃあ 1日で書けるね」と、ほったらかしていた。 Amazon から「残りあと1ヶ月です。あなたのリクエストには signature がいまだにありません」とメールが来た。 あわてて 20090727 から対応を始めた。 結局 8日かかった。ひー。 修正したり新たに作ったモジュールは以下。
Aws
Aws::URI
Aws::URL
ようるすに、罠になりそうなのは、
Digest::SHA の base64 への padding のこと
知らずに2重エスケープしてしまったりすること

の二つくらい? しかし途中いろいろはまって、 読んだファイルの行を chomp しわすれたり、 コメントのつもりで行頭に$を入れたり、 ハッシュのキーをtypoしてたり、 といったありがちなバグがつぶせず、 つい、CPAN モジュールの URI::Amazon::APA に浮気してみたら、 うちの MacOSX Leopard の mod_perl 環境では URI::Amazon::APA まったく動かない。 なぜ動かないのか調べた。勉強になった。 で、自作のモジュールに戻り、突貫で書き上げた。ふー。まにあった。 おもしろがって、いろいろな方法のモジュールを書いた。 URI::Amazon::APA をうちで動くようにがっつり書き換えた Aws::URI とか。 URI と URI::Escape と Encode を一切使わない Aws::URL とか。

Aws::URI は URI base なので、URI::Amazon::APA のかわりにそのまま使えます。 Aws::URL は URI base ではなく、URI と URI::Escape と Encode をいっさい使っていませんが、必要充分なメソッドを備えます。 URI::Amazon::APA が動かなくて困ってるなら Aws::URI や Aws::URL が参考になるかもしれません。

モジュール置き場 »

topic: perl
first posted: 2009-08-03 21:51:53
last modified: 2009-08-04 17:47:13