Annotated CPAN


ODYNIEC > WebService-Gravatar-0.10 > WebService::Gravatar

[ search.cpan.org | Kobes search | report a bug ]

NAME

WebService::Gravatar - Perl interface to Gravatar API

New Note §

VERSION

Version 0.10

New Note §

SYNOPSIS

WebService::Gravatar provides an interface to Gravatar XML-RPC API.

New Note §
    use WebService::Gravatar;

    # Create a new instance of WebService::Gravatar
    my $grav = WebService::Gravatar->new(email => '[email protected]',
                                         apikey => 'your_API_key');

    # Get a list of addresses
    my $addresses = $grav->addresses;

    if (defined $addresses) {
        # Print the userimage URL for each e-mail address
        foreach my $email (keys %$addresses) {
            print $addresses->{$email}->{'userimage_url'} . "\n";
        }
    }
    else {
        # We have a problem
        print STDERR "Error: " . $grav->errstr . "\n";
    }

    # Read image file data
    my $data;
    {
    	local $/ = undef;
        open(F, "< my_pretty_face.png");
        $data = <F>;
        close(F);
    }
    
    # Save the image as a new userimage
    $grav->save_data(data => $data, rating => 0);

    ...

New Note §

DESCRIPTION

WebService::Gravatar is a Perl interface to Gravatar API. It aims at providing a close representation of the basic XML-RPC API, as documented on Gravatar website: http://en.gravatar.com/site/implement/xmlrpc/. All the method names, parameter names, and data structures are the same as in the API -- the only exception is that in the API the methods are named with camelCase, while the module uses lowercase_with_infix_underscores.

New Note §

METHODS

All the instance methods return undef on failure. More detailed error information can be obtained by calling "err" and "errstr".

New Note §

new

Creates a new instance of WebService::Gravatar.

New Note §
    my $grav = WebService::Gravatar->new(email => '[email protected]',
                                         apikey => 'your_API_key');

New Note §

Parameters:

New Note §

exists

Checks whether a hash has a gravatar.

New Note §
    $result = $grav->exists(hashes => ['e52beb5a6966554a02a56072cafebabe
+',
        '62345cdd79773f62a87fcbc6abadbabe'])

New Note §

Parameters:

New Note §

Returns: A reference to a hash that maps email hashes to statuses. Example:

New Note §
    $result = {
        'e52beb5a6966554a02a56072cafebabe' => '1',
        '62345cdd79773f62a87fcbc6abadbabe' => '0'
    };

New Note §

addresses

Gets a list of addresses for this account.

New Note §
    $addresses = $grav->addresses;

New Note §

Returns: A reference to a hash that maps addresses to userimage data. Example:

New Note §
    $addresses = {
        '[email protected]' => {
            'rating' => '0',
            'userimage' => '8bfc8da2562a53ddd7e630a68badf00d',
            'userimage_url' => 'http://en.gravatar.com/userimage/123456/
+8bfc8da2562a53ddd7e630a68badf00d.jpg'
        },
        '[email protected]' => {
            'rating' => '1',
            'userimage' => '90f269fe7b67d0ce49f96427deadbabe',
            'userimage_url' => 'http://en.gravatar.com/userimage/123456/
+90f269fe7b67d0ce49f96427deadbabe.jpg'
        }
    };

New Note §

userimages

Gets a list of userimages for this account.

New Note §
    $userimages = $grav->userimages;

New Note §

Returns: A reference to a hash that maps userimages to data. Example:

New Note §
    $userimages = {
    	'8bfc8da2562a53ddd7e630a68badf00d' => [
            '0',
            'http://en.gravatar.com/userimage/123456/8bfc8da2562a53ddd7e
+630a68badf00d.jpg'
        ],
        '90f269fe7b67d0ce49f96427deadbabe' => [
            '1',
            'http://en.gravatar.com/userimage/123456/90f269fe7b67d0ce49f
+96427deadbabe.jpg'
        ]
    };

New Note §

save_data

Saves binary image data as a userimage for this account.

New Note §
    $grav->save_data(data => $data, rating => 1);

New Note §

Parameters:

New Note §

Returns: Userimage string.

New Note §

save_url

Reads an image via its URL and saves that as a userimage for this account.

New Note §
    $grav->save_url(url => 'http://some.domain.com/image.png', rating =>
+ 0);

New Note §

Parameters:

New Note §

Returns: Userimage string.

New Note §

use_userimage

Uses the specified userimage as a gravatar for one or more addresses on this account.

New Note §
    $grav->use_userimage(userimage => '9116aa83a568563290a681df61c0ffee'
+.
        addresses => ['[email protected]', '[email protected]']);

New Note §

Parameters:

New Note §

Returns: 1 on success, undef on failure.

New Note §

remove_image

Removes the userimage associated with one or more email addresses.

New Note §
    $result = $grav->remove_image(addresses => ['[email protected]',
        '[email protected]'])
    
New Note §

Parameters:

New Note §

Returns: A reference to a hash that maps email addresses to statuses. Example:

New Note §
    result = {
        '[email protected]' => 1,
        '[email protected]' => 0
    };

New Note §

delete_userimage

Removes a userimage from the account and any email addresses with which it is associated.

New Note §
    $grav->delete_userimage(userimage => '292ed56ce849657d47b04105deadbe
+ef');

New Note §

Parameters:

New Note §

Returns: 1 on success, undef on failure.

New Note §

test

API test method.

New Note §
    $result = $grav->test(param => 1);

New Note §

Returns: A reference to a hash which represents the parameters passed to the test method.

New Note §

err

Returns the numeric code of last error.

New Note §
    $err_code = $grav->err;

New Note §

errstr

Returns the human readable text for last error.

New Note §
    $err_description = $grav->errstr;

New Note §

AUTHOR

Michal Wojciechowski, <odyniec at cpan.org>

New Note §

BUGS

Please report any bugs or feature requests to bug-webservice-gravatar at rt.cpan.org, or through the web interface at http://rt.cpan.org/NoAuth/ReportBug.html?Queue=WebService-Gravatar. I will be notified, and then you'll automatically be notified of progress on your bug as I make changes.

New Note §

SUPPORT

You can find documentation for this module with the perldoc command.

New Note §
    perldoc WebService::Gravatar

New Note §

You can also look for information at:

New Note §

COPYRIGHT & LICENSE

Copyright 2010 Michal Wojciechowski, all rights reserved.

New Note §

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

New Note §

SEE ALSO