Amazonのアフィリエイトに関するプログラム(Amazon Product Advertising API)がアップデートされ、3/9までで旧バージョン(v4.0)が使えなくなった影響で、Amazonの商品情報が表示されなくなっています。本来であれば商品情報、ジャケット写真、価格などが表示されるはずなんですが、2020/03/24現在何も表示されません。
エラーログを見ると、
ServerException(code: 503): Server error: `GET https://webservices.amazon.co.jp/onca/xml?AWSAccessKeyId=...
となっていて、リクエストがv4.0で送られているようです。Product Advertising APIへのアクセスに使用しているLaravelライブラリ「revolution/laravel-amazon-product-api」のバージョンが古いのかなと思って調べてみると、最新バージョンは4.1.1。一方でcomposer.jsonは以下のようになっていて、メジャーアップデートに対応してませんでした。
"require": {
"revolution/laravel-amazon-product-api": "^2.0"
}
以下のように書き換えて
composer update
。"require": {
"revolution/laravel-amazon-product-api": "^4.0"
}
これで「revolution/laravel-amazon-product-api」のバージョンが最新になりましたが、相変わらず商品情報は表示されず、エラーは以下のように変わりました。
[403] Client error: `POST https://webservices.amazon.co.jp/paapi5/getitems` resulted in a `403 Forbidden` response:
{"__type":"com.amazon.paapi5#AccessDeniedException","Errors":[{"Code":"AccessDeniedAwsUsers","Message":"The Access Key I (truncated...)
要するに、認証情報(アクセスキーとシークレット)を新しくしなくてはいけないということ。移行ガイドにもそう書いてあるので、そういうことなんだと思うんですが、アソシエイト・セントラルにアクセスしてもこんな表示で何も出来ない。。なぜか見落としていたけど、Amazonからの案内にはこうあって、
【PA-API v5移行のご案内】PA-API の新しいバージョンについてご紹介します。現在PA-APIをご利用の方で引き続きのご利用をご希望の場合、移行手続きが必要になります。PA-API v5への移行を2020年02月11日までに実施しなかった場合、現在のPA-APIはご利用をいただけなくなります。
アソシエイト・セントラル – Product Advertising API
僕は「v4.0では利用できなくなる」と解釈していたんだけど、いやもしかして、「Amazon Product Advertising API」そのものが利用できなくなるってこと?なにそれやばい。
一応、現在Amazonに問い合わせ中ですが、ちゃんとした返事が返ってくる可能性は低いかな……その場合は、WordPressのプラグインを使うことにするけどさ。いやあどうしよ。