OXY NOTES

プラグインの「AmazonJS」でAmazon Product Advertising APIのエラーが発生する原因

AmazonJS」はAmazon Product Advertising APIを利用して商品リンクを作成してくれるプラグインです。
設定が簡単で扱いやすいため、当サイトでも利用していました。「アドセンスで小銭稼ぎを…」というよりも記事の流れで商品を紹介する際に「外部から商品の画像を持ってきて、リンクを調べて…」という手間を省くために利用していました。

今回、久しぶりにリンクを追加すると以下のエラーが出ました。

Amazon Product Advertising APIのエラー

RequestThrottled

AWS Access Key ID: ○○○○○○○○. You are submitting requests too quickly. Please retry your requests at a slower rate.

APIのリクエストが多すぎるからもっとゆっくりやれ」といったメッセージです。しかし当サイトでは利用しているページもごく僅かでAPIの上限に到達するほどリクエストすることは考えられません。

そこで調べてみると2019年1月23日にアマゾンの「Product Advertising API 利用ポリシー」が変更になったそうです。

重要なのは以下の部分です。

Product Advertising API (以下PA-API)ではこれまで全てのお客様に初期状態にて1秒間に1リクエストのサービス提供をしてまいりました。
2019年01月23日よりこの条件を変更し、過去30日以内の発送済み売上商品が発生している場合、1日のリクエスト上限を8,640リクエストとし、追加の日次リクエスト可能数の上限を毎日動的に変更する下記仕様といたします。

初期リクエスト可能数 : 1日あたり 8,640リクエスト(API利用開始より60日間)
PA-APIより取得した商品リンクより発生した、過去30日間の発送済み商品売上$0.05(日本円で約5円)ごとに1リクエスト追加
1日の最大リクエスト可能数は、1日あたり864,000リクエスト

要約すると「PA-API経由で30日売上がないと利用を停止するよ」とのこと。
売上に貢献していないサイトはAPIを使えないようにする。いわゆるAmazon側の負荷対策ですね。このブログのように商品の画像代わりにPA-APIを呼び出すのは禁止ということでしょう。
APIの仕様については経営判断なので、利用者側としては受け入れるしかありません。

ちなみにカウントされるのはPA-API経由で売上商品が発生した場合です。通常の「リンク作成」から生成されたテキストや画像のリンクから購入されてもカウントされません。そのためPA-APIを今後も使う予定があるという方は、積極的にPA-APIを利用してリンクを作成しましょう。

一旦停止されるとPA-APIが使えなくなるので、当然ですがPA-API経由のカウントは発生しません。すると永遠にPA-APIが使えないのかというとそうでもないようです。規約改定ページの一番下にありますが、通常のリンク経由で売上実績が発生すると再び利用できるようになるとのこと。
(具体的な数字は明示していないものの、月にAPI経由で1つのカウントをノルマとする程度なので、それほど多くの売上がなくても復活するはずです。)

2019/4/26 追記

この投稿の後に通常のテキストや画像のリンクで置き換えたところ数日で6件の成果が発生しました。
ものは試しにとPA-APIを呼び出すと正常に動作しました。
ということで、PA-API経由でない取引でも月に数件あれば復活するようです。

ただこのサイトは成果のある月とない月があるので、再びPA-APIに戻すかというのは悩みどころです…。
再び停止されて置き換える手間を考えると二の足を踏んでしまいます。

Amazon Product Advertising APIが使えなくなった場合の対処法

原因はわかったものの、当サイトのように商品画像の代わりにAmazonJSを利用していた場合、なんの解決にもなりません。
Amazon謹製のAssociates Link Builederというプラグインもありますが、APIが使えなければ動作しません。

面倒ですが、今までAmazonJSを利用して作成していたリンクを全てアマゾンアソシエイトの通常のリンクと画像に置き換える必要があります
この方法のデメリットは毎回Amazon内の商品を探してリンクを作成する必要がある点です。また表示が固定でカスタマイズができません。

サイトのデザイン上、「もう少し大きな画像がほしい」「枠の色を変更したい」「値段を非表示にしたい」といったカスタマイズができません。しかもiframeな上、縦長で商品名は10文字程度しか入らず、画像も小さい…。と、やはりAPIに比べると不満点が多く存在します。

(以下、本屋大賞で話題の本の例)

今回の件で思ったのは一つのASPに頼っていると、何かあったときに修正に手間がかかるということです。
なにか良い代替手段はないかと探していると「商品リンク管理プラグインRinker」というものを発見しました。

まだ実際に試してはいないので軽々におすすめはできませんが、説明によると無料で利用でき、AmazonだけでなくYahoo!ショッピングや楽天ショッピングのリンクも生成してくれるようです。
考えてみればこのブログを見て下さる方々がAmazonしか利用しないわけではありません。商品の紹介がてらリンクを付けるならYahoo!ショッピングや楽天ショッピングのリンクを掲載するのはむしろ親切というものです。

と、いうことで、いずれ時間が取れたらRinkerを試してみようと思います。