我正在使用linq2twitter库来检索特定主题标签的推文,我能够实现这一点,但问题是它只提供了100条推文。
string consumerKey = "MyConsumerKey";
string consumerSecret = "MyConsumerSecret";
string accessToken = "MyAcessToken";
string accessTokenSecret = "MyAccessToken";
string Query = "#HashTag";
var auth = new SingleUserAuthorizer
{
CredentialStore = new InMemoryCredentialStore
{
ConsumerKey = consumerKey,
ConsumerSecret = consumerSecret,
OAuthToken = accessToken,
OAuthTokenSecret = accessTokenSecret
}
};
var context = new TwitterContext(auth);
int count = 0;
var searchResults =
(from search in context.Search
where search.Type == SearchType.Search &&
search.Query == Query &&
search.IncludeEntities == true
select search).SingleOrDefault();
foreach (var item in searchResults.Statuses)
{
count++;
}
Console.WriteLine(count);
有没有办法实现所有推文?或者我做错了什么?
答案 0 :(得分:3)
查看Linq2Twitter包含的Twitter API:
<强>计数强>
每页返回的推文数量,最多为100个。默认为15.这以前是旧搜索API中的“rpp”参数。
意味着每次调用搜索API最多可以返回100个结果。如果您想要返回更多内容,则必须手动填写请求,可能使用MaxID
参数(在Twitter API中称为max_id
):
<强> max_id 强>
返回ID小于(即早于)或等于指定ID
的结果
因此,请获取您拥有的100个结果的数据集,获取最低ID,并将其作为下次调用的MaxId
传递。