ふと自分の過去のブログ記事を確認すると、AmazonJS で設定した Amazon の商品が上手く表示されず、ぐるぐるマークになっていた。偶々動作が上手くいってないのかと思ったが放置してても状況は改善されないので調査して直すことにした。
とりあえず Google Chrome の開発者コンソールを開くと何やらエラーが出ているため、HTML ソース上に出力されている amazonjsVars の items を見ると商品の情報が一切無いことを発見した。
本来であれば一番下の Items というところに商品情報が表示されるはずなのだが、なんらかの理由で商品情報が正常に取得できず、AmazonJS の表示もおかしくなっているようだ。
AmazonJS が表示されない件でググると JavaScript の動作がどうのこうのという話が出てきたが、そもそもデータを取得できていない場合とは事情が違う。
これは Amazon の API の返り値を確認する必要がある。 AmazonJS 内で Amazon の API にアクセスしている部分を探してレスポンスを var_dump してみると、以下のようなエラーメッセージが表示された。
com.amazon.paapi5#AccessDeniedException
AccessDeniedAwsUsers: The Access Key Id AKIAXXXXXXXXXXXXXXXX is not enabled for accessing this version of Product Advertising API. Please migrate your credentials as referred here https://webservices.amazon.co.jp/paapi5/documentation/migrating-your-product-advertising-api-account-from-your-aws-account.html.
API へのアクセスに利用している Access Key はこのバージョンの API では無効である。認証情報をマイグレートしろとの事だった。
Amazon の公式 Web ページにマイグレートの方法が書いてあるので、それを参考にして新たに API Key を取得しよう。
アソシエイト・セントラルアクセスキーIDとシークレットアクセスキーが生成できたら WordPress の AmazonJS の設定画面を開いてキーを設定し直そう。
これで AmazonJS が再び利用できるようになった。動作が変ならまずはエラーメッセージを確認する癖をつけよう。