MVC 3和谷歌联系人API
问题描述:
我试图拉下的MVC 3一个人的谷歌邮件联系人使用此API列表:http://code.google.com/apis/contacts/ http://code.google.com/apis/contacts/docs/3.0/developers_guide_dotnet.html#RetrievingMVC 3和谷歌联系人API
我需要在哪里执行,当它开始帮助。我已经多次阅读过这些文档,但这对我来说没有意义。
我想拉下所有联系人并将其显示在我的联系人控制器的索引操作中。
任何帮助这个广泛的问题将不胜感激。
答
首先从上面得到一些示例代码(编辑 - 实际上见下面) 然后创建一个新的ViewModel,其中包含您想要显示的任何字段。 创建此视图模型一个强类型视图的ContactsViewModel
列表(无论你怎么称呼它),这样,在您的视图顶部的: @model IEnumerable<ContactsViewModel>
创建一个URL指向您的控制器的方法的路线,然后在你的方法只需从谷歌查询,并使用循环,LINQ(或自动映射等)填充你的ContactsViewModel
,然后将模型返回到视图。
如果你有什么最重要的是更具体的,让我知道,我会更深入
有其相同的代码不正确的一些命名/格式化项目具有讽刺意味的:)当然 下面添加引用(从C联系人,客户,扩展):\ Program Files文件\谷歌\谷歌数据API SDK \的Redist文件夹
using System; using System.Collections.Generic; using System.Linq; using System.Text; using Google.GData.Contacts; using Google.GData.Client; using Google.GData.Extensions; using Google.Contacts; namespace GoogleTests { class Program { static void Main(string[] args) { RequestSettings rs = new RequestSettings("myApplication", "[email protected]", "yourpwd"); // AutoPaging results in automatic paging in order to retrieve all contacts rs.AutoPaging = true; ContactsRequest cr = new ContactsRequest(rs); Feed<Contact> f = cr.GetContacts(); foreach (Contact entry in f.Entries) { if (entry.Name != null) { Name name = entry.Name; if (!string.IsNullOrEmpty(name.FullName)) Console.WriteLine("\t\t" + name.FullName); else Console.WriteLine("\t\t (no full name found)"); if (!string.IsNullOrEmpty(name.NamePrefix)) Console.WriteLine("\t\t" + name.NamePrefix); else Console.WriteLine("\t\t (no name prefix found)"); if (!string.IsNullOrEmpty(name.GivenName)) { string givenNameToDisplay = name.GivenName; if (!string.IsNullOrEmpty(name.GivenNamePhonetics)) givenNameToDisplay += " (" + name.GivenNamePhonetics + ")"; Console.WriteLine("\t\t" + givenNameToDisplay); } else Console.WriteLine("\t\t (no given name found)"); if (!string.IsNullOrEmpty(name.AdditonalName)) { string additionalNameToDisplay = name.AdditonalName; if (string.IsNullOrEmpty(name.AdditionalNamePhonetics)) additionalNameToDisplay += " (" + name.AdditionalNamePhonetics + ")"; Console.WriteLine("\t\t" + additionalNameToDisplay); } else Console.WriteLine("\t\t (no additional name found)"); if (!string.IsNullOrEmpty(name.FamilyName)) { string familyNameToDisplay = name.FamilyName; if (!string.IsNullOrEmpty(name.FamilyNamePhonetics)) familyNameToDisplay += " (" + name.FamilyNamePhonetics + ")"; Console.WriteLine("\t\t" + familyNameToDisplay); } else Console.WriteLine("\t\t (no family name found)"); if (!string.IsNullOrEmpty(name.NameSuffix)) Console.WriteLine("\t\t" + name.NameSuffix); else Console.WriteLine("\t\t (no name suffix found)"); } else Console.WriteLine("\t (no name found)"); foreach (EMail email in entry.Emails) { Console.WriteLine("\t" + email.Address); } } } } }
问题越来越一些示例代码的工作,我知道当我得到一些样本做什么代码去。我只是不知道如何拼凑在一起。 – dalehumphries 2011-05-02 18:35:15
好的 - 我会在这里一步一步地简单地运行api – 2011-05-02 18:46:09
好的,我已经在助手文件中看到了代码,它看起来都很好。现在我如何将这些联系人加入我的数据库? – dalehumphries 2011-05-02 19:14:36