Я пытаюсь получить твиты, в которых упоминается конкретный пользователь, использующий ткань для 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, я получаю те твиты, где это упоминается.
Любая идея?
Последнее сообщение было два месяца назад, вот в чем проблема, я этого не знал. Так что это не ошибка кодирования. Есть ли способ получить более старые сообщения? Заранее спасибо –
Открытый API поиска из Twitter никогда не предоставлял более 7 дней истории данных. Если вы хотите получить больше, чем это программно, я боюсь, вам нужно будет посмотреть коммерческие продукты Gnip из Twitter. –