VERSION

This document describes WebService::YouTube::Videos version 1.0.3

SYNOPSIS

    use WebService::YouTube::Videos;

    my $api = WebService::YouTube::Videos->new( { dev_id => YOUR_DEV_ID } );

    # Call API youtube.videos.list_featured
    my @videos = $api->list_featured;
    foreach my $video (@videos) {
        # $video->isa('WebService::YouTube::Video');
    }

    # Call other APIs
    my @videos = $api->list_by_user($user);
    my @videos = $api->list_by_tag($tag);

    my $video = $api->get_details($video_id);

    # Parse XML
    my @video = $api->parse_xml($xml);    # when $xml contains <video_list>
    my $video = $api->parse_xml($xml);    # when $xml contains <video_details>

DESCRIPTION

This is a Perl interface to YouTube \s-1REST\s0 \s-1API\s0.

See Developer APIs <http://youtube.com/dev> and Developer \s-1API\s0 \*(-- \s-1REST\s0 Interface <http://youtube.com/dev_rest> for details.

SUBROUTINES/METHODS

new(\%fields)

Creates and returns a new WebService::YouTube::Videos object. %fields can contain parameters enumerated in \*(L"\s-1ACCESSORS\s0\*(R" section.

parse_xml($xml)

Parses \s-1XML\s0 and returns the result. $xml should be an object that XML::Simple can understand. Returns a WebService::YouTube::Video object. $video_id is an \s-1ID\s0 of the video which you want to get details.

See <http://youtube.com/dev_api_ref?m=youtube.videos.get_details> for details. Returns an array of WebService::YouTube::Video object. $tag is a keyword string separated by a space. %fields can contain the optional parameters.

page

1 <= page

per_page

per_page <= 100 (default 20)

See <http://youtube.com/dev_api_ref?m=youtube.videos.list_by_tag> for details. Returns an array of WebService::YouTube::Video object. $tag is a keyword string separated by a space. %fields can contain optional parameters.

See <http://youtube.com/dev_api_ref?m=youtube.videos.list_by_user> for details.

list_featured( )

Returns an array of WebService::YouTube::Video object.

See <http://youtube.com/dev_api_ref?m=youtube.videos.list_featured> for details.

\s-1ACCESSORS\s0

dev_id

Developer \s-1ID\s0

ua

LWP::UserAgent object

DIAGNOSTICS

dev_id is required

Developer \s-1ID\s0 is required when you call \s-1API\s0 of YouTube.

invalid \s-1XML\s0

The \s-1XML\s0 is not a YouTube's \s-1XML\s0.

unknown response

The ut_response is neither <video_list> nor <video_details>.

CONFIGURATION AND ENVIRONMENT

WebService::YouTube::Videos requires no configuration files or environment variables.

DEPENDENCIES

Class::Accessor::Fast, LWP::UserAgent, XML::Simple, WebService::YouTube::Util, WebService::YouTube::Video

INCOMPATIBILITIES

None reported.

BUGS AND LIMITATIONS

No bugs have been reported.

Please report any bugs or feature requests to \*(C`[email protected]\*(C', or through the web interface at <http://rt.cpan.org/NoAuth/ReportBug.html?Queue=WebService-YouTube>. I will be notified, and then you'll automatically be notified of progress on your bug as I make changes.

AUTHOR

Hironori Yoshida <[email protected]>

LICENSE AND COPYRIGHT

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