使用Token和TokenSecret使用TweetSharp进行身份验证

时间:2013-11-14 17:51:13

标签: c# wpf twitter tweetsharp

我在WPF应用中使用TweetSharp连接到用户Twitter帐户并检索推文。我正在使用OAuth和Pin验证进行登录,使用以下代码:

显示登录页面

TwitterService _twitterService = new TwitterService(_consumerKey, _consumerSecret);
_requestToken = _twitterService.GetRequestToken();
Uri uri = _twitterService.GetAuthorizationUri(_requestToken);
webBrowser.Navigate(uri);

为令牌和tokenSecret交换提交Pin:

OAuthAccessToken _access = _twitterService.GetAccessToken(_requestToken, _pin);
if(_twitterService.Response.StatusCode == HttpStatusCode.OK) {
    _twitterService.AuthenticateWith(_access.Token, _access.TokenSecret);
    // Connection successful    
} else {
    // Error connecting
}

在此之后,我将tokentokenSecret保存在数据库中以备将来使用。下次用户输入应用时,不应该要求他第二次授予权限,因为我有consumerKeyconsumerSecrettokentokenSecret我认为我应该能够在不请求OAuth的情况下建立连接。

所以,我的问题是:
如何使用TweetSharp连接到Twitter并使用tokentokenSecret
另外,如何验证令牌是否有效?

1 个答案:

答案 0 :(得分:1)

我想到了如何进行身份验证。我认为它不起作用,因为TwitterService响应总是返回null,但它实际上检索了获取的数据。简而言之,答案是:

TwitterService _twitterService = new TwitterService();
_twitterService.AuthenticateWith(_cosKey, _cosSecret, _tkn, _tknSecret);
IEnumerable<TwitterStatus> tweets = _twitterService.ListTweetsOnHomeTimeline(new ListTweetsOnHomeTimelineOptions());
// tweets count = 20

如果传递的TwitterServicetoken不正确,我仍然不知道如何检查tokenSecret是否有效。