2015-07-12 4 views
0

Я использую библиотеку linq2twitter для извлечения твитов определенного хэштега, и я могу достичь этого, но проблема в том, что он дает всего 100 твитов.Получить все твиты определенного hashtag

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

Я думаю, что api даст вам 100 лучших результатов. –

ответ

3

Отъезд Twitter API что Linq2Twitter обертывания:

Граф

Количество твитов, чтобы вернуться на страницу, до максимум 100. Defaults до 15. Это было прежде « rpp "в старом API поиска.

Значение каждого вызова API поиска может возвращать не более 100 результатов. Если вы хотите вернуть больше, вы должны будете вручную страницы ваших запросов, возможно, с использованием параметра MaxID (так называемый max_id в твиттере API):

max_id

возвращает результаты с ID меньше чем (то есть старше) или равное указанному идентификатору

так возьмите набор данных 100 результатов у вас есть, возьмите самый низкий ID, и передать его в качестве MaxId следующего вызова.