检索特定主题标签的所有推文

Retrieve all the tweets of a specific hashtag

我正在使用 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);

有什么办法可以实现所有推文吗?还是我做错了什么?

查看 Linq2Twitter 包装的 Twitter API

Count

The number of tweets to return per page, up to a maximum of 100. Defaults to 15. This was formerly the “rpp” parameter in the old Search API.

意味着每次调用搜索 API 最多可以 return 100 个结果。如果你想 return 更多,你将不得不手动分页你的请求,可能使用 MaxID 参数(在推特 API 中称为 max_id):

max_id

Returns results with an ID less than (that is, older than) or equal to the specified ID

所以拿你有100个结果的数据集,抓取最小的ID,并将它作为下一次调用的MaxId传递。