从我的时间轴返回所有推文

我希望退回我在时间轴上发布的所有推文。

我正在使用Linq To Twitter库 –

var statusTweets = from tweet in twitterCtx.Status where tweet.Type == StatusType.User && tweet.UserID == MyUserID && tweet.Count == 200 select tweet; statusTweets.ToList().ForEach( tweet => Console.WriteLine( "Name: {0}, Tweet: {1}\n", tweet.User.Name, tweet.Text)); 

这工作正常并带回前200.然而前200似乎是我可以检索的最大值,因为有一种方法可以恢复说1000? 似乎没有next cursor movement选项,就像在该库的其他部分中移动到下一页等。

您可以使用Count,MaxID和SinceID的组合来翻阅推文。 这听起来很奇怪,但鉴于推文流不断更新,这种方法有很好的理由。 我写了一篇博文, 使用LINQ to Twitter的时间线 ,指向Twitter文档,并描述LINQ如何做到这一点。

 // last tweet processed on previous query set ulong sinceID = 210024053698867204; ulong maxID; const int Count = 10; var statusList = new List(); var userStatusResponse = (from tweet in twitterCtx.Status where tweet.Type == StatusType.User && tweet.ScreenName == "JoeMayo" && tweet.SinceID == sinceID && tweet.Count == Count select tweet) .ToList(); statusList.AddRange(userStatusResponse); // first tweet processed on current query maxID = userStatusResponse.Min( status => ulong.Parse(status.StatusID)) - 1; do { // now add sinceID and maxID userStatusResponse = (from tweet in twitterCtx.Status where tweet.Type == StatusType.User && tweet.ScreenName == "JoeMayo" && tweet.Count == Count && tweet.SinceID == sinceID && tweet.MaxID == maxID select tweet) .ToList(); if (userStatusResponse.Count > 0) { // first tweet processed on current query maxID = userStatusResponse.Min( status => ulong.Parse(status.StatusID)) - 1; statusList.AddRange(userStatusResponse); } } while (userStatusResponse.Count != 0 && statusList.Count < 30);