我在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
}
在此之后,我将token
和tokenSecret
保存在数据库中以备将来使用。下次用户输入应用时,不应该要求他第二次授予权限,因为我有consumerKey
,consumerSecret
,token
和tokenSecret
我认为我应该能够在不请求OAuth的情况下建立连接。
所以,我的问题是:
如何使用TweetSharp连接到Twitter并使用token
和tokenSecret
?
另外,如何验证令牌是否有效?
答案 0 :(得分:1)
我想到了如何进行身份验证。我认为它不起作用,因为TwitterService响应总是返回null,但它实际上检索了获取的数据。简而言之,答案是:
TwitterService _twitterService = new TwitterService();
_twitterService.AuthenticateWith(_cosKey, _cosSecret, _tkn, _tknSecret);
IEnumerable<TwitterStatus> tweets = _twitterService.ListTweetsOnHomeTimeline(new ListTweetsOnHomeTimelineOptions());
// tweets count = 20
如果传递的TwitterService
和token
不正确,我仍然不知道如何检查tokenSecret
是否有效。