Я пытаюсь заставить 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 захваченпо какой-то причине работаю сегодня утром ... И в любом случае, я чувствую себя лучше, когда пользователям не нужно предоставлять мое приложение со своими учетными данными.
Лучше всего будет работать - пример, независимо от того, насколько просто:)
Я где-то читал в сети, что .NET с OAuth плохо работает с GData 1.4.0.2 (текущая версия), и что он работает намного лучше с - экспериментальным - 1.5.0.0, но не смог найти locatino для загрузки экспериментальной версии: (
Заранее спасибо!