はじめに
Amazonの商品情報を取得するPA APIをv4.0から、v5.0へ移行するために、チュートリアルを参考にしながら開発を進めましたが、ひとつだけつまづいたポイントがあったため情報を共有したいと思います。
401エラーで進めない
わたしがつまづいたポイントは、SDKを用いてgetitems.phpを実行しても、401エラーが表示される、というものでした。
IDやシークレットキーも正しく入力しており、原因が分からない状態に陥ってしまいました。
Aamazon.comのPA PAI 5チームに問い合わせてみる
PA API v5用の利用にあたっては問い合わせ窓口が用意されています。さっそく問い合わせをしてみることに。英語のみの受付なのですこし躊躇してしましたが、Google翻訳を活用しつつ、不明点を送信しました。
朝に送信し、昼過ぎには返答がありました。下記のようなコードにするように指示がありました。これはコードの最初の3行目です。
// Put your Secret Key in place of **********
$serviceName="ProductAdvertisingAPI";
$region="us-west-2";
resionという部分がありますが、どうやら日本で使用する場合にはus-west-2と記述する必要があるとのこと。早速書き換えて実行したところ、エラーなく商品情報が表示されました。
このほかエラーの原因として考えられるもの
わたしの場合はresionの設定に問題があったわけですが、これ以外にもエラーとなる要因がいくつか考えられます。それは、アカウントにおける一定の売り上げが必要というものです。
一定の売り上げがアカウントから生じていなければ、たとえAPIでリクエストしてもエラーがが返ってきてしまいます。その場合は、通常のアソシエイトプログラムで売り上げのある状態にしてから、APIの実装をする必要があります。