最近ちょっとJavascriptからAmazonのProduct Advertising API使いたいなぁということで、 Perlで例の認証を行ってくれるProxyを書いてみました。
http://github.com/nyarla/amazon-auth-proxy
使い方は簡単なReadMeにも書いたんですが、
$ git clone git://github.com/nyarla/amazon-auth-proxy.gitconfig.plを書く(一緒についてるconfig.example.plを参考に)config.plの場所を環境変数AMAZONAUTHPROXY_CONFIGで指定するか、amazon-auth-proxy.plと同じディレクトリに配置するamazon-auth-proxy.plを実行する
という感じです。まあ4ステップですね。
ちなみに書くのに使った時間は正味二日ほど。まあほとんど今日一日で完成させたんだけども。
あとHTTP::EngineとURI::Amazon::APAを使ってるので両方のモジュールが必要です。
で、一応リダレクトされるのは確認したけど、ロクに動作確認してないので、なんかおかしかったら教えてください。 あとパブリックドメインとしたので、githubでforkして勝手に修正するというのもアリです。
それとHTTP::Engine使ってるので、CGIはもちろん、mod_perlとかFastCGIとか、
スタンドアロンサーバーでも動作させることができます。HTTP::Enigne万歳!
で、実際作ってみた感想なんですが、CPANモジュール便利すぐる。
サーバの実行環境抽象化とかAmazonのシグネクチャの追加とかモジュール使ってほとんどコード書かずにで実装できました。
アレですよ、僕が書いたコードなんて正味100行ちょっとですよ。HTTP::Engine++ URI::Amazon::APA++
まあそれは良いとして、これでJavascriptからAmazonのAPIコールできる環境はできたので、 気が向いたらなんか作ってみますか。