Beefy Boxes and Bandwidth Generously Provided by pair Networks
Pathologically Eclectic Rubbish Lister
 
PerlMonks  

Re^2: Anyone Have Perl Code for New Amazon API? [SOLVED]

by Anonymous Monk
on Oct 28, 2011 at 07:38 UTC ( #934325=note: print w/ replies, xml ) Need Help??


in reply to Re: Anyone Have Perl Code for New Amazon API? [SOLVED]
in thread Anyone Have Perl Code for New Amazon API? [SOLVED]

it is semi trivial to roll your own as needed with

I highly doubt it. OTOH I'll bet it is trivial with SOAP::Simple


Comment on Re^2: Anyone Have Perl Code for New Amazon API? [SOLVED]
Re^3: Anyone Have Perl Code for New Amazon API? [SOLVED]
by Your Mother (Canon) on Oct 28, 2011 at 12:55 UTC

    Your doubt stings. I realized that XML::LibXML will now do URI fetching itself so we can leave out dealing with the user agent stuff.

    #!/usr/bin/env perl use strict; use warnings; use URI::Amazon::APA; use XML::LibXML; use XML::LibXML::XPathContext; my $key = $ENV{AWS_KEY} || "YOURKEYHERE"; my $secret = $ENV{AWS_SECRET} || "youforgottoputyourownsecretin"; my $asscociate = $ENV{AWS_ASSOC} || "this-isnt-it-20"; my $title = shift || die "You must provide a search string"; my $mode = shift || die "You must provide a mode, e.g., Books"; my $uri = URI::Amazon::APA->new("http://ecs.amazonaws.com/onca/xml"); $uri->query_form( Service => "AWSECommerceService", Operation => "ItemSearch", ResponseGroup => "Large", AssociateTag => $asscociate, Title => $title, SearchIndex => $mode, ); $uri->sign( key => $key, secret => $secret ); my $doc = XML::LibXML->load_xml( location => $uri ); my $xc = XML::LibXML::XPathContext->new($doc); $xc->registerNs('amzn', $doc->getDocumentElement->namespaceURI); if ( my @error = $xc->findnodes('//amzn:Error') ) { die join("\n", map { $_->textContent } @error ), $/; } for my $item ( $xc->findnodes('//amzn:ItemAttributes/amzn:Title/text() +') ) { print $item->nodeValue, $/; } # print $doc->serialize(1);

    Set-up ENV or add your info to the script and then–

    node-934250.pl perl Books Learning Perl Programming Perl (3rd Edition) Learning Perl, 5th Edition Perl Cookbook, Second Edition Perl Pocket Reference Regular Expression Pocket Reference: Regular Expressions for Perl, Rub +y, PHP, Python, C, Java and .NET (Pocket Reference (O'Reilly)) Intermediate Perl Modern Perl Beginning Perl for Bioinformatics Automating System Administration with Perl: Tools to Make You More Eff +icient

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://934325]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others cooling their heels in the Monastery: (17)
As of 2014-07-25 18:54 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    My favorite superfluous repetitious redundant duplicative phrase is:









    Results (174 votes), past polls