GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages


Manual Reference Pages  -  WWW::CONTACT (3)

.ds Aq ’

NAME

WWW::Contact - Get contacts/addressbook from Web

CONTENTS

SYNOPSIS



    use WWW::Contact;
    use Data::Dumper;
   
    # Get contacts from email providers.
    my $wc       = WWW::Contact->new();
    my @contacts = $wc->get_contacts(fayland@gmail.com, password);
    my $errstr   = $wc->errstr;
    if ($errstr) {
        die $errstr; # like Wrong Username or Password
    } else {
        print Dumper(\@contacts);
    }
   
    # Get contacts from social networks (eg: Plaxo)
    my $ws       = WWW::Contact->new();
    # Note that the last argument for get_contacts() is mandatory,
    # or else it will try to fetch contacts from gmail.com
    my @contacts = $ws->get_contacts(itsa@gmail.com, password, plaxo);
    my $errstr   = $ws->errstr;
    if ($errstr) {
        die $errstr; # like Wrong Username or Password
    } else {
        print Dumper(\@contacts);
    }



DESCRIPTION

Get contacts/addressbook from public websites

SUPPORTED EMAIL SUPPLIER

Gmail WWW::Contact::Gmail by Fayland Lam, DEPRECATED for WWW::Contact::GoogleContactsAPI
Yahoo! Mail WWW::Contact::Yahoo by Fayland Lam
Rediffmail WWW::Contact::Rediffmail by Sachin Sebastian
mail.163.com WWW::Contact::CN::163 by Fayland Lam
AOL WWW::Contact::AOL by Fayland Lam
Mail WWW::Contact::Mail by Sachin Sebastian
Hotmail/Live Mail WWW::Contact::Hotmail by Fayland Lam
Indiatimes WWW::Contact::Indiatimes by Sachin Sebastian
Lycos WWW::Contact::Lycos by Sachin Sebastian
Plaxo WWW::Contact::Plaxo by Sachin Sebastian
GoogleContactsAPI WWW::Contact::GoogleContactsAPI by Fayland Lam, using Google Contacts Data API
abv.bg WWW::Contact::BG::Abv by Dimitar Petrov
mail.bg WWW::Contact::BG::Mail by Dimitar Petrov

METHODS

    register_supplier

To use custom supplier, we must register within WWW::Contact



    $wc->register_supplier( qr/\@a\.com$/, Unknown );
    $wc->register_supplier( a.com, Unknown );



The first arg is a Regexp or domain from email postfix. The second arg is the according module postfix like ’Unknown’ from WWW::Contact::Unknown

    get_supplier_by_email

get supplier by email.



    my $supplier = $wc->get_supplier_by_email(a@gmail.com); # GoogleContactsAPI
    my $supplier = $wc->get_supplier_by_email(a@a.com);     # Unknown



    get_supplier_by_socialnetwork

get supplier by social network name.



    my $supplier = $wc->get_supplier_by_socialnetwork(plaxo); # Plaxo



HOW TO WRITE YOUR OWN MODULE

Please read WWW::Contact::Base and examples: WWW::Contact::Yahoo and WWW::Contact::Plaxo

Assuming we write a custom module as WWW::Contact::Unknown



    package WWW::Contact::Unknown;
   
    use Moose;
    extends WWW::Contact::Base;
   
    sub get_contacts {
        my ($self, $email, $password) = @_;
       
        # reset
        $self->errstr(undef);
       
        if ($email eq a@a.com and $password ne a) {
            $self->errstr(Wrong Username or Password);
            return;
        }
       
        my @contacts = ( {
            email => b@b.com,
            name => b,
        }, {
            email => c@c.com,
            name => c
        } );
        return wantarray ? @contacts : \@contacts;
    }
   
    1;



We can use it within WWW::Contact



    my $wc = WWW::Contact->new();
    $wc->register_supplier( qr/\@a\.com$/, Unknown );
    # or
    # $wc->register_supplier( a.com, Unknown );
   
    my @contacts = $wc->get_contacts(a@a.com, b);
    my $errstr = $wc->errstr;



SEE ALSO

WWW::Mechanize, Moose

SUPPORTS

Code trunk <http://github.com/fayland/perl-www-contact/tree/master>
Group <http://groups.google.com/group/perl-www-contact>

AUTHOR

Fayland Lam, <fayland at gmail.com>

Sachin Sebastian, <sachinjsk at cpan.org>

Dimitar Petrov, <mitakaa at gmail.com>

COPYRIGHT & LICENSE

Copyright 2008 *AUTHOR* all rights reserved.

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

Search for    or go to Top of page |  Section 3 |  Main Index


perl v5.20.3 WWW::CONTACT (3) 2011-10-27

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with manServer 1.07.