【PA-API5】SDKを用いたpythonでのAmazonAPIの使い方メモ

今回はAmzonAPIのProduct Advertising API5.0の使い方について。
pythonでPA-API5を使っていきますよ

目次

PA-API認証キーの取得

PA-APIを使用するにはAmazonアソシエイトの登録が必須です。
かつ30日以内に何かしらのアフィリエイト実績がないとAPIの使用ができません。
(APIを使用し続けるなら継続的にアフィリエイト実績を作っていかなくてはいけません..)

ちゆり

なかなか条件が厳しいな〜...。

上記の条件をクリアしている方は問題なくAPIの利用が可能です。
API利用のためにアクセセスキーとシークレットキーをAmazonアソシエイトページから取得してきます。

アクセスキーとシークレットキーの取得

Amazonアソシエイトの画面から ツール>Product Advertising API を選択します

Amazonアソシエイトログイン画面

Product Advertising API 画面から認証キーの管理へ
認証情報を追加するを選択し、認証キーを取得します。
認証キーは最大2個まで取得することができます。(僕は2つ取得していましたので認証情報を追加するボタンが選択できないようになっています。)

Amazonアソシエイト認証キーの管理

アクセスキーとシークレットキーの表示は1度きりしか行われないのでしっかり控えておきましょう。
もし忘れてしまった場合は、認証キーを削除し、再度取得することができます。

アソシエイトタグの取得

アソシエイトタグはAmazonアソシエイトログイン画面の右上に部分になります。
こちらもPA-APIを使用する際には必要になります。

Amazonアソシエイトログイン画面

SDKの取得

今回はpythonのSDKを使っていきます。
SDKパッケージは以下から取得することができます。今回は以下からpythonで取得

https://webservices.amazon.com/paapi5/documentation/quick-start/using-sdk.html

python以外にもPHP、Java、Node.jsも用意されていますね。

SDKを解凍すると以下のようなファイル構成になっていると思います。

paapi5-python-sdk-example

必要なpythonモジュールのインストール

では、ここからPA-APIを使えるように環境構築を行っていきます。

環境構築を行う際はvirtualenv等で仮想環境を作成するのをオススメします。
(めんどくさい...。特に必要ない方は不要です。)

それでは、セットアップをしていきます。

  • pipモジュールのインストール
pip install paapi5-python-sdk

上記でうまく行かない場合は

pip install git+https://github.com/amzn/paapi5-python-sdk.git

上記の方法でもうまく行かない場合は、(...僕もそうでしたが)
こちらでどうでしょうか。僕はこちらで動作しました。

python setup.py install --user
  • モジュールインストール確認

pythonインタプリタ等でimportできることを確認しておきましょう。

import paapi5_python_sdk
  • その他必要なモジュールのインストール

SDKパッケージ内にあるrequirements.txtに記載のモジュールを取得してきます

pip install -r requirements.txt

ここまで、できれば環境構築は完了です。

PA-APIを使用

認証情報の設定

APIを使用する際は以下の認証キーの記述等を変更する必要があります。
(テキストエディター等でgrepを行い一括置換を行うと便利です。)

  • アクセスキーの設定

ファイル内のaccess_key = "<YOUR ACCESS KEY>"の部分をすべてaccess_key = "上記で取得したアクセスキー"に置き換えます。

  • シークレットキーの設定

ファイル内のsecret_key = "<YOUR SECRET KEY>"の部分をすべてaccess_key = "上記で取得したシークレットキー"に置き換えます。

  • アソシエイトタグの設定

ファイル内のpartner_tag = "<YOUR PARTNER TAG>"の部分をすべてaccess_key = "上記で取得したアソシエイトタグ"に置き換えます。

また、日本のAmazonサイトから商品情報を取得するには以下の書き換えも必要になります。

  • ホストの設定

ファイル内のhost = "webservices.amazon.com"の部分をすべてhost = "webservices.amazon.co.jp"に置き換えます。

  • リージョンの設定

ファイル内のregion = "us-east-1"の部分をすべてregion = "us-west-2"に置き換えます。

  • 言語選択の設定

ファイル内のlanguages_of_preference = ["es_US"]の部分をすべてlanguages_of_preference = ["ja_JP"]に置き換えます。

  • マーケットプレイスの設定

ファイル内のmarketplace="www.amazon.com"の部分をすべてmarketplace="www.amazon.co.jp"に置き換えます。

  • 言語選択の設定

ファイル内のlanguages_of_preference = ["es_US"]の部分をすべてlanguages_of_preference = ["ja_JP"]に置き換えます。

PA-APIの種類

SDKの中には5種類のAPI実行スクリプトがありますので必要に応じて使い分けることができます。

応答はJson形式となります

sample_get_browse_nodes_api.py

ジャンル別に商品情報を取得することができます。
(メソッドはget_browse_nodes()の部分になります)

APIのリファレンスは以下
https://webservices.amazon.com/paapi5/documentation/getbrowsenodes.html

browse_node_idsにリスト形式に取得を行いたい商品のジャンルを指定します。
ジャンルのIDは以下を参考に

Amazonカテゴリ一覧 23,420 件(BrowseNodeデータ収集結果)

sample_get_items_api.py

ASINから商品情報を取得することができます。
(メソッドはget_items()の部分になります)

APIのリファレンスは以下
https://webservices.amazon.com/paapi5/documentation/get-items.html

item_idsにリスト形式で取得を行いたい商品のASINを指定します。
ASINは1リクエストにつき最大10個までリスト形式で設定できます。

sample_get_variations_api.py 

ASINから出品商品の関連情報まで取得することができます。
(メソッドはget_variations()の部分になります)

APIのリファレンスは以下
https://webservices.amazon.com/paapi5/documentation/get-variations.html

asinに取得を行いたい商品のASINを指定します。

sample_search_items_api.py

キーワードとカテゴリから商品情報を取得することができます。
(メソッドはsearch_items()の部分になります)

APIのリファレンスは以下
https://webservices.amazon.com/paapi5/documentation/search-items.html

keywordsに取得を行いたい商品のキーワードを指定します。

search_indexに取得を行いたい商品の検索カテゴリを指定します。

item_countに取得を行いたい商品の検索結果数を指定します。
1リクエストにつき最大10個の検索結果を返します

sample_request_with_conn_pool_settings.py

コネクションプールを作成し、キーワードとカテゴリから商品情報を取得することができます。
こちらは上記のsample_search_items_api.pyとメソッドは同じです。

ちゆり

SDKを用いると簡単にAmazonAPIを使用できますね。

この記事が気に入ったら
フォローしてね!

よかったらシェアしてね!

コメント

コメントする

目次
閉じる