2009/08/27
Amazon API 認証に対応した ATAmazon
作成者 takanori
—
投稿日
2009年08月27日 00時03分
最終変更日時
2009年08月27日 00時03分
8月15日から Amazon から商品情報とかを取る API が Product Advertising API に変わって、認証が必要になりました。
私も「対応しなきゃなー」と思っていたんですが、そのままほっといていたら期限を過ぎていて情報を取れなくなっていました。
というわけで、一念発起して対応してみました。
といってもやったことは Product Advertising API用リバースプロキシ を使うだけなので、簡単でした。
元となるコードは ECS 4.0 に対応した ATAmazon(その2) でも書いている maruz さんのところの改造版です。
変更するのは amazon_ecs40.py の以下の2箇所です。
変更前:
_supportedLocales = {
"us" : (None, "webservices.amazon.com"),
"uk" : ("uk", "webservices.amazon.co.uk"),
"de" : ("de", "webservices.amazon.de"),
"fr" : ("fr", "webservices.amazon.fr"),
"ca" : ("ca", "webservices.amazon.ca"),
"jp" : ("jp", "webservices.amazon.co.jp")
}
変更後:
_supportedLocales = {
"us" : (None, "webservices.amazon.com"),
"uk" : ("uk", "webservices.amazon.co.uk"),
"de" : ("de", "webservices.amazon.de"),
"fr" : ("fr", "webservices.amazon.fr"),
"ca" : ("ca", "webservices.amazon.ca"),
"jp" : ("jp", "honnomemo.appspot.com/rpaproxy/jp/")
}
変更前:
def buildURL(operation, keyword, product_line, type, page, license_key, locale, associate):
_checkLocaleSupported(locale)
url = "http://" + _supportedLocales[locale][1] + "/onca/xml?Service=AWSECommerceService"
変更後:
def buildURL(operation, keyword, product_line, type, page, license_key, locale, associate):
_checkLocaleSupported(locale)
url = "http://" + _supportedLocales[locale][1] + "?Service=AWSECommerceService"
まぁ、見ての通り接続する URL を変えるというだけです。超簡単。
しかも、 Subscription ID を amazon で取得する必要もありません。
ただ使うだけだと悪い気がするので Apache モジュール版の Amazon API 認証プロキシを作ったよ - まちゅダイアリー(2009-07-26) においてあるコード使って、うちでも認証プロキシたてようかなと思ったりもします。
ATAmazon 使っている人はお試しあれ。
- カテゴリ
-
plone
-
- ¦
- 固定リンク
- ¦
- コメント (0)
- ¦
- トラックバック (0)
- トラックバック用URL:
- http://takanory.net/takalog/1147/tbping
鈴木たかのりです。とりあえず日記っぽく雑多なことを書き込んでいこうと思っています。
zope/plone関係の技術的な内容については