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); 
       } 
      } 
     } 
    } 
} 
+0

问题越来越一些示例代码的工作,我知道当我得到一些样本做什么代码去。我只是不知道如何拼凑在一起。 – dalehumphries 2011-05-02 18:35:15

+1

好的 - 我会在这里一步一步地简单地运行api – 2011-05-02 18:46:09

+0

好的,我已经在助手文件中看到了代码,它看起来都很好。现在我如何将这些联系人加入我的数据库? – dalehumphries 2011-05-02 19:14:36