カテゴリー
Web API

Amazon Product Advertising APIでHTTP Status 503: Service Unavailableになる

Amazon Product Advertising API(PA-API)でリクエストしたら、以下のエラーが表示されました。

Error! RequestThrottled
HTTP Status 503: Service Unavailable
AWS Access Key ID: xxxxx. You are submitting requests too quickly. Please retry your requests at a slower rate.

数秒、数分、数時間、1日、3日たってもエラーのまま。

アクセスキーIDとシークレットキーを再発行してみてもエラーのまま。

調べてみた結果、

2019/01/23にPA-APIの利用ポリシー変更が原因のようです。

[重要] Product Advertising API 利用ポリシーの変更について

この変更の大まかな内容ですが、

リクエストの上限がすべてのユーザーに対して

1秒に1リクエストできたのが、

10秒に1リクエストに減りました。

また、

30日間、PA-API経由で売り上げがない場合、リクエストエラーになってしまいます。

こうなった場合、Amazonアソシエイト・プログラムの他のサービスで売り上げが発生したら、再びPA-APIが使えるようになるようです。

劣化。。

カテゴリー
Web API

アマゾン商品検索 Amazon Product Advertising API を使ってみる

Amazon Product Advertising APIを使ってアマゾンの商品検索をする方法

Amazon アソシエイト・プログラムのアカウントを作成する

Amazon Product Advertising APIを使うには、以下が必要です。

  • アクセスキー
  • シークレットキー
  • アソシエイトID

以下のページにアクセスして、アカウントを作成します。
Amazon アソシエイト・プログラム

Amazon Product Advertising API Scratchpadでリクエストを作成する

アクセスキー、シークレットキー、アソシエイトIDを取得したら、
下記のサイトにアクセスします。
Product Advertising API Scratchpad
Amazon Product Advertisingのリクエストは結構、複雑なのですが、このサイトを使うと簡単にリクエストが作成できます。

アクセスキー、シークレットキー、アソシエイトIDを入力する。

例として、Item Searchをしてみます。
左側の Select operation で Item Search を選択し、
下記の箇所に取得したアクセスキー、シークレットキー、アソシエイトIDを入力します。

Item Searchセクションの設定をする

続いて、Item Searchセクションに、例として以下のように設定し、Run requestボタンを押します。

Responseの確認をする

リクエストに成功すると、Responseセクションにこんな感じで表示されます。

XML responseタブに切り替えると、XML形式のレスポンスコードが確認できます。

HTML responseタブに切り替えると、HTML形式のレスポンスコードが確認できます。

Code snippetsを確認する

Laravelで使いたいので、Code snippetsのPHPタブを選択して、コピーします。
あとは、Laravelで、ContollerやBlade.phpで適当に加工して使います。

カテゴリー
Web API

Amazon Product Advertising APIを使った商品検索

Amazon が提供するProduct Advertising API を使って商品検索サイトをつくりました。

Amazon 商品検索