SlideShare a Scribd company logo
Collecting Contacts using cardmagic-contacts plug-in in Rails 2.3.8


cardmagic-contacts is a rails plug-in which provides an interface to fetch contact list
information from various email providers including Hotmail, AOL, Gmail, Plaxo, Yahoo and many
more.
This example narrates how to extract contact list using Rails 2.3.8 and cardmagic-contacts plug-in

Step#1

Download the plug-in by running the command below to store the plug-in in the folder
“vendor/plug-ins”

Windows


  ruby script/plugin install git://github.com/cardmagic/contacts


Linux


  ruby script/plugin http://github.com/cardmagic/contacts


Step#2

Write down the following code on the top of the controller class


  require 'contacts'


Step#3

Pass the required gmail/yahoo/hotmail/AOL login & password from view


  <div>

     <div style="margin-left:25px;" >Invite <img
src="../images/yahoo.JPG">Yahoo

          Friends </div>

    <div style="margin-left:25px;">Yahoo Email: <input type="text"
name="email"

       class="txt"   id="yahoo_email_id"></div>
    <div style="margin-left:25px;">Password: &nbsp;&nbsp;<input
type="password"
name="email" class="txt"             id="yahoo_pwd_id"></div>

      <div style="margin-left:122px;margin-top:20px;"><input type="button"

      value="Login" name="btn_submit" id="btn_submit" class="searchbutton"
></div>

    </div>


Step#4

Create an action to fetch the list of contacts for a specific email id


def grab_contacts

  #Grab gmail contacts

  @gmail_contacts=Contacts::Gmail.new(login, password).contacts
     #or
  @gmail_contacts=Contacts.new(:gmail, login, password).contacts

  #Grab yahoo contacts

  @yahoo_contacts = Contacts::Yahoo.new(login, password).contacts
     #or
  @yahoo_contacts = Contacts.new(:yahoo, login, password).contacts

  #Grab hotmail contacts

  @hotmail_contacts =Contacts::Hotmail.new(login, password).contacts
     #or
  @hotmail_contacts = Contacts.new(:hotmail, login, password).contacts

end


Step#5

Here is also alternate method to get the contacts by providing email_id and password


 any_mail = Contacts.guess(login, password).contacts


The “Contacts.guess” method will automatically concatenate the entire address book from each of
the successful logins. If the login and password is working with multiple email accounts then it will
grab the contacts from all accounts.
Step#6

Display the friends list in your view page
<table>
      <th>
          <td >Friends Name</td>
           <td >Friends Email</td>
      </th>
        <tr>
           <% @gmail_contacts.each do |contact| %>
              <td><%=contact[0]%></td>
              <td><%=contact[1]%></td>
           <% end %>
        </tr>
 </table>

More Related Content

Collecting contacts using cardmagic contacts plug-in in rails 2.3.8

  • 1. Collecting Contacts using cardmagic-contacts plug-in in Rails 2.3.8 cardmagic-contacts is a rails plug-in which provides an interface to fetch contact list information from various email providers including Hotmail, AOL, Gmail, Plaxo, Yahoo and many more. This example narrates how to extract contact list using Rails 2.3.8 and cardmagic-contacts plug-in Step#1 Download the plug-in by running the command below to store the plug-in in the folder “vendor/plug-ins” Windows ruby script/plugin install git://github.com/cardmagic/contacts Linux ruby script/plugin http://github.com/cardmagic/contacts Step#2 Write down the following code on the top of the controller class require 'contacts' Step#3 Pass the required gmail/yahoo/hotmail/AOL login & password from view <div> <div style="margin-left:25px;" >Invite <img src="../images/yahoo.JPG">Yahoo Friends </div> <div style="margin-left:25px;">Yahoo Email: <input type="text" name="email" class="txt" id="yahoo_email_id"></div> <div style="margin-left:25px;">Password: &nbsp;&nbsp;<input type="password"
  • 2. name="email" class="txt" id="yahoo_pwd_id"></div> <div style="margin-left:122px;margin-top:20px;"><input type="button" value="Login" name="btn_submit" id="btn_submit" class="searchbutton" ></div> </div> Step#4 Create an action to fetch the list of contacts for a specific email id def grab_contacts #Grab gmail contacts @gmail_contacts=Contacts::Gmail.new(login, password).contacts #or @gmail_contacts=Contacts.new(:gmail, login, password).contacts #Grab yahoo contacts @yahoo_contacts = Contacts::Yahoo.new(login, password).contacts #or @yahoo_contacts = Contacts.new(:yahoo, login, password).contacts #Grab hotmail contacts @hotmail_contacts =Contacts::Hotmail.new(login, password).contacts #or @hotmail_contacts = Contacts.new(:hotmail, login, password).contacts end Step#5 Here is also alternate method to get the contacts by providing email_id and password any_mail = Contacts.guess(login, password).contacts The “Contacts.guess” method will automatically concatenate the entire address book from each of the successful logins. If the login and password is working with multiple email accounts then it will grab the contacts from all accounts. Step#6 Display the friends list in your view page
  • 3. <table> <th> <td >Friends Name</td> <td >Friends Email</td> </th> <tr> <% @gmail_contacts.each do |contact| %> <td><%=contact[0]%></td> <td><%=contact[1]%></td> <% end %> </tr> </table>