2014年3月2日日曜日

Product Advertising APIのアカウント管理はイケてない

プログラムから本の情報検索したい!と思ったら Product Advertising API を使うのが手っ取り早い。先日作ったPribraryにISBNから書籍情報を自動取得する機能を追加したく、アカウント登録することにした。ただそのアカウント管理に関する情報がイケてない、と思ったのでまとめておく。Product Advertising APIを使うときに覚えておくポイントは
  • Product Advertising API へのリクエストにはルートアクセスキーしか使えない
  • アソシエイトタグは別に何でもいい。
っていうこと。間違っていたら誰か教えてね。

2つのアカウント情報が必要

APIのリクエストには↓のような感じで2つのアカウントIDが必要
http://ecs.amazonaws.com/onca/xml?Service=AWSECommerceService&Operation=ItemSearch&
AWSAccessKeyId=[アクセスキー ID]&AssociateTag=[ID]&SearchIndex=Apparel&
Keywords=Shirt

AWSAccessKeyId=[アクセスキー ID]

ここから登録できます。登録完了後に次のような画面が表示されるでしょう。
ふむふむ。Manage Your Accountに行けばいいのね?
アクセスキー取得っと。
こんなことが書いてあったら誰でも新しいページYour Security Credentialsに行くだろう。俺も行った。
へーIAMユーザーとか使ってセキュリティ高めるのね。ベストプラクティスでも読んどくか。

Lock away your AWS account access keys

Any request you make for an AWS resource requires credentials so that AWS can make sure you have permission to access the resource. You can use access keys (an access key ID and secret access key) to make programmatic requests to AWS. However, we recommend that you do not use your AWS account access keys. The access key ID and secret access key for your AWS account give you access to all your resources, including your billing information. (For more information about credentials for working with AWS, see Types of Security Credentials in the Amazon Web Services General Reference.)
何でもできるアクセスキーは使わずに、権限限定したユーザーを作ってそのアクセスキー使えってことね。はい分かりました。

早速Pribrary用にアカウントを作成した。さてProduct Advertising APIへの権限をば・・・


あるあ・・ねーよwww


そんな権限ありませんでした。もしかして単に名前が違って発見できないだけかと思いPribraryユーザーに全権限を与えてAdvertising APIへリクエストを送ってみましたが、だめでした・・・・orz

もういい、ルートのアクセスキー使うわ。


AssociateTag=[ID]

ここから登録可能。登録ではWEBサイトの内容とか紹介予定の商品とか記載。もちろんIDはtakkyuuplayerで申請。4時間後次のようなメールが届いた。
Amazonアソシエイト・プログラムにお申し込みいただき、ありがとうございます。

このたび当プログラムへの参加を申請いただいたWebサイトを拝見いたしましたが、誠に残念ながら、お申し込みを承認することができませんでした。当プログラムへの参加をご希望の場合は、下記の項目をご確認いただき、あらためてお申し込みくださいますよう、お願いいたします。

当プログラムでは、お申し込みいただいたWebサイトが下記の項目に当てはまる場合、残念ながらご参加を承認することができませんので、あらかじめご了承ください。
!!??怪しいのは次の文言。
1. Webサイトが未完成の場合
Webサイトの方向性がわかる程度を目安に、内容をアップロードしてからお申し込みください。

3. Webサイトに閲覧規制がなされており、内容を拝見できない場合 
Pribraryにテストデータ入って無いため未完成と思われた、もしくは閲覧規制されていると思われたのではないか。メール受信後、 amazonアソシエイトにログインできなくなったのでどうやらtakkyuuplayerは削除されてしまったらしい。

なんということだ。このままではAPIが使えない。仕方ないのでhttp://www.takkyuuplayer.com/に絞って再度ID: takkyuuplayerで申請。
Amazon アソシエイト・プログラムにお申し込みいただき、ありがとうございます。,takkyuuplay08-22!
takkyuuplay08-22って誰だよ!takkyuuplayerじゃないのかよ!どうやらtakkyuuplayerはロックされただけでアカウント自体は存在するらしい。果たしてどうやって復活させればいいのか?takkyuuplayerを使いたいのだが。

ひとまずアカウント自体の存在は分かったのでAssociateTag=takkyuuplayerでAPIを叩いてみたら・・・通った。存在しない(であろう)アカウントAssociateTag=takkyuuplayer0302でAPI叩いてみても・・・・通った。


AssociateTag何でもいいのかよ!

結論: Amazon Product Advertising APIのアカウント管理はイケてない

Amazon Product Advertising APIを使い始めるにあたって、ハマりそうなところをまとめました。AssociateTagはなんでも良いらしいのですが、せっかくなので発行したAssociateTagを使おうと思います。まだ審査結果来てませんが・・・。そしていったいtakkyuuplayer使うにはどうすればいいのか。

0 件のコメント:

コメントを投稿