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

NAME

API::Instagram::Media - Instagram Media Object

VERSION

version 0.009

SYNOPSIS

        my $media = $instagram->media(3);

        printf "Caption: %s\n", $media->caption;
        printf "Posted by %s (%d likes)\n\n", $media->user->username, $media->likes;

        my $location = $media->location;
        printf "Media Location: %s (%f,%f)", $location->name, $location->latitude, $location->longitude;

DESCRIPTION

See http://instagr.am/developer/endpoints/media/.

ATTRIBUTES

id

Returns media id.

type

Returns media type.

user

Returns the API::Instagram::User object of the user who posted the media.

Returns media shortlink.

filter

Returns media filter.

tags

Returns a list API::Instagram::Tag objects of media tags.

location

Returns media API::Instagram::Location object.

images

        my $thumbnail = $media->images->{thumbnail};
        printf "URL: %s (%d x %d)" $thumbnail->{url}, $thumbnail->{width}, $thumbnail->{height};

Returns media images options and details.

videos

        my $standart = $media->videos->{standart_resolution};
        printf "URL: %s (%d x %d)" $standart->{url}, $standart->{width}, $standart->{height};

Returns media videos options and details, when video type.

users_in_photo

        for my $each ( @{ $media->users_in_photo } ) {

                my $user     = $each->{user};
                my $position = $each->{position};

                printf "%s is at %f, %f\n", $user->username, $position->{x}, $position->{y};

        }

Returns a list of API::Instagram::User objects of users tagged in the media with their coordinates.

caption

Returns media caption text.

created_time

Returns the media date in a Time::Moment object.

METHODS

likes

        printf "Total Likes: %d\n", $media->likes; # Total likes when object was created

        or

        printf "Total Likes: %d\n", $media->likes(1); # Up to date total likes

Returns media total likes. If you set 1 as parameter it will renew all media data and return an up-do-date total likes.

Hint: 1 as parameter also updates total comments, last likes and last comments.

comments

        printf "Total Comments: %d\n", $media->comments; # Total comments when object was created

        or

        printf "Total Comments: %d\n", $media->comments(1); # Up to date total comments

Returns media total comments. If you set 1 as parameter it will renew all media data and return an up-do-date total comments.

Hint: 1 as parameter also updates total likes, last likes and last comments.

last_likes

        for my $user ( @{ $media->last_likes } ) {
                say $user->username;
        }

Returns a list of API::Instagram::User of the last users who liked the media. If you set 1 as parameter it will renew all media data and return an up-do-date list.

Hint: 1 as parameter also updates total likes, total comments and last comments.

last_comments

        for my $comment ( @{ $media->last_comments } ) {
                printf "%s: %s\n", $comment->from->username, $comment->text;
        }

Returns a list of API::Instagram::Media::Comment of the last comments on the media. If you set 1 as parameter it will renew all media data and return an up-do-date list.

Hint: 1 as parameter also updates total likes, total comments and last likes.

get_likes

        my @likers = $media->get_likes( count => 5 );

Returns a list of API::Instagram::User objects of users who liked the media.

Accepts count.

get_comments

        my @comments = $media->get_comments( count => 5 );

Returns a list of API::Instagram::Media::Comment objects of the media.

Accepts count.

AUTHOR

Gabriel Vieira <gabriel.vieira@gmail.com>

COPYRIGHT AND LICENSE

This software is copyright (c) 2014 by Gabriel Vieira.

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