4jについてOAuthを使ったログイン処理タイムラインの取得ツイートまとめ関連記事PR背景こんにちは。karintomania(@karintozuki)です。APIを触る方法を調べたところ、Twitter4jというライブラリが良いらしい。Java8以上MacOSTwitterデベロッパーアカウントが必要。使い方プロジェクトをダウンロードGithubはこちら。cloneするなりzipでダウンロードするなりしてほしい。いくつか初期設定が必要です。Consumerキーを設定resource/twitter4j.properties内の以下二つのプロパティを設定する。これらの値はTwitterデベロッパーアカウントを作成すると取得できる。コンシューマーシークレットを設定oauth.consumerSecret=put-your-consumer-secretユーザ名を変更ユーザ名(使用したいアカウントの@xxxxのxxxx部分)をAuthenticator.javaの以下の箇所に入れる。ソースベタうちでごめんなさい。ar.getAuth("put-user-name-here");起動コマンド以下コマンドをプロジェクトルートフォルダで実行すると、ツールが起動する。--console=plain–console=plainオプションをつけているのは、Gradleのメッセージがちょっとうるさいから。起動したら以下のコマンドが使える。最初はloginコマンドを打ってログインする必要がある。タイムラインを5件ずつ表示する。4jについてこのツールではTwitter4jというライブラリを使っている。公式サンプルがだいぶ参考になるので、そちらも合わせてみていただきたい。http://twitter4j.org/ja/OAuthを使ったログイン処理OAuth処理はAuthenticator.javaで行っている。authenticate()メソッドを少し紹介する。以下の流れで成功するとトークンが取得できる。pin);このGIFをみてもらうと分かりやすいと思う。トークンは取得すると、アクセストークンとアクセストークンシークレットが取得できる。このプログラム内ではMyBatisとSQLiteを使って永続化している。興味があればDTOフォルダ内を参照して欲しい。タイムラインの取得タイムラインの取得はTwitterServiceクラス内のshowTimeLine()メソッドで行っている。tweetText;}twitter.getHomeTimeline()メソッドでタイムラインを取得できる。このメソッドはページネーションに対応しているため、このプログラム内では5件ずつ取得するようにしている。こちらも動作イメージとしてGIFを用意した。ツイートツイートにはtwitter.updateStatus()メソッドを使う。普通に標準入力を読み込んでメソッドに文字列を渡しているだけ。in.close();}こちらも動作イメージとしてGIFを用意した。まとめTwitter周りの実装は全部Twitter4j任せで簡単にできた。利用したいAPIによっては対応していないのもあるようなので、注意が必要。APIには対応していないようだった。CLIツールとして動作するようなものを作るのが初めてだったので、そこに結構苦戦した。それじゃ今日はこの辺で。関連記事こちらの記事もおすすめ。技術が評価されないような会社にいたらそれは良い環境なのでしょうか?エンジニアとして技術を高めたいのなら環境を選ぶことも大事です。求人数の充実具合からレバテックキャリアがおすすめです。IT転職ではデファクト・スタンダードですね。Clipsは年収500万以上&自社サービスを持った会社に特化した求人サイトです。収入を増やしたい、自社サービスを持った企業への転職をしたい人におすすめです。APINewerエンジニア向けブログの始め方。年間経費1500円で運用している私がその方法を紹介Olderアプリ未経験エンジニアが独学で個人開発Androidアプリを公開するまでにやったことAboutkarintomaniaイギリス在住のWeb開発者が日々学んだことを書き連ねています。PHPメインでやらせてもらってます。