0
Twitter API를 처음 사용했습니다. 나는 사용자가 어구를 타자를 칠 때, 어구를 가진 마지막 15의 트윗을 돌려 보내는 기본적인 신청을 쓰고있다. 사용자 이름을 입력하고 "사용자 검색"버튼을 클릭하면 해당 사용자로부터 최근 15 개의 트윗을 반환합니다.Twitter API를 사용하여 Twitter 스트림에 액세스 - Java에서
나는 첫 번째 부분을 완성했다고 믿지만, 특정 사용자로부터 트윗을 가져 오는 방법을 알아내는 데 조금 어려움이있다. 그 이상의 지침은 매우 높이 평가됩니다.
package twitter;
import java.awt.Button;
import java.awt.TextArea;
import java.awt.TextField;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.KeyAdapter;
import java.awt.event.KeyEvent;
import java.util.List;
import twitter4j.Query;
import twitter4j.QueryResult;
import twitter4j.Tweet;
import twitter4j.Twitter;
import twitter4j.TwitterException;
import twitter4j.TwitterFactory;
import twitter4j.TwitterStream;
public class SearchListener extends KeyAdapter implements ActionListener {
private Button searchButton;
private Button searchUserButton;
private TextField searchText;
private TextArea results;
private Twitter twitter;
public SearchListener(Button searchButton, Button searchUserButton,
TextField searchText, TextArea results) {
this.searchButton = searchButton;
this.searchUserButton = searchUserButton;
this.searchText = searchText;
this.results = results;
results.setText("(ready for search)");
twitter = (new TwitterFactory()).getInstance();
}
@Override
public void actionPerformed(ActionEvent e) {
doSearch();
}
private void doSearch() {
String searchStr = searchText.getText();
results.setText("searching for: " + searchStr + "\n");
if (searchStr == null || searchStr.length() == 0) {
return;
}
try {
QueryResult result = twitter.search(new Query(searchStr));
List<Tweet> tweets = result.getTweets();
int i = 0;
for (Tweet tweet : tweets) {
results.append("" + i + ": ");
results.append("@" + tweet.getFromUser() + " - "
+ tweet.getText());
results.append("\n\n");
i++;
}
results.append("" + i + " total tweets found\n");
} catch (TwitterException te) {
te.printStackTrace();
results.append("Failed to search tweets: " + te.getMessage());
System.exit(-1);
}
}
@Override
public void keyTyped(KeyEvent e) {
// results.append(e.getKeyChar() + "\n");
if (e.getKeyChar() == '\n') {
doSearch();
}
}
}