I
used ASP.NET and C# for developing this application.
We
need to follow below steps to get gmail contacts
Step-1: Download
Google data API setup from the specified URL
Or
you can directly download with the following
That
Set Up will installs set of Google Data dll’s (Google.GData.Apps.dll,
Google.GData.Client.dll, Google.GData.Contacts.dll,
Google.GData.Extensions.dll) into client installed Machine, you should collect
that dll’s for your program.
Step-2: Design our
aspx page (Default.aspx) by using with the following UI as simple scenario.
<body>
<form
id="form1">
<div>
<table>
<tr>
<td>UserName</td>
<td><asp:TextBox
ID="txtgmailusername"
runat="server"></asp:TextBox></td>
</tr>
<tr>
<td>Password</td>
<td><asp:TextBox
ID="txtpassword"
runat="server"
TextMode="Password"></asp:TextBox></td>
</tr>
<tr>
<td>
</td>
<td><asp:Button
ID="Button1"
runat="server"
Text="Button"
onclick="Button1_Click"
/></td>
</tr>
</table>
</div>
<div><asp:GridView
ID="gvmails"
runat="server"></asp:GridView></div>
</form>
</body>
</html>
Step-3: Add those
downloaded google dll’s as reference to your website in visual
studio->Solution Explorer ->Right Click-> Click on Add
Reference….->Browse ->Get dll’s from Installed Location->Press OK.
Step-4:
A)
Add namespace these namespace to your code behind
C#
using
Google.GData.Contacts;
using
Google.GData.Client;
using
Google.GData.Extensions;
using
Google.Contacts;
VB
Imports Google.GData.Contacts
Imports Google.GData.Client
Imports Google.GData.Extensions
Imports Google.Contacts
Imports System.Data
B)
After that write following code in code behind
C#
public
static DataSet
GetGmailContacts(string App_Name, string Uname, string
UPassword)
{
DataSet
ds = new DataSet();
DataTable
dt = new DataTable();
DataColumn
C2 = new DataColumn();
C2.DataType
= Type.GetType("System.String");
C2.ColumnName
= "EmailID";
dt.Columns.Add(C2);
RequestSettings rs = new RequestSettings(App_Name, 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();
dt.Rows.Add(dr1);
}
}
ds.Tables.Add(dt);
return
ds;
}
Protected
void Button1_Click(object
sender, EventArgs e)
{
DataSet
ds = GetGmailContacts("MyNetwork Web
Application!", txtgmailusername.Text,txtpassword.Text);
gvmails.DataSource
= ds;
gvmails.DataBind();
}
VB
Public Shared
Function GetGmailContacts(App_Name As String, Uname As String, UPassword As String) As DataSet
Dim ds As New DataSet()
Dim dt As New DataTable()
Dim C2 As New DataColumn()
C2.DataType = Type.[GetType]("System.String")
C2.ColumnName = "EmailID"
dt.Columns.Add(C2)
Dim rs As New RequestSettings(App_Name,
Uname, UPassword)
rs.AutoPaging = True
Dim cr As New ContactsRequest(rs)
Dim f As Feed(Of Contact) = cr.GetContacts()
For Each t As Contact In f.Entries
For Each email As EMail In t.Emails
Dim dr1 As
DataRow = dt.NewRow()
dr1("EmailID") =
email.Address.ToString()
dt.Rows.Add(dr1)
Next
Next
ds.Tables.Add(dt)
Return ds
End Function
Protected Sub
Button1_Click(sender As Object, e As System.EventArgs) Handles
Button1.Click
Dim ds As DataSet = GetGmailContacts("MyNetwork Web Application!", txtgmailusername.Text,
txtpassword.Text)
gvmails.DataSource = ds
gvmails.DataBind()
End Sub