谷歌API a v3查询谷歌联系人NET

问题描述:

我想建立一个C#应用程序,查询我的谷歌联系人,并打印到控制台。谷歌API a v3查询谷歌联系人NET

电子邮件地址是:[email protected] 优秀是谷歌应用程序的名称。

我有两个问题:

第一我每次运行应用程序时问题我要打电话:

string url = OAuthUtil.CreateOAuth2AuthorizationUrl(parameters); 

冲浪的URL,并得到一个新的AccessCode甚至认为谷歌宣称ü只需要做一次。然后你得到一个访问令牌。

第二个问题的是,这个代码不工作,当它进入PrintAllContacts它failes一个奇怪的例外情况:

There is some error in your request thats all we know"(the google response 
to my request). 

这是写的范围以正确的方式? 非常感谢。 代码:

{ 
      OAuth2Parameters parameters = new OAuth2Parameters();  
      parameters.ClientId = @"my id"; 
      parameters.ClientSecret = @"my secret"; 
      parameters.RedirectUri = @"urn:ietf:wg:oauth:2.0:oob"; 
      parameters.ResponseType="code"; 
      parameters.Scope = @"https://www.google.com/m8/feeds/contacts/bhmi12%40gmail.com/full"; 

      //string url = OAuthUtil.CreateOAuth2AuthorizationUrl(parameters); 
      parameters.AccessCode = @""; 
      try 
      { 
       OAuthUtil.GetAccessToken(parameters); 
       //OAuthUtil.RefreshAccessToken(parameters); 
       var contacts = new ContactsRequest(new RequestSettings("excellent", parameters)); 
       PrintAllContacts(contacts); 
      } 
      catch (GDataRequestException e) 
      { 
       Console.WriteLine("Operation failed ({0}): {1}", e.Message, e.ResponseString); 
      } 
} 
+0

一个很好的开始将在这里https://code.google.com/p/google-api-dotnet-client/ – DaImTo 2015-02-25 11:44:51

号的范围是如下恒定字符串值,看起来像一个URL: “的htt PS://www.googleapis.com/auth/contacts.readonly”

如果您打算修改用户的联系人,然后用这个来代替: “HTT PS://www.google.com/m8/feeds”

参考:https://developers.google.com/google-apps/contacts/v3/#authorizing_requests_with_oauth_20