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

NAME

WebService::Pixabay - Perl 5 interface to Pixabay API.

VERSION

version 2.0.2

SYNOPSIS

        use strict;
        use warnings;

        use WebService::Pixabay;
        
        my $pix = WebService::Pixabay->new(api_key => 'secret');
        
        # default searches
        my $img1 = $pix->image_search;
        my $vid1 = $pix->video_search;
        
        # print JSON structure using Data::Dumper's 'Dumper'
        $pix->show_data_structure($img1);
        $pix->show_data_structure($vid1);
        
        ###################################################
        # The parameters of the method have the same name #
        # and default values as in Pixabay API docs       #
        ###################################################

        # example custom image search and printing
        my $cust_img = $pix->image_search(
                q => 'cats dog',
                lang => 'es',
                response_group => 'high_resolution',
                image_type => 'illustration',
                category => 'animals',
                safesearch => 'true',
                order => 'latest',
                page => 2,
                per_page => 5,
                pretty => 'true'
        );

        $pix->show_data_structure($cust_img);

        # -or with video_search-

        # example custom video search and printing
        my $cust_vid = $pix->video_search(
                q => 'tree',
                lang => 'en',
                pretty => 'false',
                page => 3,
                order => 'popular'
        );

        $pix->show_data_structure($cust_vid);

        # Handling specific hashes and arrays of values from the image_search JSON
        # example retrieving webformatURL from each arrays
        my @urls = undef;
        
        foreach my $url (@{$cust_img->{hits}}) {

                # now has link of photo urls (non-preview photos)
                push(@urls, $url->{webformatURL});              
        }
        
        say $urls[3]; # image URL in the fourth row

        # Getting a specific single hash or array value from video_search JSON
        say $cust_vid->{hits}[0]{medium}{url};

SEE ALSO

Pixabay API documentations

Moo

Function::Parameters

Test::More

WebService::Client

LWP::Online

Data::Printer

AUTHOR

faraco <skelic3@gmail.com>

COPYRIGHT AND LICENSE

This software is copyright (c) 2017 by faraco.

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