NAME

REST::Google::Feeds - OO interface to Google Feeds API

SYNOPSIS

use REST::Google::Feeds;

REST::Google::Feeds->http_referer('http://example.com');

my $res = REST::Google::Feeds->new('http://digg.com/rss/index.xml');

die "response status failure" if $res->responseStatus != 200;

my $feed = $res->responseData->feed;

printf "title: %s\n", $feed->title;
printf "link: %s\n", $feed->link;
printf "description: %s\n", $feed->description;

foreach my $e ( $feed->entries ) {
	printf "\n";
	printf "title: %s\n", $e->title;
	printf "link: %s\n", $e->link;
	printf "date published: %s\n", $e->publishedDate;
}

DESCRIPTION

REST::Google::Feeds provides OO interface to Google REST (aka AJAX) API for feeds.

METHODS

__PACKAGE__->http_referer()

Get/set HTTP Referer header.

Note: Google says that you should supply a valid HTTP referer header each time you perform a request to their AJAX API, so new() raises warning unless referer is specified.

__PACKAGE__->new()

q argument should contain URL to a valid RSS or Atom feed. Please refer to 'Google Feeds AJAX API' documentation for complete list of arguments for Google Feeds service. E.g.:

my $res = REST::Google::Feeds->new(
	q => 'http://digg.com/rss/index.xml',
);

The code above will perform a following HTTP GET request:

http://ajax.googleapis.com/ajax/services/feed/load?q=http%3A%2F%2Fdigg.com%2Frss%2Findex.xml&v=1.0

Note: You can left protocol version number unspecified while making your searches since v=1.0 is passed by default.

See REST::Google new method.

responseData

Method returns REST::Google::Feeds::Data object, which has a single method feed.

my $res = REST::Google::Feeds->new(
	q => 'http://digg.com/rss/index.xml',
);

my $feed = $res->responseData->feed;
feed

Method returns REST::Google::Feeds::Feed object, which has accessors for all incapsulated data.

my $feed = $res->responseData->feed;
print $feed->title;
print $feed->link;

Attributes of $feed are:

title
link
author
description
type
entries

Obtaining feed entries:

foreach my $entry ($feed->entries) {
	print $entry->title;
}

Attributes of $entry are:

title
link
author
publishedDate
contentSnippet
content
categories

SEE ALSO

REST::Google - the base class for this module

http://code.google.com/apis/ajaxfeeds/documentation/#fonje - Google Feeds AJAX API

LICENSE AND COPYRIGHT

Copyright 2008, Eugen Sobchenko <ejs@cpan.org> and Sergey Sinkovskiy <glorybox@cpan.org>

This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.