2016-01-11 4 views
1

Я пытаюсь получить твиты, в которых упоминается конкретный пользователь, использующий ткань для Android или twitter4j, но я ничего не получаю.Ни Ткань для Android, ни twitter4j не находите твиты, содержащие конкретное упоминание пользователя

-с Ткань для Android я делаю это с "twitterApiClient.getSearchService() твитов." (Регистрируемые в качестве гостя ранее)

-с twitter4j, это мой код:

public List<Long> twList (String user){ 
    List<Long> listTw = new ArrayList<>(); 
    lastID = Long.MAX_VALUE; 
    int tamano = 0; 
    ArrayList<Status> tweets = new ArrayList<Status>(); 
    String mention = "@"+user.trim(); 
    query = new Query(user); 
    while (tweets.size() < numberOfTweets) { 
     tamano = tweets.size(); 
     if (numberOfTweets - tweets.size() > 100) { 
      query.setCount(100); 
     } else { 
      query.setCount(numberOfTweets - tweets.size()); 
     } 
     try { 
      QueryResult result = twitter.search(query); 
      tweets.addAll(result.getTweets()); 
      Log.d("App", "Gathered " + tweets.size() + " tweets"); 
      for (Status t : tweets) { 
       if (t.getId() < lastID) { 
        lastID = t.getId(); 
       } 
      } 
     } catch (TwitterException te) { 
      Log.d("App", "Couldn't connect: " + te); 
     } 
     query.setMaxId(lastID - 1); 
     if (tamano == tweets.size()) break; 
    } 
    for (Status s: tweets){ 
     if (s.getText().matches(mention)){ 
      listTw.add(s.getId()); 
      Log.d("App", s.getText()); 
     } 
    } 
    tweets.clear(); 
    return listTw; 
} 

Когда я ищу имя пользователя на сайте Twitter, я получаю те твиты, где это упоминается.

Любая идея?

ответ

2

Когда был последний раз, когда твит, включая имя пользователя, которое вы ищете, размещен? API поиска (который используется как Fabric, так и Twitter4j) охватывает только около 7 дней данных. На веб-сайте имеется полный архив, но он недоступен в открытом API Twitter.

+0

Последнее сообщение было два месяца назад, вот в чем проблема, я этого не знал. Так что это не ошибка кодирования. Есть ли способ получить более старые сообщения? Заранее спасибо –

+0

Открытый API поиска из Twitter никогда не предоставлял более 7 дней истории данных. Если вы хотите получить больше, чем это программно, я боюсь, вам нужно будет посмотреть коммерческие продукты Gnip из Twitter. –

 Смежные вопросы

  • Нет связанных вопросов^_^