結果としては以下のようなコードでユーザーのタイムラインが取得できた。 StatusNetはBasic認証でも認証ができるので今回はその方法を使った。
import twitter4j.ResponseList; import twitter4j.Status; import twitter4j.Twitter; import twitter4j.TwitterException; import twitter4j.TwitterFactory; import twitter4j.User; import twitter4j.auth.BasicAuthorization; import twitter4j.conf.Configuration; import twitter4j.conf.ConfigurationBuilder; public class TwitterConsole { public static void main(String[] args) { try { TwitterConsole app = new TwitterConsole(); app.start(); } catch(Throwable ex) { ex.printStackTrace(System.err); } } private void start() throws TwitterException { // StatusNetのAPIのBase URL String baseURL = "http://localhost/statusnet/api/"; // Twitter4J設定。APIのBase URLをStatusNetのサーバーに変更 ConfigurationBuilder cb = new ConfigurationBuilder(); cb.setRestBaseURL(baseURL); cb.setIncludeEntitiesEnabled(true); cb.setJSONStoreEnabled(true); Configuration conf = cb.build() ; // Basic認証で認証する BasicAuthorization auth = new BasicAuthorization("username", "password"); Twitter twitter = new TwitterFactory(conf).getInstance(auth); // ユーザーのタイムラインを取得 ResponseListtweets = twitter.getHomeTimeline(); // 取得したタイムラインを表示 int i = 0; for(Status tweet : tweets) { i++; User tweetuser = tweet.getUser(); System.out.printf("[%d] %s %s%n%s%n-----------%n", tweet.getId(), // 投稿ID tweet.getCreatedAt().toString(), // 投稿時刻 tweetuser.getName(), // 投稿者 tweet.getText()); // 投稿内容 } } }
0 件のコメント:
コメントを投稿