今回は、Amazon MWSに簡単にアクセスできる、JavaScriptのコードをご紹介したいと思います。現在Amazon MWSチームより、Java、C#、PHP言語によるクライアントライブラリーが提供されていますが、開発言語の違い、バージョンの違いにより、クライアントライブラリーが使用できないケースもあります。このようなケースの場合、独自ライブラリーを作成する際に今回紹介するサンプルコードを参考にしてください。また、このコードを使って、Amazonの出品者向けに簡単なGoogle Chrome エクステンションの提供も計画していますので、今後にご期待ください。
- 本サンプルコードの使用者は、使用に先立って以下の事項に承諾したものとします。もし承諾いただけない場合は、本サンプルコードは使用しないで下さい。
- 本サンプルコードは現状のまま無保証、無サポートにて提供されます。使用者は自己の責任の下、本サンプルコードを使用します。
- 本サンプルコードを使用したことによる使用者の損害または損失について、開発者および提供者はいかなる責任も負いません。
- 本サンプルコードの使い方や不具合についての質問には、開発者および提供者は回答の義務を負いません。
MWSアクセス用クラス
MWSAgentというクラスに必要な関数をまとめています。このクラスを使用して、MWSにアクセスする際に必要となるリクエスト文字列の作成とクエリ文字列の署名をを行い、execRequestメソッドでリクエストを送信します。リクエストが成功した場合と失敗した場合の処理はコールバック関数で処理が可能です。レスポンスXMLの処理においては、jQueryのDOM参照方法が使えるので便利です。詳しくは、sample.htmlの次のコードをご参照ください。
mws.execRequest("Orders",params, function(data) {//成功時の処理 var count = 0; $(data).find('ListOrdersResponse ListOrdersResult Orders Order').each(function() { $("#main").append("<div>"+$(this).find( 'AmazonOrderId').text()+"</div>"); }); }, function(error) {//失敗時の処理 alert("接続エラー!sample.htmlファイルを編集し、Amazon MWSの認証情報を設定してください!"); });
サンプルの実行方法
- 既にインストール済みでない場合、最新版のGoogle Chromeを次のURLよりダウンロードしインストールしてください。http://www.google.co.jp/chrome/intl/ja/landing_ch.html
- サンプルコードをこちらからダウンロードし、圧縮ファイルを解凍します。
- sample.html をテキストエディタで開き[出品者ID]、[アクセスキー]、[秘密キー]、[マーケットプレイスID] に対して、Amazon MWSの登録時に発行された認証情報の値を代入してください。
mws = new MWSAgent("[出品者ID]", "[アクセスキー]", "[秘密キー]"); var params={ 'Action' : "ListOrders", 'MarketplaceId.Id.1' : "[マーケットプレイスID]", "CreatedAfter" : MWSAgent.ISODateString(d), "MaxResultsPerPage" : "100", "OrderStatus.Status.1" : "Unshipped", "OrderStatus.Status.2" : "PartiallyShipped", "OrderStatus.Status.4" : "Shipped" };
- Google Chrome の「設定」→「ツール」→「拡張機能」順にアクセスし、拡張機能設定画面を表示します。「デベロッパーモード」タブを開き「パッケージ化されていない拡張機能を読み込む…」クリックします。先ほどサンプルコードをダウンロードし展開したフォルダーを指定します。インストールがうまく行くと
アイコンが、Google Chromeのナビゲーションバーの横に表示されます。
アイコンをクリックしますと、出品者アカウントの最近30日間分の注文IDの一覧が表示されます。

以上になりますが、MWSAgent.jsファイルとsample.htmlファイルを参考にして、独自ライブラリーの作成にお役立てください。また、今回は、フィードの送信、レポート取得方法には触れていませんが、次の機会にご紹介したいと思います。