NAME¶
WebService::YouTube::Videos - Perl interface to youtube.videos.*
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 REST API.
See
Developer APIs <
http://youtube.com/dev> and
Developer API --
REST 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 "ACCESSORS" section.
parse_xml($xml)¶
Parses XML and returns the result. $xml should be an object that XML::Simple can
understand.
get_details( $video_id )¶
Returns a WebService::YouTube::Video object. $video_id is an ID of the video
which you want to get details.
See <
http://youtube.com/dev_api_ref?m=youtube.videos.get_details> for
details.
list_by_tag( $tag, \%fields )¶
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.
list_by_user( $user )¶
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.
ACCESSORS¶
dev_id
Developer ID
ua
LWP::UserAgent object
DIAGNOSTICS¶
- dev_id is required
- Developer ID is required when you call API of YouTube.
- invalid XML
- The XML is not a YouTube's XML.
- 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
"bug-webservice-youtube@rt.cpan.org", 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 <yoshida@cpan.org>
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.