パーソナルツール
現在の場所: ホーム takalog
書いた本
Plone 完全活用ガイド の Chapter 1, 2, 3, 11 を執筆しました。
plone のインストール、使い方から、機能・デザインのカスタマイズ、プロダクトの作り方まで、 plone のすべてがぎゅっと詰まっている書籍になっていると思います。
plone に興味がある人から、すでに使いこなしている方まで、ぜひ読んでみてください。
Plone 完全活用ガイドのサポートページ
« 2009August »
Su Mo Tu We Th Fr Sa
            1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31          
このBlogについて
鈴木たかのりです。とりあえず日記っぽく雑多なことを書き込んでいこうと思っています。 zope/plone関係の技術的な内容については http://takanory.net の方にまとめていこうと思います。 コメント・ツッコミはご自由にどうぞ。
twitter facebook linkedin foursquare
カテゴリ
android (16)
av (27)
books (35)
coreblog (49)
ds (22)
ferret (24)
google (34)
icecream (44)
lego (69)
mac (20)
misc (74)
moblog (277)
movie (32)
pc (44)
plone (337)
puzzle (42)
python (56)
server (67)
snowscoot (9)
software (126)
sports (32)
suidou (30)
winds (47)
 
文書操作

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 plone
トラックバック用URL:
http://takanory.net/takalog/1147/tbping

Powered by vine linux, python, zope, plone, coreblog