我为一个蹩脚的描述性问题道歉。
所以我正在尝试使用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;的第一个参数。可以找到(你错过了使用指令或程序集引用吗?)
我已经按照之前使用过的教程来完成这一切,并且一切正常,但是现在我正在尝试将它实现到一个新项目中,它给了我一个麻烦。
对于发生的事情有什么想法?
答案 0 :(得分:0)
发现问题,我应该这样做..
Feed<Google.Contacts.Contact> f = cr.GetContacts();
但是又出现了另一个错误,那就是我遇到了404错误。经过一番挖掘后,我发现你不能再以这种方式导入联系人了,必须使用OAuth。今年有所改变,我认为这篇文章说的是2015年5月26日。如果我再次找到帖子,那么我会发帖。