ブログ
PAAPI!
- 2009-6-18 23:51
- きさら's in ブログ
AmazonがWebサービスのリクエストに署名が必要との事で対応中。
Dan Kogai氏のURI::Amazon::APAを利用させていただこうとしたのだが…
いきなり不具合ががが
シングルクォートを含むキーワードで上手くいかないみたいです。
報告したもののいつ対応していただけるか分からんので、パッチで対応。時間も迫っとるので…
とりあえず、この関数を追加し、エンコードしているところを修正してなんとかなったっぽいです。
シングルクォート以外にも対応しなきゃいかん記号があるかなぁ…
追記:
と思っていたらここのサンプルの方がいいみたい。
パッチをあてるなら
こうか。
Dan Kogai氏のURI::Amazon::APAを利用させていただこうとしたのだが…
いきなり不具合ががが
シングルクォートを含むキーワードで上手くいかないみたいです。
報告したもののいつ対応していただけるか分からんので、パッチで対応。時間も迫っとるので…
sub uri_escape_utf8_ex
{
my $str = shift;
$str = uri_escape_utf8($str);
$str =~ s/(')/'%' . unpack('H2', $1)/eg;
$str;
}とりあえず、この関数を追加し、エンコードしているところを修正してなんとかなったっぽいです。
my $sq = join '&',
map { $_ . '=' . uri_escape_utf8_ex( $q{$_} ) } sort keys %q;シングルクォート以外にも対応しなきゃいかん記号があるかなぁ…
追記:
と思っていたらここのサンプルの方がいいみたい。
パッチをあてるなら
my $sq = join '&',
map { $_ . '=' . uri_escape_utf8( $q{$_}, '^A-Za-z0-9\-_.~' ) } sort keys %q;
こうか。

