Introduction
This blog I am going to 
describe how to retrieve gmail contact with Name and Mail id in asp net.  Here I 
will describe how to communicate with Gmail using Google API.
Description
As it is a third party 
software for this we required some third party dll to be referenced to our 
application which will communicate with Gmail server.
For this we have to download 
the Google API Set up from below link
http://code.google.com/p/google-gdata/
Or you can direct download 
from this link
https://google-gdata.googlecode.com/files/Google_Data_API_Setup_2.1.0.0.msi
Install this setup you will 
get these dll files in your Pc
- Google.GData.Apps.dll 
 - Google.GData.Client.dll 
 - Google.GData.Contacts.dll 
 - Google.GData.Extensions.dll 
 
Collect these dll's.
Design 
Now design your design the screen as below screen 
![index.jpg]()
Or Copy the source code 
below
<%@
Page Language="C#"
AutoEventWireup="true"
CodeFile="Default.aspx.cs"
Inherits="_Default"
%> 
<!DOCTYPE
html PUBLIC
"-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html
xmlns="http://www.w3.org/1999/xhtml">
<head
runat="server">
    <title></title>
</head>
<body>
   
<form
id="form1"
runat="server">
    <div>
        <table
align="center"
width="100%">
            <tr>
                <td>
                    <table
align="center">
                    <tr></tr>
                        <tr>
                           
<td>
                               
<asp:Label
ID="Label1"
runat="server"
Text="User name"></asp:Label>
                           
</td>
                            <td>
                               
<asp:TextBox
ID="txtName"
runat="server"
Width="200px"></asp:TextBox>
                           
</td>
                        </tr>
                        <tr>
                           
<td>
                               
<asp:Label
ID="Label2"
runat="server"
Text="Password"></asp:Label>
                           
</td>
                           
<td>
                               
<asp:TextBox
ID="txtPwd"
runat="server"
TextMode="Password"
Width="200px"></asp:TextBox>
                           
</td>
                        </tr>
                        <tr>
                           
<td
colspan="2"
align="center">
                               
<asp:Button
ID="btnLogin"
runat="server"
Text="Get Contact"
OnClick="btnLogin_Click"
/>
                           
</td>
                        </tr>
                    </table>
                </td>
            </tr>
            <tr>
                <td
align="center">
                    <asp:GridView
ID="gvContacts"
runat="server"
EmptyDataText="No 
contacts" AllowPaging="true"
                        
Width="50%" 
PageSize="15" 
AutoGenerateColumns="false"                       
OnPageIndexChanging="gvContacts_PageIndexChanging">
                        <Columns>
                           
<asp:TemplateField
HeaderText="Contact 
Name">
                               
<ItemTemplate>
                                   
<asp:Label
ID="lblName"
runat="server"
Text='<%#Eval("Name")
%>'></asp:Label>
                               
</ItemTemplate>
                               
<ItemStyle
Width="200px"
/>
                           
</asp:TemplateField>
                           
<asp:TemplateField
HeaderText="Contact 
Email">
                               
<ItemTemplate>
                                   
<asp:Label
ID="lblEmail"
runat="server"
Text='<%#Eval("EmailID")
%>'></asp:Label>
                               
</ItemTemplate>
                               
<ItemStyle
Width="100px"
/>
                           
</asp:TemplateField>
                        </Columns>
                    </asp:GridView>
                </td>
            </tr>
        </table>
    </div>
    </form>
</body>
</html>
 Next add reference of Google gdata 
dll to your website.
- 
Google.GData.Apps.dll 
 - 
Google.GData.Client.dll 
 - 
Google.GData.Contacts.dll 
 - 
Google.GData.Extensions.dll 
 
And write the below code .cs 
file
using 
System;
using 
System.Web;
using 
System.Web.UI;
using 
System.Web.UI.WebControls;
using 
System.Data;
using 
Google.GData.Contacts;
using 
Google.GData.Client;
using 
Google.GData.Extensions;
using 
Google.Contacts;
 public
partial class
_Default : System.Web.UI.Page
{
 public DataSet 
GetGmailContacts(string AppName,
string Uname, string 
UPassword)
    {
        DataSet ds = 
new DataSet();
        DataTable dt =
new DataTable();
        dt.Columns.Add(new
DataColumn("EmailID",
typeof(string)));
        dt.Columns.Add(new
DataColumn("Name",
typeof(string)));
        RequestSettings rs =
new RequestSettings(AppName, 
Uname, UPassword);
        rs.AutoPaging = true;
        ContactsRequest cr =
new ContactsRequest(rs);
       
Feed<Contact> 
f = cr.GetContacts();
        foreach (Contact 
t in f.Entries)
        {
            foreach (EMail 
email in t.Emails)
            {
                DataRow dr1 = dt.NewRow();
                dr1["EmailID"] = 
email.Address.ToString();
                dr1["Name"] = 
t.Title.ToString();
                dt.Rows.Add(dr1);
            }
        }
        ds.Tables.Add(dt);
        return ds;
    }
     protected void 
Page_Load(object sender,
EventArgs e)
    {
    }
     
protected void btnLogin_Click(object 
sender, EventArgs e)
    {
        DataSet ds = GetGmailContacts("Gmail 
Contact Operations!", txtName.Text, txtPwd.Text);
        ViewState["Contact"] = ds;
        gvContacts.DataSource = ds;
        gvContacts.DataBind();
    }
    
protected void 
gvContacts_PageIndexChanging(object sender,
GridViewPageEventArgs e)
    {
       
DataSet ds = ViewState["Contact"]
as DataSet;
        gvContacts.PageIndex = e.NewPageIndex;
        gvContacts.DataSource = ds;
        gvContacts.DataBind();
    }
} 
Now build your Application. And enter Gmail id and password in the corresponding 
textbox
Click on Get Contact button it will show all your gmail Contact Name with Email.
![index1.jpg]()
Any modification or problem 
Plz comment.