amazonPA-API

投稿日: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使用での表示もできてないし)
こういうデータのやり取りとか、やりたいと思っていることをもう少し実現できるようになれればいいなぁと思っています。

- amazonPA-API

関連記事

no image

amazon APIのBrowseNode ID一覧ってどうやって調べるの?

amazon APIのBrowseNodeID BrowseNodeって? アマゾンの商品カテゴリです。 ScratchpadのGetBrowseNodesでIDを取得することができます。 まずは必要 ...

no image

Amazon Product Advertising APIを使って気づいた事

APIの使い方が分からない時は Product Advertising APIの使い方が分からない時は、ドキュメントを見てみます。英語だけど、ページの翻訳で何となく分かる箇所があります。 APIのdo ...

翻訳する