使用Google.GData导入GMail联系人时遇到3个不同的错误

时间:2015-08-09 02:18:04

标签: c# webforms google-api gdata

我为一个蹩脚的描述性问题道歉。

所以我正在尝试使用GData从GMail导入联系人,我已经按照几个教程进行了一次工作。 现在我正在尝试在另一个Web应用程序中实现它,但我不断收到3个错误。

我已下载并安装了Google Data API,并添加了对该项目的引用,并编写了一个单独的类,该类将返回GMail联系人。

截至目前我的代码是这样的(是的,我知道我还没有填充数据集)

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using Google.GData.Contacts;
using Google.GData.Client;
using Google.GData.Extensions;
using Google.Contacts;
using System.Data;
using System.Data.SqlClient;

namespace GSDataCollection.Models
{
    public class GetGmailContacts
    {
        public DataSet GottenGMailContacts(string email, string password)
        {
            DataSet ds = new DataSet();
            ds.Tables.Add("GMailContacts");
            ds.Tables[0].Columns.Add("EmailId");
            ds.Tables[0].Columns.Add("Name");

            RequestSettings rs = new RequestSettings("MyApp", email, password);
            rs.AutoPaging = true;

            ContactsRequest cr = new ContactsRequest(rs);
            Feed<Contact> f = cr.GetContacts();           
                foreach (Contact contacts in f.Entries)
                {
                    foreach (EMail email in contacts.Emails)
                    {
                        DataRow row = ds.Tables[0].NewRow();
                        row["EmailId"] = email.Address.ToString();
                        row["Name"] = contact.Title.ToString();

                        ds.Tables[0].Rows.Add(row);
                    }
                }   

            return ds;
        }
    }
}

现在我有3个错误。

  

类型&#39; GSDataCollection.Contact&#39;不能用作类型参数&#39; T&#39;在通用类型或方法&#39; Google.GData.Client.Feed&#39;。来自&#39; GSDataCollection.Contact&#39;没有隐式参考转换。到Google.GData.Client.Entry&#39;。

     

无法隐式转换类型&#39; Google.GData.Client.Feed&#39;到谷歌.GData.Client.Feed&#39;

     

&#39; GSDataCollection.Contact&#39;不包含&#39;电子邮件&#39;的定义没有延伸方法&#39;电子邮件&#39;接受类型&#39; GSDataCollection.Contact&#39;的第一个参数。可以找到(你错过了使用指令或程序集引用吗?)

我已经按照之前使用过的教程来完成这一切,并且一切正常,但是现在我正在尝试将它实现到一个新项目中,它给了我一个麻烦。

对于发生的事情有什么想法?

1 个答案:

答案 0 :(得分:0)

发现问题,我应该这样做..

Feed<Google.Contacts.Contact> f = cr.GetContacts();

但是又出现了另一个错误,那就是我遇到了404错误。经过一番挖掘后,我发现你不能再以这种方式导入联系人了,必须使用OAuth。今年有所改变,我认为这篇文章说的是2015年5月26日。如果我再次找到帖子,那么我会发帖。