November 27, 2004

Net::Amazonでウィッシュリストを取得してみる

NDO::Weblogの Amazon ウィッシュリストを JavaScript にしてウェブサイトに貼り付けるスクリプトが面白そうだったので試してみました。

しかし正常に動作せず閉口。いくつかの項目が取得できません。Net::Amazonのドキュメントを見ながらいろいろ試していたのですが、単にスクリプトの文字コードがUTF-8になっていないのが原因でした。うーん間抜けだ(^^;

今回戸惑った点は主に下記。

・スクリプトの文字コードの見落とし
・自分のウィッシュリストIDがわからなかった
・デベロッパー・トークンの取得方法がわからなかった。

ウィッシュリストIDはAmazon.co.jpのウィッシュリスト画面の「このリストを友だちにメールで知らせる」ボタンからの操作で任意のメールアドレスに送信すれば、URLの一部に含まれています。(他に確認する方法ないのかなぁ)

デベロッパー・トークンはAmazon.comからでないと取得できません。アカウントを作成後、AWSを申し込めば取得できます。
場所がわかりづらいですがhttp://www.amazon.com/gp/aws/registration/registration-form.htmlから行けます。

※現在、デベロッパー・トークンはsubscription IDという名前になっているようです。
以下FAQから引用。
2) What is a developer token?

A developer token is a unique identifier Amazon assigned in the past to developers when they applied to use AWS. We are no longer issuing developer tokens to AWS developers. Instead, we are issuing subscription IDs (see previous question). You may find that older books and articles about AWS use the term developer token. Simply use your subscription ID in any place where a developer token is requested.


Net::Amazonのドキュメントも読んでみたのですが、簡単で面白そうなモジュールです。AWSがはじまった当初から、今ひとつこのサービスのうまい使い方を思いつかないのですが、こういうツールがあると取りあえず何か作ってみたくなりますね。

単に自分のウィッシュリストを取得するだけなら下記のような感じでできます。
#!/usr/local/bin/perl

use strict;
use warnings;
use Net::Amazon;
use encoding "euc-jp";

use constant DEV_TOKEN => 'YOUR_AMZN_TOKEN';
use constant WISHLIST_ID => 'YOUR_WISH_LIST';

my $ua = Net::Amazon->new(
token => DEV_TOKEN,
locale => 'jp',
);
my $response = $ua->search( wishlist => WISHLIST_ID );
for ($response->properties){
print $_->ProductName() . "\t" . $_->OurPrice() . "\n";
}


ちなみにNDO::Weblogのスクリプトを動作させるために、私の環境では下記のPerlモジュールのインストールが必要でした。依存関係が多すぎてかなり面倒。。(^^;

http://search.cpan.org/CPAN/authors/id/A/AB/ABW/Template-Toolkit-2.14.tar.gz
http://search.cpan.org/CPAN/authors/id/M/MS/MSCHILLI/Net-Amazon-0.32.tar.gz
http://www.cpan.org/authors/id/C/CL/CLEISHMAN/Cache-2.02.tar.gz
http://www.cpan.org/authors/id/A/AB/ABW/AppConfig-1.56.tar.gz
http://www.cpan.org/authors/id/B/BB/BBB/File-NFSLock-1.20.tar.gz
http://www.cpan.org/authors/id/G/GR/GRANTM/XML-Simple-2.13.tar.gz
http://www.cpan.org/authors/id/M/MS/MSCHILLI/Log-Log4perl-0.49.tar.gz
http://www.cpan.org/authors/id/G/GB/GBARR/TimeDate-1.16.tar.gz
http://www.cpan.org/authors/id/G/GA/GAAS/Digest-SHA1-2.10.tar.gz
http://www.cpan.org/authors/id/C/CO/COOPERCL/XML-Parser-2.31.tar.gz

ウィッシュリストは生成できましたが、公開しません。ヽ(´ー`)ノ

この記事へのトラックバックURL

http://app.blog.livedoor.jp/cpiblog00035/tb.cgi/9875008
この記事へのコメント
GREAT WEBSITE!!!! I spent the whole afternoon and part of an evening on here.There is just so much interesting stuff that you can't tear yourself away.I appreciate all the hard work that goes in to making a site this good.

<p><a href="http://poker-en.rainbowcircus.com" title="Poker">Poker</a></p>
Posted by Poker at August 04, 2005 21:29