のみまくし日記

毎日が文化祭の前日、そんな環境っていいですよね。この日記は未来の自分へのメッセージです。

2003年08月27日 ()

Amazon Web Service

朝、電車のなかで思い立って、Amazon Web Serviceのデベロッパートークンを申し込んでみました。

んで、朝から仕事もせず SOAP::Lite でごにょごにょ。とりあえず、 SOAP::Lite の使い方を。

ようは、単に Amazon でものを買うとき、自分のアソシエイトID経由で買えばちょっとお得かな?とか思ったので、 ウィッシュリスト リストを取得して自分のアソシエイトIDを付けてみようと思ったわけで。

LWPでHTMLをパースしてももちろんできるだけどけど、Web Serviceを使った方がカッコイイから(BERO)

っと。今日は遊んでいるほどの余裕は無かったのでした。

適当に作ってみました。よくわからなかったのですが、ここらへんを参考にしながら後はカンで、実装。

ちなみにこれ、このまま使うと デベロッパートークン ばれちゃうのでURLとかは操作しないと行けないですが、とりあえず動いたので仕事に戻ります。

#!/usr/local/bin/perl

use strict;

use Template;
use SOAP::Lite;

my $data = SOAP::Data->value(
    SOAP::Data->name(wishlist_id => 'WISHLIST_ID'),
    SOAP::Data->name(tag         => 'ASSOCIATE_ID'),
    SOAP::Data->name(devtag      => 'DEVELOPER_TOKEN'),
    SOAP::Data->name(page        => 1),
    SOAP::Data->name(type        => 'lite'),
    SOAP::Data->name(locale      => 'jp'),
    SOAP::Data->name(format      => 'xml'),
    SOAP::Data->name(version     => '1.0'),
);

my $wsdl = 'http://soap.amazon.com/schemas3/AmazonWebServices.wsdl';
my $s = SOAP::Lite->service($wsdl);

my $result = $s->WishlistSearchRequest (
    SOAP::Data->name('WishlistSearchRequest')
        ->type('WishlistRequest')
        ->value(\$data)
);

my $tt = Template->new();
my $output;

$tt->process(\*DATA, {result => $result}, \$output);
print "Content-Type: text/html;\n\n";
print $output;

__DATA__
<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>MyWishList</title>
</head>
<body>
<h1>MyWishList</h1>

<ul>
[% FOREACH detail = result.Details %]
    <li>
        <a href="[% detail.Url %]">
            <img src="[% detail.ImageUrlSmall %]"/>
            [% detail.ProductName %]
        </a>
    </li>
[% END  %]
</ul>

</body>
</html>

GOD TOMATO posted by takefumi | この日記へリンク | コメント(2) | トラックバック(0)

この日記へのトラックバック

この日記へのコメント

自分のIDで買っても報酬はもらえませんが何か?

posted by ななしさん at 2009年01月08日 10時20分 #

いまは、そーっすね。
ちょうど1年たったのかー。

ちなみに、SOAP::Liteの使い方このサンプルはちょっと違うかも。
↓のような問題だったと思われ、検証してないけど。
http://diary.godtomato.net/takefumi/2004/04/28_02.html

posted by きむら at 2009年01月08日 10時20分 #