检索oauth_token和oauth_token_secret(Windows Phone上的RestSharp)

时间:2012-02-06 02:52:55

标签: oauth windows-phone restsharp

OAuth和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(如回调网址中所定义)。我的问题是:我该怎么做才能得到oauth_token和oauth_token_secret?由于webBrowser1_LoadCompleted事件处理程序,我可以看到它们,但是如何提取它们以在我的程序中使用它们呢?

1 个答案:

答案 0 :(得分:2)

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