Flickr-API

 view release on metacpan or  search on metacpan

Changes  view on Meta::CPAN

 * Added `lwpobj` argument, to allow using subclasses of LWP::UserAgent

1.05, 2012-09-12
 * Updated Flickr API urls from http://www.flickr.com/services/ to http://api.flickr.com/services/.

1.04, 2009-08-25
 * re-fix for perl5.6 - just require a newer version of HTTP::Message which supports
   mime-decoding instead.

1.03, 2009-08-23
 * fix for perl5.6 - when HTTP::Message->decoded_content() comes back empty,
   use content() instead.

1.02, 2009-07-31
 * license update for fedora

1.01, 2008-09-30
 * incorrectly numbered the previous release. gah
 * updated tests to work when the flickr api isn't hit-able

0.10, 2008-09-29

Makefile.PL  view on Meta::CPAN

    'META_MERGE'        => {
        resources => {
            repository  =>  'https://github.com/iamcal/perl-Flickr-API',
        },
    },
    'PREREQ_PM'        => {
        'LWP::UserAgent' => 0,
        'HTTP::Request' => 0,
        'HTTP::Request::Common' => 0,
        'HTTP::Response' => 0,
        'HTTP::Message' => 1.56, # first version of libwww that supports decoded_content()
        'URI' => 1.18,
        'XML::Parser::Lite::Tree' => 0.06,
        'XML::LibXML::Simple' => 0,
        'Digest::MD5' => 0,
        'Getopt::Long' => 1,
        'parent' => 0,
        'Test::More' => 0,
        'Test::Script' => 0,
        'Net::OAuth' => 0,
    },

lib/Flickr/API.pm  view on Meta::CPAN

    my $response = $self->request($request);
    bless $response, 'Flickr::API::Response';

    $response->init_flickr();

    if ($response->{_rc} != 200){
        $response->set_fail(0, "API returned a non-200 status code ($response->{_rc})");
        return $response;
    }

    my $content = $response->decoded_content();
    $content = $response->content() unless defined $content;

    my $xls  = XML::LibXML::Simple->new(ForceArray => 0);
    my $tree = XML::Parser::Lite::Tree::instance()->parse($content);

    my $hashref  = $xls->XMLin($content,KeyAttr => []);

    my $rsp_node = $self->_find_tag($tree->{children});

    if ($rsp_node->{name} ne 'rsp'){

lib/Flickr/API.pm  view on Meta::CPAN

    my $response = $self->request($upload);
    bless $response, 'Flickr::API::Response';

    $response->init_flickr();

    if ($response->{_rc} != 200){
        $response->set_fail(0, "Upload returned a non-200 status code ($response->{_rc})");
        return $response;
    }

    my $content = $response->decoded_content();
    $content = $response->content() unless defined $content;

    my $xls  = XML::LibXML::Simple->new(ForceArray => 0);
    my $tree = XML::Parser::Lite::Tree::instance()->parse($content);

    my $hashref  = $xls->XMLin($content,KeyAttr => []);

    my $rsp_node = $self->_find_tag($tree->{children});

    if ($rsp_node->{name} ne 'rsp'){

lib/Flickr/API.pm  view on Meta::CPAN

    $oauth{callback}       = $args->{callback} || 'https://127.0.0.1';

    $Net::OAuth::PROTOCOL_VERSION = Net::OAuth::PROTOCOL_VERSION_1_0A;

    my $orequest = Net::OAuth->request('Request Token')->new(%oauth);

    $orequest->sign;

    my $response = $self->get($orequest->to_url);

    my $content  = $response->decoded_content();
    $content = $response->content() unless defined $content;

    if ($content =~ m/^oauth_problem=(.+)$/) {

        carp "\nRequest token not granted: '",$1,"'\n";
        $self->{oauth}->{request_token} = $1;
        return $1;
    }

    $self->{oauth}->{request_token}     = Net::OAuth->response('request token')->from_post_body($content);

lib/Flickr/API.pm  view on Meta::CPAN

    $oauth{request_url} = $args->{access_token_url} || 'https://api.flickr.com/services/oauth/access_token';

    $Net::OAuth::PROTOCOL_VERSION = Net::OAuth::PROTOCOL_VERSION_1_0A;

    my $request = Net::OAuth->request('Access Token')->new(%oauth);

    $request->sign;

    my $response = $self->get($request->to_url);

    my $content  = $response->decoded_content();
    $content = $response->content() unless defined $content;

    if ($content =~ m/^oauth_problem=(.+)$/) {

        carp "\nAccess token not granted: '",$1,"'\n";
        $self->{oauth}->{access_token} = $1;

        delete $self->{oauth}->{token};        # Not saving problematic request token
        delete $self->{oauth}->{token_secret}; # token secret
        delete $self->{oauth}->{verifier};     # and verifier copies



( run in 1.012 second using v1.01-cache-2.11-cpan-a9ef4e587e4 )