Movable TypeでAmazon Webサービスを利用する

Movable Type でAmazonのWebサービスの利用方法をメモっておく。「Movable Typeだから」特殊な設定が必要というわけではないが、Movable Typeの機能を利用すると、「こんなことができるよ」という内容である。

Amazon Webサービスとは

Amazon Webサービスとは、Amazonがソフトウェア開発者向けに、Amazonの商品データにアクセスできるようにしたサービスである。詳しくは、以下のAmazonのサイトを参考にしてほしい。

Amazon Webサービス

なお、無料で利用できるが、あらかじめ登録が必要である。上記のサイトにアクセスすれば登録できる。

また、ここでは、Amazon Webサービスの利用方法の詳細は、省くので、上記のAmazonのドキュメントを参照するか、下記サイトを参考にしてください。Amazonのドキュメントは英語なので、下記のサイトをとりあえず見て、足りない部分をAmazonのドキュメントを参考にすれば良いと思います。基本的には以下の日本語のサイトで十分だと思う。

私がやりたいこと

とりあえず、私が実現したかったことは、ブログ記事毎に関連する書籍の一覧を表示し、自分好みのスタイルで表示することであった。

  • ブログ記事毎に関連する書籍の一覧を表示する
  • 自分好みのスタイルで表示する

このうち、前者の「ブログ記事毎に関連する書籍の一覧を表示する」を実現するために、Movable Typeの機能を利用する。後者については、Amazon WebサービスではXSLファイルを指定して表示内容をカスタマイズできる。ここでは、前者について述べる。

Movable Typeでの実現方法

Movable Type 4.1を前提として述べる。

Amazon Webサービスでは、キーワードを指定して、キーワードにマッチする書籍の一覧を取得することができる。Movable Type でやることは、「キーワード」を指定することである。

方法としては、既存のMTタグ(例、キーワード、タグ、概要)の利用が考えられるが、すでにいろいろな用途で使用しており、Amazon Webサービスの検索キーワードとして利用するには問題があった。そこで、Movable Type 4.1からデフォルトで利用できるようになったカスタムフィールドを利用する。カスタムフィールドでは、独自にフィールドを定義できる。そこで、「Amazon検索キーワード」というフィールドを定義した。

Movable Type カスタムフィールドの設定

次に、テンプレートの中のAmazon Webサービスを利用している部分に先程のカスタムフィールドの値が読み込まれるように設定する。

(設定例)
http://webservices.amazon.co.jp/onca/xml?
Service=AWSECommerceService
&Version=[バージョン]
&AWSAccessKeyId=[アクセスキーID]
&AssociateTag=[アソシエイトID]
&Operation=ItemSearch
&Keywords=<$MTentrydataamazonkeyword encode_url="1"$>
&SearchIndex=Books
&ResponseGroup=Small,Reviews,OfferFull,Images

あとは、ブログ記事を書く際に、先程設定したカスタムフィールドの値を指定すれば良い。

Amazon検索キーワードの指定

あとがき

Movable Typeのカスタムフィールドを利用する方法はすぐ思いついたのだが、一番大変だったのは、XSLファイルの作成。XSLに関する知識はほとんどなかったので、基本的なところから勉強した。ちょっとしたことが、どうすればいいのかわからず苦戦した。。

トラックバック(0)

このブログ記事に対するトラックバックURL: http://itsmemo.com/mt/mt-tb.cgi/117

※スパム防止のため、管理人がトラックバック内容確認後、公開されます。

コメントする