NAME
WebService::GData::Error::Entry - Wrap an xml error sent back by Google data APIs v2.
SYNOPSIS
use WebService::GData::Error;
#parse an error from a Google data API server...
my $entry = new WebService::GData::Error::Entry($xmlerror);
$entry->code;
$entry->internalreason;
$entry->domain;
$entry->location->{type};#this is just a hash
$entry->location->{content};#this is just a hash
#create an error from a Google data API server...
my $entry = new WebService::GData::Error::Entry();
$entry->code('too_long');
$entry->domain('your_domain');
$entry->location({type=>'header',content=>'Missing Version header'});
print $entry->serialize()#return <error>...</error>
DESCRIPTION
inherits from WebService::GData
This package can parse error response from Google APIs service. You can also create your own basic xml error. All WebService::GData::* classes die a WebService::GData::Error object when something went wrong.
XML error Example:
<error>
<domain>yt:validation</domain>
<code>invalid_character</code>
<location type='xpath'>media:group/media:title/text()</location>
</error>
Example:
use WebService::GData::Error;
#parse an error from a Google data API server...
my $entry = new WebService::GData::Error::Entry($xmlerror);
$entry->code;
$entry->internalreason;
$entry->domain;
$entry->location->{type};#this is just a hash
$entry->location->{content};#this is just a hash
#create an error from a Google data API server...
my $entry = new WebService::GData::Error::Entry();
$entry->code('too_long');
$entry->domain('your_domain');
$entry->location({type=>'header',content=>'Missing Version header'});
Constructor
new
Create a WebService::GData::Error::Entry instance. If the content is an xml following the Google data API format, it will get parse.
Parameters
Returns
GET/SET METHODS
These methods return their content if no parameters is passed or set their content if a parameter is set.
code
Get/set an error code.
Parameters
Returns
location
none
- Work as a gettercontent:HashRef
- Work as a setter. the hash must be in contain the following : {type=>'...',content=>'...'}.
Get/set the error location as an xpath.It requires a ref hash with type and content as keys.
Parameters
Returns
Example:
$error->location({type=>'invalid_character',content=>'The string contains an unsupported character.'});
domain
Get/set the type of error. Google data API has validation,quota,authentication,service errors.
Parameters
Returns
serialize
none
Send back an xml representation of an error.
Parameters
Returns
SEE ALSO
XML format overview and explanation of the different kind of errors you can encounter:
http://code.google.com/intl/en/apis/youtube/2.0/developers_guide_protocol_error_responses.html
BUGS AND LIMITATIONS
If you do me the favor to _use_ this module and find a bug, please email me i will try to do my best to fix it (patches welcome)!
AUTHOR
shiriru <shirirulestheworld[arobas]gmail.com>
LICENSE AND COPYRIGHT
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.