2006 . 10 . 01

Amazon Webサービス

先日公開したA1「アルバムジャケットを表示するスキン」で、画像の取得元としてAmazon.co.jpを利用しています。
画像の取得方法は、単に一般のWebページにアクセスしHTMLからパースして画像のURLを抜くというものです。


しかし、AmazonにはAWS「Amazon Webサービス」という便利なものがあります。利用者のリクエストに対しXMLを出力してくれるサービスです。


http://webservices.amazon.co.jp/onca/xml?
Service=AWSECommerceService&
SubscriptionId=1AR30AGGGMJRGP5EJ302&ItemPage=1&
Operation=ItemSearch&SearchIndex=Music&ResponseGroup=Images&
Keywords=Red+Hot+Chili+Peppers+-+Stadium+Arcadium

(↑URLは改行してますが本来は一行です)


例えば上のように、Keywords=に続けてアーティスト名とアルバム名をクリエとして追加させてリクエストすれば、その情報ページを出力してくれます。この例では画像情報に焦点を絞ってリクエストしているので、他の余計な情報が含まれず、HTMLからパースするより非常に容易です。また、HTMLと違いレイアウトの変更によって取得に失敗するといった心配もありません。


そんな訳で、こういうスキンでの利用には断然このサービスを利用した方が有利ですので、早速こちらから画像の取得を行ってみようと試してみました・・・が、結局断念。


理由は文字コードによるものです。
AWSのリクエストの入力はUTF-8のみになっていますが、RainmeterはUnicodeを含む文字を表示することはできません。(WebParserでパースすることはできるが)なので、英数字のみの使用であればほとんど実害はないかもしれませんが、日本語を含む文字をRainmeterで表示できる状態でAWSにリクエストすれば、文字化けで「該当データなし」になり、逆にリクエストできるかたちにしてやれば、今度はRainmeter側で文字化けが起こるということになってしまい、これでは元も子もない。


(そこでID3v2は表示用にJIS、ID3v1にリクエスト用にUnicodeにしたらどうだろ、としばし妄想するもアホらしくなってやめる・・・いちいちそんな面倒くさいタグ私は付けたくありません。)



Rainlendarは最近のバージョンでUnicodeに対応しましたし、WINAMPも最近のバージョンでUnicodeのファイル名やタグを表示できるようになったようで、Rainmeterも次バージョンでUnicodeに対応してもらいたいものです。