我正在尝试构建一个C#应用程序,用于查询我的Google联系人,并将其打印到控制台。
电子邮件地址是:bhmi12@gmail.com 优秀的是谷歌应用程序的名称。
我有两个问题:
第一个问题每次我运行应用程序时我都要打电话:
string url = OAuthUtil.CreateOAuth2AuthorizationUrl(parameters);
浏览网址并获得一个新的AccessCode甚至谷歌声称你只需要做一次。然后你得到一个访问令牌。
第二个问题是这个代码无法正常工作,当它转到PrintAllContacts时,它会在一个奇怪的例外情况下崩溃:
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 :(得分:0)
没有。范围是以下常量字符串值,看起来像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