今更AmazonAPIのテスト方法とか(2017)

2017年9月1日

PAAPI(AmazonAPI)はある時突然仕様変更を行い、
アクセスキーIDの取得方法がガラッと変わりました。

なので、昔ちょっと使ってたけど、最近使ってなくてよくわかんないんだよね~
って方向けにちょっと解説をしておこうと思います(自分のためにも・・・すぐ忘れちゃうので・・・)

取得方法

ここから取得します。
IAM Management Console (Web)
https://console.aws.amazon.com/iam/home?#/security_credential

ここの
アクセスキー(アクセスキー ID とシークレットアクセスキー)
の+をおして開いて新規作成するだけです。一時的に無効にしたりすることが出来ます。
で、取得できるのはたったの2アカウントだけです。
シークレットアクセスキーは取得した瞬間にしか確認できなくて、忘れたら作り直すしかありません。
こうやって何度も削除していると、ここに削除済みアカウントが溜まっていきます。この仕様はなんとかならなかったのかなあ・・・と思います。無駄仕様・・・。

テスト方法

Amazon公式のテストツールがあります。
Signed Requests Helper
http://associates-amazon.s3.amazonaws.com/signed-requests/helper/index.html

使い方は、一番上のアクセスキー ID とシークレットアクセスキーと
検索クエリをUnsigned URLに貼り付けしてDisplay Signed URLを押すだけです。

ちなみに検索クエリ例はこうなってます。「harry potter」で検索って感じです。

http://ecs.amazonaws.com/onca/xml?Service=AWSECommerceService&Version=2011-08-01&AssociateTag=PutYourAssociateTagHere&Operation=ItemSearch&SearchIndex=Books&Keywords=harry+potter

一番下のSigned URL:にでてきたURLでアクセスするとXMLが取得できます。

ところがやってみるとわかるのですが、これはエラーになります。

多分このドメインをecs.amazonaws.jpにすると通ります。
アクセスする国のアソシエイトIDに申請をしていないIDだと通らなくなったようです。

<Code>AWS.InvalidAssociate</Code>
<Message>
Your AKIXXXXXXXXXXXXXXXXX is not registered as an Amazon Associate. Please register as an associate at https://affiliate-program.amazon.com/gp/associates/join/landing/main.html.
</Message>

ちなみに、検索クエリの「AssociateTag=」がアソシエイトIDなのですが、ここ何を入れても関係ありません。

本当にAmazonは謎仕様です・・・。