|
NAMEWWW::Contact - Get contacts/addressbook from WebSYNOPSISuse 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); } DESCRIPTIONGet contacts/addressbook from public websitesSUPPORTED EMAIL SUPPLIER
METHODSregister_supplierTo 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_emailget 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_socialnetworkget supplier by social network name.my $supplier = $wc->get_supplier_by_socialnetwork('plaxo'); # 'Plaxo' HOW TO WRITE YOUR OWN MODULEPlease read WWW::Contact::Base and examples: WWW::Contact::Yahoo and WWW::Contact::PlaxoAssuming 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 ALSOWWW::Mechanize, MooseSUPPORTS
AUTHORFayland Lam, "<fayland at gmail.com>"Sachin Sebastian, "<sachinjsk at cpan.org>" Dimitar Petrov, "<mitakaa at gmail.com>" COPYRIGHT & LICENSECopyright 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.
Visit the GSP FreeBSD Man Page Interface. |