Webサイト制作

投稿日:2021年1月23日 更新日:

Product Advertising APIで商品情報を取得してみる

ノンプログラマーがProduct Advertising APIでの商品情報取得にチャレンジしました。 検索しても情報が少なく苦労したので、同じような方の参考になればと思います。

amazonのProduct Advertising API(PA-API)って?

PA-APIを利用すると、アマゾンに出品されている商品の情報が取得できます。主にアフェリエイター向けのサービスで無料で使うことができます。 amazonのサイトにはこのように記載されています。
Product Advertising API (PA-API) は商品情報や販売金額などを取得することができるAPIです。PA-APIはキーワードによる商品検索APIや、特定の商品の詳細情報を取得するAPIを提供しています。このAPIをシステムに組み込むことで、キーワードに連動した商品情報を自動で取得・表示するようなシステムを構築することができます。

APIを使用するための準備

Amazonアソシエイト・プログラムへ参加する

まずはAmazonアソシエイトへ登録します。

アクセスキーとシークレットキーを取得する

APIの使用に必要なアクセスキーとシークレットキーを取得します。 APIを利用するにはアソシエイトのナビゲーション「ツール」→「Amazon Product Advertising API」を選択します。

ページ内[認証キーの管理]でアクセスキーとシークレットキーを取得するのですが、シークレットキーが表示されたらどこかにメモを取りましょう。 そのまま画面を閉じると再確認できずにサイドアクセスキーの取得をすることになりますよ。

データの取得はScratchpadが便利です

一からコードを書いて情報を取得する、なんて高度な事できないのでAmazonが提供してくれている[Product Advertising API Scratchpad]を利用します。

アソシエイトのページのどこにリンクあるのかと探しましたが分かりませんでした。
下にスクラッチパッドへのリンクをはっておきます。

必要情報を入力する

何でもいいのでとりあえずデータを取得してみます。 Scratchpadサイドバーから[SearchItems]を選択し、赤枠部分に「アクセスキー」と「シークレットキー」を記入します。これがないとデータの取得ができません。

赤枠つけ忘れましたが、[Partner Tag]も必須です。
パートナータグはアソシエイトIDなのでアソシエイトのページ右上に表示されているアソシエイトIDを記入します。

Keywords
ここに検索キーワードを入れます。

Resources
どんな情報を取得するのか選択します。[Select all]で全部でもいいのですが、情報量が多いので[Images.Primary.Medium][ItemInfo.Title][Offers.Listings.Price]あたりを選択して見てみると分かりやすいです。商品のメイン画像、タイトル、価格ですね。

SearchIndex
これは商品カテゴリーです。選択しなくても大丈夫ですが、思っている商品が表示されないことがあるので選択してもいいかもしれません。 ちなみにカテゴリはこんな感じでした。

HealthPersonalCare ドラッグストア
HomeAndKitchen ホーム&キッチン
SportsAndOutdoors スポーツ&アウトドア
Industrial 産業・研究開発用品
ToolsAndHomeImprovement DIY・工具・ガーデン
Apparel 服&ファッション小物
Hobbies ホビー
Beauty ビューティー
Toys おもちゃ
Appliances 大型家電
Electronics 家電&カメラ
Shoes シューズ&バッグ
Baby ベビー&マタニティ
GroceryAndGourmetFood 食品・飲料・お酒
OfficeProducts 文房具・オフィス用品
Automotive 車&バイク
Jewelry ジュエリー
MusicalInstruments パソコン・周辺機器
VideoGames TVゲーム
Books
PetSupplies ペット用品
ForeignBooks 洋書
KindleStore Kindleストア
AmazonVideo Prime Video
EverythingElse その他すべて
Music ミュージック

Add a new parameter
他にパラメーターを追加することもできます。
価格順や新着などで並び替えしたり、最低価格、最高価格を設定したりです。
全部使ってないので分かりませんが、色々使って確認してみて下さい。

例えば価格の安い順で並び替えをする場合、 スクロールして[SortBy]のラジオボタンにチェック、その後+ボタンを押すと上に項目が追加されるので、プルダウンより[Price:LowToHigh]を選択します。

データを取得

必要情報を入力したら[Run request]のボタンを押すとデータの取得ができます。

[JSON response]タブに切り替えるとどのような感じでデータが取得できているか分かりやすかったです。

その他の方法

スクラッチパッド以外にはこんな方法がありました

Code snippetsを利用する

SDK使用してみようとファイルをダウンロードしたもののうまくページに表示されなかったので、私はスクラッチパッドで表示されたPHPのコードスニペットを使用しました。
コードスニペットにはシークレットキーが非表示なのでコピペしてください。

コードスニペットには他にJAVA、PHP、cURLが用意されています。

#responseの中身を整えてページに表示できたら完成です。
ここまでするのに結構時間がかかりました。(SDK使用での表示もできてないし) こういうデータのやり取りとか、やりたいと思っていることをもう少し実現できるようになれればいいなぁと思っています。

- Webサイト制作
-,

関連記事

サイトのタイトルを画像置換する方法

よくやり方忘れてしまうのでメモ。 サイトのタイトルをh1とかで記述した場合 それを画像置換するための方法は色々あって 評価が分かれるので現時点でいいなと思っているものを。 まずはhtml <h1 ...

-webkit-とかのベンダープレフィックスをつける重要性

プレフィックスとは、CSS3を使う際に使用するプロパティの前につけるキーワードです。 サイト制作者には当たり前に思えるベンダープレフィックス。 今までどうしてこれを付けないといけないかがよく分かってい ...

IE10で要素がはみ出してしまう時の対処法

なぜかIEだけ特定の要素がはみ出てしまうことはありませんか?私はよくあります。 ページ作成をしていてブラウザチェックをしているとよくぶち当たるこの問題。 何度か解決してるけど、しばらくしたら忘れてしま ...

no image

サイト制作に役立つTips_リンク集

スタイルなどの装飾 ボタンのホバーアニメ バリエーションが豊富です。デザインのヒントに 【保存版】CSSだけで作れるホバーアニメーションボタン総まとめ 角丸とシャドウのジェネレーター 見た目で調節した ...

"Swiper"を使ったスライドで左右に画像を表示する

JQueryなしで動く"Swiper"という便利なプラグインを使ってのスライドショー。 左右に画像を表示したい時の注意点をメモ。 ダウンロードはこちらから swiper公式サイト 使う中ですごく分かり ...