2013-10-12 2 views
0

Привет, Все Я занимаюсь разработкой приложения для Java-приложений. Мне нужно искать твиты с помощью хэштегов с помощью twitter4j 3.0.5. У меня нет проблем с проверкой подлинности и поиском твитов, но есть некоторые проблемы: Я тестировал результаты поиска с помощью topsy.com, и я видел, что у меня есть несколько твитов или нет твитов. как #jobbingfest есть около 500 твитов, но я нашел, что это пустая ... intrest вещь: Twitter.search (запрос) документы говорятtwitter4j 3.0.5 проблемы поиска

Returns tweets that match a specified query. This method calls http://search.twitter.com/search.json 

что апи возвращает JSON, как это

{"errors": [{"message": "The Twitter REST API v1 is no longer active. Please migrate to API v1.1. https://dev.twitter.com/docs/api/1.1/overview.", "code": 68}]} 

Я немного смущен ... почему я могу получить твиты, если этот ресурс больше недоступен?

Я пытаюсь понять проблему, но никак ... мне пришлось написать здесь о помощи: p.

Большое спасибо! Licio.

пс. извините, но, возможно, мой английский не так хорош ...

pps. для получения более 100 твитов, которые я использую для этого, правильно?

List<MioStatus> listaStatus = null; 
try { 
    listaStatus = new ArrayList<MioStatus>(); 
    result = twitter.search(query); 
    while(result.nextQuery() != null){ 
     for (Status status : result.getTweets()) { 
      if(status.isRetweet()){ 
       listaStatus.add(new MioStatus(status.getId(), true, "RT " + status.getRetweetedStatus().getText(), status.getUser(), status.getGeoLocation(), status.getRetweetCount(), status.getCreatedAt())); 
      }else{ 
       listaStatus.add(new MioStatus(status.getId(), true, status.getText(), status.getUser(), status.getGeoLocation(), status.getRetweetCount(), status.getCreatedAt())); 
      } 
     } 
     result = twitter.search(result.nextQuery()); 
    } 
+0

http://stackoverflow.com/questions/17887984/is-it-possible-to-get-more-than-100-tweets/25069446#25069446 см пятые комментарии его очень полезно :) –

ответ

0

API-интерфейс Twitter REST API v1 больше неактивен. Вы не можете работать с этим, чтобы получить данные в твитере. From the site:

Version 1 из REST API теперь осуждается и перестанет функционировать в ближайшие месяцы. Перенести на версию 1.1 сегодня.

Однако API 1.1 supports JSON only, отбрасывая поддержку XML, Atom и RSS.

снова в вашем коде, вы звоните nextQuery() дважды в следующей фрагментации (читать комментарии):

while(result.nextQuery() != null){ // you are calling nextQuery() but 
            //you should call hasNext() boolean check 
     for (Status status : result.getTweets()) { 
      // do whatever you were doing 

     } 
     result = twitter.search(result.nextQuery()); 
        // you are calling nextQuery() here, so no need to call 
        //in while conditional check 
     } // while ends here 
+0

Да, ты прав! Но: 1) twitter4j является api 1.1 совместимым 2) У меня нет проблем с получением твитов - совсем нет. – 0pipe0

+0

обновил ответ – Sage

+0

Ох ... отлично! не видели hasNext() ... -.- thnx – 0pipe0

0

нормально я получить что-то ... Просто изменил ассигнование Твиттера, как этот

Twitter twitter = TwitterFactory.getSingleton(); 

Не спрашивайте меня, почему, я использую mvc и должен быть тем же самым сохранением экземпляра на карте, но ... Теперь проблема в том, что ... «Где старые твиты?» установка setSince() бесполезна. Ограничения на Twitter?

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

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