Amazon の Product Advertising API を試してみる
Amazon の Product Advertising API を使って、Amazonの商品情報を取得してみます。
まずは、Amazon Web Serviceのサイトでアカウントを作成します。
次に、Account→Security Credentialsのページで、Access Key ID と Secret Access Key の情報を得ます。
これで事前準備完了です。
では実際に商品情報を取得してみましょう。
Product Advertising API を使って Amazonの商品情報を取得するには、送信するパラメータにSignatureプロパティを含めなければなりません。Signatureは自分のSecret Access Keyを使って計算により求めます。通常はリクエストのたびにサーバサイドで計算するのですが、今回は面倒なのでAmazonが提供している「署名認証リクエスト生成ツール(英語)」を使います。
署名認証リクエスト生成ツールのページを開き、Access Key ID と Secret Access Key を入力します。
以下のような送信パラメータの例が載っています。
今回は日本語で結果を取得したいので、「ecs.amazonaws.com」の部分を「ecs.amazonaws.jp」に変更したものをUnsigned URL の欄に入力します。
「Display Signed URL」ボタンを押すと、Signatureプロパティを含めたURL(Signed URL)を生成してくれます。これをブラウザからアドレス入力して送信すると、以下のようなXMLが画面に表示されます。
通常はWebアプリケーションからリクエストを投げて、返ってきたXMLをパースして必要な情報を取得し、画面を生成して表示します。
APIの使い方さえわかれば、結構簡単です。Signatureの計算が面倒ですが。。
まずは、Amazon Web Serviceのサイトでアカウントを作成します。
次に、Account→Security Credentialsのページで、Access Key ID と Secret Access Key の情報を得ます。
これで事前準備完了です。
では実際に商品情報を取得してみましょう。
Product Advertising API を使って Amazonの商品情報を取得するには、送信するパラメータにSignatureプロパティを含めなければなりません。Signatureは自分のSecret Access Keyを使って計算により求めます。通常はリクエストのたびにサーバサイドで計算するのですが、今回は面倒なのでAmazonが提供している「署名認証リクエスト生成ツール(英語)」を使います。
署名認証リクエスト生成ツールのページを開き、Access Key ID と Secret Access Key を入力します。
以下のような送信パラメータの例が載っています。
Here is an sample unsigned URL you can use to get started with: http://ecs.amazonaws.com/onca/xml?Service=AWSECommerceService &Version=2009-03-31 &Operation=ItemSearch &SearchIndex=Books &Keywords=harry+potter
今回は日本語で結果を取得したいので、「ecs.amazonaws.com」の部分を「ecs.amazonaws.jp」に変更したものをUnsigned URL の欄に入力します。
「Display Signed URL」ボタンを押すと、Signatureプロパティを含めたURL(Signed URL)を生成してくれます。これをブラウザからアドレス入力して送信すると、以下のようなXMLが画面に表示されます。
・・・(省略)・・・
<ItemAttributes>
<Author>J. K. ローリング</Author>
<Creator Role="翻訳"<松岡 佑子>/Creator>
<Manufacturer>静山社</Manufacturer>
<ProductGroup>Book</ProductGroup>
<Title>「ハリー・ポッターと死の秘宝」 (上下巻セット) (ハリー・ポッターシリーズ第七巻)</Title>
</ItemAttributes>
・・・(省略)・・・
通常はWebアプリケーションからリクエストを投げて、返ってきたXMLをパースして必要な情報を取得し、画面を生成して表示します。
APIの使い方さえわかれば、結構簡単です。Signatureの計算が面倒ですが。。




