我正在使用LinqToTwitter Api和上下文从屏幕名称获取所有推文,但我被困在3200条推文中。使用max_id和since_id概念。 我需要做些什么更改才能使用屏幕名称从个人资料中获取所有推文? 下面是我的代码:`
List<Status> searchResults = new List<Status>();
try
{
var twitterCtx = new TwitterContext(auth);
int maxNumberToFind = 200;
ulong sinceID = 1;
ulong maxID;
var tweets = (from tweet in twitterCtx.Status
where tweet.Type == StatusType.User &&
tweet.ScreenName == screenName &&
tweet.Count == maxNumberToFind &&
tweet.SinceID == sinceID &&
tweet.Retweeted==false
select tweet).ToList();
if (tweets.Count > 0)
{
maxID = searchResults.Min(status => status.StatusID) - 1;
searchResults.AddRange(tweets);
}
do
{
tweets.Clear();
tweets = (from tweet in twitterCtx.Status
where tweet.Type == StatusType.User &&
tweet.ScreenName == screenName &&
tweet.Count == maxNumberToFind &&
tweet.MaxID == maxID &&
tweet.SinceID == sinceID &&
tweet.Retweeted == false
select tweet).ToList();
searchResults.AddRange(tweets);
maxID = tweets.Min(x => x.StatusID);
} while (searchResults.Count <= 5000);//tweets.Any()`
}
catch (Exception ex) { ex.ToString(); }
return searchResults;
}
答案 0 :(得分:0)
屏幕名称不能超过3200条推文。这是一个API限制:
https://developer.twitter.com/en/docs/tweets/timelines/api-reference/get-statuses-user_timeline
要获得更多信息,您可以尝试网页抓取,也可以从Gnip购买数据。
贝斯茨