OAuth для установленных приложений с .NET - PullRequest
2 голосов
/ 23 апреля 2010

Я пытаюсь заставить 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 для загрузки экспериментальной версии: (

Заранее спасибо!

...