shirirules > WebService-GData-0.0501 > WebService::GData::YouTube::Feed::Video

Download:
WebService-GData-0.0501.tar.gz

Dependencies

Annotate this POD

View/Report Bugs
Module Version: 0.0201   Source   Latest Release: WebService-GData-0.06

NAME ^

WebService::GData::YouTube::Feed::Video - a Video YouTube contents(read/write) for data API v2.

SYNOPSIS ^

    use WebService::GData::YouTube;

    #create an object that only has read access
    my $yt = new WebService::GData::YouTube();

    #get a feed response from YouTube;
    my $videos  = $yt->get_top_rated;
    #more specific:
    my $videos  = $yt->get_top_rated('JP','Comedy');

    foreach my $video (@$videos) {
        say $video->video_id;
        say $video->title;
        say $video->content;
        say $video->view_count;
        say $video->favorite_count;
        say $video->duration;
                #...etc
    }

    #connect to a YouTube account
    my $auth = new WebService::GData::ClientLogin(
        email=>'...'
        password=>'...',
        key        =>'...'
    );

    #give write access with a $auth object that you created
    my $yt = new WebService::GData::YouTube($auth);

    my $videos  = $yt->get_user_videos();#returns videos from the loggedin user even if private

    #update the playlist by adding the playlist title as a keyword
    foreach my $video (@$videos) {

        if($video->video_id eq $myid) {

            $video->delete();

        }else {

            if($video->is_listing_allowed){

                $video->kewords($playlist->title.','.$video->keywords);
                $video->save();
            }
        }
    }

DESCRIPTION ^

!WARNING! Documentation in progress.

!DEVELOPER RELEASE! API may change, program may break or be under optimized.

inherits from WebService::GData::Feed::Entry.

This package represents a Youtube Video. If you are logged in you can edit existing video metadata,create new metadata, upload videos.

Most of the time you will not instantiate this class directly but use some of the helpers in the WebService::GData::YouTube class.

See also:

CONSTRUCTOR

new

Create a WebService::GData::YouTube::Feed::Video instance.

Parameters:

jsonc_video_entry_feed:Object (Optional)
authorization:Object (Optional)

or

authorization:Object (Optional)

If an authorization object is set (WebService::GData::ClientLogin),

it will allow you to access private contents and insert/edit/delete/upload videos.

GET METHODS

All the following read only methods give access to the information contained in a video feed.

view_count

favorite_count

media_player

aspect_ratio

duration

content

comments

thumbnails

uploaded

etag

appcontrol_state

denied_countries

restriction

rating

uploader

recorded

genre

is_read_only

GENERAL SET/GET METHODS

All these methods represents information about the video but you have read/write access on them.

It is therefore necessary to be logged in programmaticly to be able to use them in write mode (if not, saving the data will not work).

title

video_id

category

description

keywords

location

ACCESS CONTROL SET/GET METHODS

These methods allow to grant access to certain activity.

You can decide to unlist the video from the search, make it private or forbid comments,etc.

is_private

access_control

The access control gives you access to the list of access for a video.

Parameters

none - getter context

Returns

WebService::GData::Collection - collection of WebService::GData::YouTube::YT::AccessControl instances

Parameters

access_name:Scalar - a particular access object

Returns

WebService::GData::YouTube::YT::AccessControl instance

Parameters

access_name:Scalar - a particular access object
control_type:Scalar - the value to set the permission

Returns

void

Example:

    my $controls   = $video->access_control;
    foreach my $control (@$controls) {
        $control->action.'->'.$control->permission;
    }
    
    my $control   = $video->access_control('comment')->permission;#default:allowed
    
    $video->access_control('comment','denied');
    
    $video->access_control('comment')->permission; #denied

The following methods are helpers that allows know which access control is allowed. It is therefore a shortcut for the following checking:

    $video->access_control('comment')->permission eq 'allowed'

is_listing_allowed

is_comment_allowed

is_comment_vote_allowed

is_video_response_allowed

is_rating_allowed

is_embedding_allowed

is_syndication_allowed

VIDEO QUERY METHODS

These methods actually query the service to save your edits.

You must be logged in programmaticly to be able to use them.

The save method will do an insert if there is no video_id or an update if there is one.

delete

save

COMMUNITY RELATED QUERY METHODS

These methods actually query the service to save your edits.

You must be logged in programmaticly to be able to use them and have a video_id already set.

Most of the time you will use their counterpart in the WebService::GData::YouTube package as they are shorter.

rate

This will add a rating to the video. It uses the like/dislike system only:

    $video->rate('like');
    $video->rate('dislike');

add_video_response

You can add a video response to a video by specifying an other video object.

    $response_video->id('response_video_id');
    
    $video->add_video_response($response_video);

delete_video_response

    $video->delete_video_response('response_video_id');

add_favorite_video

    $video->id('video_id');
    $video->add_favorite_video(); 
    
    or 
    
    $video->add_favorite_video('video_id');#helper that set the $video->id('video_id')     

CONFIGURATION AND ENVIRONMENT ^

none

DEPENDENCIES ^

JSON

LWP

INCOMPATIBILITIES ^

none

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.

syntax highlighting: