2012-02-06 73 views
2

OAuth和RestSharp的新功能。检索oauth_token和oauth_token_secret(Windows Phone上的RestSharp)

我正在构建Windows Phone应用程序,使用RestSharp处理所有OAuth内容。

private void LoginButton_Tap(object sender, System.Windows.Input.GestureEventArgs e) 
    { 
     RestClient client = new RestClient(OAuth.Auth.baseurl); 
     client.Authenticator = RestSharp.Authenticators.OAuth1Authenticator.ForRequestToken(OAuth.Auth.consumerkey, OAuth.Auth.consumersecret); 

     var request = new RestRequest("oauth/request_token", Method.POST); 

     client.ExecuteAsync(request, (response) => 
     { 
      var resource = response.Content; 

      MessageBox.Show(resource); 
      webBrowser1.Navigate(new Uri(OAuth.Auth.UAuthorise + "?" + resource + "&oauth_callback=http://bing.com")); 
     }); 

    } 

private void webBrowser1_LoadCompleted(object sender, System.Windows.Navigation.NavigationEventArgs e) 
     { 
      MessageBox.Show(e.Uri.ToString() + " loaded"); 
     } 

我成功获取请求令牌,然后用户能够登录到该服务。 webBrowser1然后导航到bing.com(在回调url中定义)。我的问题是:我如何获得oauth_token和oauth_token_secret?我可以看到他们,由于webBrowser1_LoadCompleted事件处理程序,但我怎样才能提取他们在我的程序中使用它们?

回答

2

当浏览器控件重定向回调域/ Uri时,处理浏览器控件的Navigating事件。
然后,您可以从Uri中提取您之后的值。