Amazon Product Advertising API の電子署名にすべりこみで対応した

| コメント(0) | トラックバック(0)
2005年から提供しているamazieは、PHPとAmazonAPIのXSLを使った方法で情報を取っているのですが、
昨日の10時から、テスト的な停止で見事に止まってしまってました。

Amazon Web Services Developer Community : 【重要】Product Advertising API - サービスメンテナンス(旧サービスの一時的な停止)のお知らせ
http://developer.amazonwebservices.com/connect/ann.jspa?annID=477

誰だ、XSLは署名送れないから大丈夫とか言ってたのは。>というかそれを鵜呑みにした自分がわるい。

で、急いで対処方法を検索してみたところ、

[PHP] Amazon Product Advertising API で認証付きリクエストを送る方法まとめ - RinGoon POP!!
http://ringoon.jp/2009/05/09/memo-amazon-product-advertisin.html

こんなありがたいライブラリを提供してくださる方が。
これ使えば、ほとんど従来のままでいけますね。

ところがどっこい、うちのサーバーでは、ライブラリに必要な hash_hmac 関数が使えない。
インストールを試みるも、コンパイルエラーで挫折。

しょうがないので、他の方法を探したところ、

Product Advertising API用PukiWikiプラグイン - IMHO
http://d.hatena.ne.jp/mokehehe/20090526/productadvertisingapi

こちらにジャストミートな情報が。
これを使って動作することを確認しました。

その他、パラメーターにアソシエイトIDをくっつけてたらリクエストがとおらないとか。

&AssociateTag=associate_id
↑はつけてはいけない。

Amazon Product Advertising API 電子署名とXSLTのまとめ - web2.0的ラボ
http://www.web2-labo.com/amazon_product_advertising_api.html

もやしさんのところで紹介されていた、リクエストURL「http://ecs.amazonaws.jp/onca/xml~」のドメイン部分を、「http://xml-jp.amznxslt.com/onca/xml~」に変更したら、表示されるようになりました。
↑は本当。現時点では、http://ecs.amazonaws.jp/では署名が違うと言われてしまう。

IndexをBlendedにすると結果が返ってこないなど、まだ不明な点も。

とりあえず対応できたけど、いまさらのこの仕様変更はつらい。
Amazonは、サーバーにかかる負荷、コストを削減したいのかな~。
よほど不正なリクエストが多いのか?普通に使っている人が迷惑をこうむらない方法はなかったのか?


なお、オープンソースソフトウェアでの利用については、tDiaryの作者でもある、ただただしさんが、

Amazon Web Services Developer Community : OSSからの認証利用について ...
http://developer.amazonwebservices.com/connect/thread.jspa?threadID=32142&tstart=0

Amazon API認証のPROXYを書いたよ(AmazonのAPI認証導入はOSSに対する挑戦だよなぁ(4)) - ただのにっき(2009-06-19)
http://sho.tdiary.net/20090619.html#p01

素晴らしいつっこみと対応をされてます。

トラックバック(0)

トラックバックURL: http://a-h.panepon.com/mt5/mt-tb.cgi/201

コメントする

このブログ記事について

このページは、AUSGANG SOFTが2009年8月12日 12:30に書いたブログ記事です。

ひとつ前のブログ記事は「Kanasan.js Greasemonkey チュートリアル読書会に行ってきた」です。

次のブログ記事は「 Gyazoの履歴を紙Copiで管理するためのAHKスクリプト」です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。

ウェブページ