NAME
Net::Google - simple OOP-ish interface to the Google SOAP API
SYNOPSIS
use
Net::Google;
my
= Net::Google->new(
key
=>LOCAL_GOOGLE_KEY);
my
$search
=
->search();
# Search interface
$search
->query(
qw(aaron straup cope)
);
$search
->lr(
qw(en fr)
);
$search
->starts_at(5);
$search
->max_results(15);
map
{
$_
->title().
"\n"
; } @{
$search
->results()};
# or...
foreach
my
$r
(@{
$search
->response()}) {
"Search time :"
.
$r
->searchTime().
"\n"
;
# returns an array ref of Result objects
# the same as the $search->results() method
map
{
$_
->URL().
"\n"
; } @{
$r
->resultElements()};
}
# Spelling interface
->spelling(
phrase
=>
"muntreal qwebec"
)->suggest(),
"\n"
;
# Cache interface
$cache
->get();
DESCRIPTION
Provides a simple OOP-ish interface to the Google SOAP API
ENCODING
According to the Google API docs :
"In order to support searching documents in multiple languages
and character encodings the Google Web APIs perform all requests
and responses in the UTF-8 encoding. The parameters <ie> and
<oe> are required in client requests but their
values
are ignored.
Clients should encode all request data in UTF-8 and should expect
results to be in UTF-8."
(This package takes care of setting both parameters in requests.)
PACKAGE METHODS
__PACKAGE__->new(\%args)
Valid arguments are :
key
string. A Google API key.
http_proxy
url. A URL for proxy-ing HTTP requests.
debug
Valid options are:
boolean
If true prints debugging information returned by SOAP::Lite to STDERR
coderef.
Your own subroutine for munging the debugging information returned by SOAP::Lite.
Note that prior to version 0.60, arguments were not passed by reference. Versions >= 0.60 are backwards compatible.
Returns an object. Woot!
OBJECT METHODS
$obj->key($string)
Get/set the Google API key for this object.
$obj->http_proxy($url)
Get/set the HTTP proxy for this object.
Returns a string.
$obj->search(\%args)
Valid arguments are :
key
string. A Google API key.
If none is provided then the key passed to the parent Net::Google object will be used.
starts_at
int. First result number to display.
Default is 0.
max_results
int. Number of results to return.
Default is 10.
lr
string or array reference. Language restrictions.
safe
boolean.
filter
boolean.
http_proxy
url. A URL for proxy-ing HTTP requests.
debug
Valid options are:
boolean
If true prints debugging information returned by SOAP::Lite to STDERR
coderef
Your own subroutine for munging the debugging information returned by SOAP::Lite.
Note that prior to version 0.60, arguments were not passed by reference. Versions >= 0.60 are backwards compatible.
Returns a Net::Google::Search object. Woot!
Returns undef if there was an error.
$obj->spelling(\%args)
Valid arguments are:
key
string. A Google API key.
If none is provided then the key passed to the parent Net::Google object will be used.
phrase
string or array reference.
http_proxy
url. A URL for proxy-ing HTTP requests.
debug
boolean
Prints debugging information returned by SOAP::Lite to STDERR
coderef
Your own subroutine for munging the debugging information returned by SOAP::Lite.
If no option is defined then the debug argument passed to the parent Net::Google object will be used.
Note that prior to version 0.60, arguments were not passed by reference. Versions >= 0.60 are backwards compatible.
Returns a Net::Google::Spelling object. Woot!
Returns undef if there was an error.
$obj->cache(\%args)
Valid arguments are :
key
String. Google API key.
If none is provided then the key passed to the parent Net::Google object will be used.
url
string
http_proxy
url. A URL for proxy-ing HTTP requests.
debug
Valid options are:
boolean
If true, prints debugging information returned by SOAP::Lite to STDERR
coderef
Your own subroutine for munging the debugging information returned by SOAP::Lite.
If no option is defined then the debug argument passed to the parent Net::Google object will be used.
Note that prior to version 0.60, arguments were not passed by reference. Versions >= 0.60 are backwards compatible.
Returns a Net::Google::Cache object. Woot!
Returns undef if there was an error.
$obj->queries_exhausted()
Returns true or false depending on whether or not the current in-memory session has exhausted the Google API 1000 query limit.
VERSION
1.0
DATE
$Date: 2005/03/26 20:49:03 $
AUTHOR
Aaron Straup Cope
CONTRIBUTORS
Marc Hedlund <marc@precipice.org>
SEE ALSO
http://www.google.com/apis
http://aaronland.info/weblog/archive/4231
TO DO
Tickle the tests so that they will pass on systems without Test::More.
Add tests for filters.
Add some sort of functionality for managing multiple keys. Sort of like what is describe here :
http://aaronland.net/weblog/archive/4204
This will probably happen around the time Hell freezes over so if you think you can do it faster, go nuts.
BUGS
Please report all bugs via http://rt.cpan.org
LICENSE
Copyright (c) 2002-2005, Aaron Straup Cope. All Rights Reserved.
This is free software, you may use it and distribute it under the same terms as Perl itself.