本エントリーは、PA-API4.0時点のものとなります。API)と移行するため、これからPA-APIをご利用の方は、以下のv5.0の記事をご参考ください。APIを使って簡単なサンプルを作っていきましょう!エントリーのサブタイトルで「最安値やランキング取得できるよ」と言っているので、最安値を取得するサービス(※サービスとも言いがたいものがですが)を作ってみようと思います。APIでどこまで実現できるのかを確認しておきます。APIのおおよその概要やプログラミングのイメージはできていると思います。いざ作ろうとなるとパラメーターの組み合わせの制限とかあって、思ったのができねーじゃねーかってことがよくあります。APIの仕様から実現できるところと実現できないところをハッキリと明示します。パラメーターがごちゃごちゃで良くわからないという方は切り分けの部分も合わせて参考にしてもらえればと思います。作っていくサービスAmazonの商品群をキーワードで検索して価格が安い順番に並び替えるサービスです。文字にすると簡単です。APIの仕様とにらめっこして実現できることと、実現できないところを切り分けていきます。APIではリクエストURLを作成してAmazonサーバーにアクセスし、結果をレスポンスしてもらうという仕組みでした。API」の使い方6-パラメーターの種類とか編-)は、パラメーターとして必須のものとオプションとしてつけるものを紹介しました。商品を検索して安い順に並び替えるには、どういったパラメーターが必要になりそうか確認しておきましょう。必須のパラメーターとだいたいつけてるパラメーターService(必須)AWSAccessKeyId(必須)Operation(必須)Timestamp(必須)Signature(必須)AssociateTag(必須)VersionResponseGroupパラメーターの意味がわからない方は、第6回を参考にしてください。商品を検索するので、Operationには、「ItemSearch」を指定します。「ItemSearch」を指定することで選べるようになるパラメーターを指定していきます。SearchIndex(必須)KeywordsSortMinimumPriceItemPage「ItemSearch」に紐づくパラメーターについて1つずつ解説していきます。SearchIndexOperation=ItemSearchを指定した時に必須となるパラメーターです。日本語でわかりやすく言うと、商品のカテゴリーを指定するところです。Amazonで商品を検索する時にドロップダウンリストで選択できるところです。カテゴリは1つしか選択できませんので、今回はDVDに絞って作っていきます。SearchIndex=Videoどんな値が指定できるかは、以下のドキュメントから確認できます。(Amazonを実際に利用してもらうとイメージがわきやすい思います。APIKeywords実際に検索したキーワードです。これは分かりやすいですね。Keywords=[任意のキーワード]Sort並び替え方法を指定します。これが少しクセモノで、「SearchIndex」のパラメーターで「すべて(All)」と「ブランド(Blended)」を指定した場合は利用できない仕様になっています。APIで並び替えをしたい場合は、何らかのカテゴリーを指定しなければいけないということです。「すべて」のカテゴリーの商品検索からは並び替えできません。価格の安い順番に並び替えるので、「price」を指定します。このソートの厄介なところが、新品と中古が両方ある場合は、どちらかの安い方でソートされてしまうところです。新品の商品だけに絞ってソートや、中古の商品だけに絞ってソートができないようになってます。Sort=priceMinimumPrice名前から分かると思いますが、最低価格を指定します。1,000円以上とかそういうやつですね。つけないと、1円の商品が引っかかりすぎて嫌だったので、とりあえず100円以上で設定してみました。APIは1度に最高で10件までの商品しか返してくれません。11件目以降の商品が欲しい場合は、「ItemPage=2」などと指定して、2ページ目をもらう必要があります。ブログとかでいうとページャーのイメージです。APIの仕様として10ページまでの情報しか得られないようになっていて、つまり、1回の取得限界が10件、そして取得ページの限界が10ページなので、1回の検索に対して10件×10ページで合計100件までの商品しか取得できないということですね。ItemPage=11と指定するとエラーになります。今回は最安値を見つけられればいいので、1ページ目だけでいいでしょう。ItemPage=1実現できること、実現できないこと長くなってきたので、一旦ここでまとめましょう。カテゴリー「すべて」では並び替えできない!カテゴリーが「すべて」の商品では最安値は取得できません。複数のカテゴリーを選択することもできません。APIを利用して最安値を取得するには、特定のカテゴリーを指定する必要があります。新品と中古は区別できない!価格での並び替えは、新品の価格も中古の価格も混ざって行われます。したがって、新品だけ中古だけと切り分けて並び替えることはできません。最大取得件数は100件!結果の最大取得件数は100件です。今回は、最安値を見つけるサービスなので問題はないと思いますが、検索結果をすべて利用したい場合はキーワードやカテゴリーの指定を工夫して100件以内に収める必要があります。価格が取得できない商品がある!あと理由は分かりませんが、価格を取得できない商品があります。(Amazonから返されるレスポンスに価格がない)ただしソートの処理では、どこからか価格を引っ張っていてその価格に則ってソートされます。こちらでは何もできないので、プログラムで弾くかAmazonの対応を待つしかありません。いったところでしょうか。APIで利用出来る機能は、Amazonのサイトで検索するときに利用できる機能となんら変わりありません。(自分が確認した範囲では。APIを叩いて「なんかしょぼい結果が返ってくるな」と思って、Amazonで同じように検索すると同じようなしょぼい結果が返ってきます。要するに、Amazonの検索システムがしょぼi(ry、、、、おっと誰か来たようだ。APIを使って最安値を取得しよう!さて、長いこと前置きしましたが、実際に作っていきましょう!とはいっても、利用するパラメータとかはまとまっているので第4回に作ったプログラムに当てはてたりすればつくれます。キーワードはフォームに入力して、そのキーワードにマッチする商品の最安値を取得しましょう。カテゴリーは「DVD」で固定します。Videosを選択、「アナと雪の女王」は好きなキーワードを選んでください。</body></html>本当に雑なプログラムですいません。実行してもらうと、下の方に検索結果が出てきます。中古の価格と、新品の価格、そしてAmazonが在庫として持っている商品の価格です。中古と新品はAmazon以外の出品者の可能性もあります。サービスを作りますと言いつつ、サービスとは言い難いものを紹介しましたが、とりあえずプログラムのイメージをつかんでもらえたらなと思います。@haniwa0081年越しに最終回まで書き上げることができました。APIを使って検索を行う方法はなんとなく理解できたのではないでしょうか。APIはパラメーターの組み合わせが複雑で書くのに大変労力がかかるのです・・・。APIを理解する上で役立ちそうな公式のドキュメントを貼り付けてお別れです。ありがとうございました。Node)をまとめてくれています。以下エントリーは、PA-API4.0時点のものとなります。API)と移行するため、これからPA-APIをご利用の方は、以下のv5.0の記事をご参考ください。リンクこのページが役に立ったらいいね!お願いします運営の励みになります...。背景色をスムーズに変化させるjQueryプラグイン「jquery-color」はにわまんWordPressが好きなフリーのWebコーダー。300件以上のWordPressカスタマイズを対応してきました。