使用 TweetSharp 返回最近的 n 条推文
Posted
技术标签:
【中文标题】使用 TweetSharp 返回最近的 n 条推文【英文标题】:Return recent n number of tweets using TweetSharp 【发布时间】:2015-10-28 09:43:06 【问题描述】:我正在尝试使用 TweetSharp 获取最近的 200 条推文,但由于某种原因它返回了 12 条。
var service = new TwitterService(
_consumerKey,
_consumerSecret,
tokenClaim,
tokenSecret
);
IAsyncResult result = service.BeginListTweetsOnUserTimeline(new ListTweetsOnUserTimelineOptions Count = 200
IEnumerable<TwitterStatus> tweets = service.EndListTweetsOnUserTimeline(result);
任何想法为什么会这样?谢谢
更新
关注How to fetch maximum 800 tweets from ListTweetOnHomeTimeline() method of TweetSharp?
IAsyncResult result =
_twitterService.BeginListTweetsOnUserTimeline(new ListTweetsOnUserTimelineOptions Count = 200 );
IEnumerable<TwitterStatus> tweets = _twitterService.EndListTweetsOnUserTimeline(result).ToArray();
var tweet2 = _twitterService.ListTweetsOnUserTimeline(new ListTweetsOnUserTimelineOptions Count = 200, MaxId = tweets.Last().Id );
return tweet2;
tweet2 为空。
【问题讨论】:
【参考方案1】:TweetSharp 是一个旧库,不再维护。众所周知,存在身份验证问题,但很有可能由于 Twitter API 更改,您遇到了其他问题。只是不要浪费时间尝试修复它。
我建议您使用更新的库Linq2Twitter
,NuGet 上也提供该库。
使用LinqToTwitter
,您的代码将如下所示:
static async Task<List<Status>> ListTweetsOnUserTimeline(string screenName)
var auth = new SingleUserAuthorizer
CredentialStore = new SingleUserInMemoryCredentialStore
ConsumerKey = consumerKey,
ConsumerSecret = consumerSecret,
AccessToken = accessToken,
AccessTokenSecret = accessTokenSecret
;
using (var context = new TwitterContext(auth))
var tweets = await (from tweet in context.Status
where tweet.Type == StatusType.User &&
tweet.Count == 200 &&
tweet.ScreenName == screenName
select tweet)
.ToListAsync();
return tweets;
【讨论】:
仍然比 TweetSharp 更新。 Linq2Twitter 的最新 nuget 包来自 2016 年 2 月,所以这是可以接受的。似乎还有一个新的 TweetSharp here 分支可能值得研究。以上是关于使用 TweetSharp 返回最近的 n 条推文的主要内容,如果未能解决你的问题,请参考以下文章
twitter4j.Status 是不是在每条推文上返回地理位置