Google通讯录API不会检索联系人

时间:2013-06-11 07:09:26

标签: c# asp.net-mvc asp.net-mvc-4 google-contacts

我正在使用Google Contacts API从我的ASP.NET应用程序中获取gmail联系人。 在提供用户名和密码后,应用程序没有响应,连接超时。 以下是我尝试调试时的错误:

执行请求失败:http://www.google.com/m8/feeds/contacts/default/full

错误的快照 enter image description here

2 个答案:

答案 0 :(得分:0)

请检查您的access_token是否有效。获取联系人列表作为定义URL:

https://www.google.com/m8/feeds/contacts/default/full?alt=json&max-results=" + maxemails + "&oauth_token=access_token";
成功登录后,access_token提供了

Gmail

答案 1 :(得分:0)

您确定您的密码和用户是否正确? 好吧,我会给你这个代码,它工作正常:


public DataSet GetGmailContacts(string p_name, string e_id, string psw)
{
    //p_name = name of your app; e_id = your gmail account; psw = password of your gmail account
    DataSet ds = new DataSet();
    DataTable dt = new DataTable();
    DataColumn dc1 = new DataColumn();
    dc1.DataType = Type.GetType("System.String");
    dc1.ColumnName = "emailid";
    DataColumn dc2 = new DataColumn();
    dc2.DataType = Type.GetType("System.String");
    dc2.ColumnName = "name";
    dt.Columns.Add(dc1);
    dt.Columns.Add(dc2);
    RequestSettings rs = new RequestSettings(p_name, e_id, psw);
    rs.AutoPaging = true;
    ContactsRequest cr = new ContactsRequest(rs);
    Feed<Contact> f = cr.GetContacts();
    int counter= 0;
    foreach (Contact t in f.Entries)
    {
        Name nombreContacto = t.Name;
        DataRow drx = dt.NewRow();
        drx["emailid"] = t.PrimaryEmail.Address.ToString();
        drx["name"] = t.Title.ToString();
        dt.Rows.Add(drx);
        counter++;
    }
    ds.Tables.Add(dt);
    Response.Write("Total:" + counter.ToString());
    return ds;

}

之后,您可以使用函数返回的dataSet填充Gridview。