The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

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.