Gmail の連絡先を C# デスクトップ フォーム アプリケーションに取り込もうとしています。この目的で Google API を使用しました。ボタンが押されたときに gmail の連絡先をグリッドビューに表示したいと考えています。しかし、ボタンが押されても、グリッド ビューには何も表示されません。
コードは以下に貼り付けます。
私に知らせて、この問題を解決するのを手伝ってください。
public class MyClass
{
public int Id { get; set; }
public string Email { get; set; }
}
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void FetchContactList()
{
// Define string of list
List<string> lstContacts = new List<string>();
// Below requestsetting class take 3 parameters applicationname, gmail username, gmail password. Provide appropriate Gmail account details
RequestSettings rsLoginInfo = new RequestSettings("", "suryabg2000@gmail.com", "XXXXXX");
rsLoginInfo.AutoPaging = true;
ContactsRequest cRequest = new ContactsRequest(rsLoginInfo);
// fetch contacts list
Feed<Contact> feedContacts = cRequest.GetContacts();
// looping the feedcontact entries
try
{
foreach (Contact gmailAddresses in feedContacts.Entries)
{
// Looping to read email addresses
foreach (EMail emailId in gmailAddresses.Emails)
{
lstContacts.Add(emailId.Address);
}
}
// finally binding the list to gridview defined in above step
// dataGridView1.DataSource = lstContacts;
////dataGridView1.DataBind();
////dataGridView1.DataSource = dataGridView1;
// dataGridView1.Show();
}
catch (Exception)
{
MessageBox.Show("Error Please enter the correct credentials","Error",MessageBoxButtons.OK,MessageBoxIcon.Error);
//throw;
}
}
private void button1_Click(object sender, EventArgs e)
{
List<MyClass> lstContacts = new List<MyClass>();
//lstContacts.Add(new MyClass() { Id = 1, Email = "def@gmail.com" });
//lstContacts.Add(new MyClass() { Id = 2, Email = "def@gmail.com" });
//lstContacts.Add(new MyClass() { Id = 3, Email = "ghi@gmail.com" });
dataGridView1.DataSource = new BindingSource(lstContacts, null);
dataGridView1.Show();
}
}