我正在尝试让已安装应用程序的 OAuth 与我的代码一起使用,但实际上收效甚微......
这是代码:
GOAuthRequestFactory factory = new GOAuthRequestFactory("cl", "MyApp");
factory.ConsumerKey = "anonymous";
factory.ConsumerSecret = "anonymous";
// example of performing a query (use OAuthUri or query.OAuthRequestorId)
Uri calendarUri = new OAuthUri("http://www.google.com/calendar/feeds/default/owncalendars/full", "firstname.lastname", "gmail.com");
CalendarQuery query = new CalendarQuery();
query.Uri = calendarUri;
factory.AccountType = "GOOGLE";
factory.MethodOverride = true;
Console.WriteLine("Setting up proxy");
IWebProxy iProxy = WebRequest.DefaultWebProxy;
WebProxy myProxy = new WebProxy(iProxy.GetProxy(query.Uri));
// potentially, setup credentials on the proxy here
myProxy.Credentials = CredentialCache.DefaultCredentials;
myProxy.UseDefaultCredentials = true;
factory.Proxy = myProxy;
CalendarService service = new CalendarService("MyApp");
service.RequestFactory = factory;
service.Query(query);
在最后一行,我得到一个例外:
{"Execution of request failed: http://www.google.com/calendar/feeds/default/owncalendars/full?xoauth_requestor_id=firstname.lastname@gmail.com"}
服务器返回:
Token invalid - Invalid AuthSub token.
有人有想法吗?
我实际上并不太受 OAuth 的约束,但 ClientLogin 出于某种原因今天早上抓住了工作......无论如何,当用户不必向我的应用程序提供他们的凭据时,我感觉更好。
最好是一个 - 工作 - 例子,无论多么简单:)
我在网上某处读到,带有 OAuth 的 .NET 不适用于 GData 1.4.0.2(当前版本),并且它与 - 实验 - 1.5.0.0 一起工作得更好,但无法找到locatino 下载实验版 :(
提前致谢!