twitter って単純につぶやくだけなら簡単ですが、他にもいろいろ機能があるはずなのにイマイチ使い方が分かってないなぁと最近感じてきたので、ちょっと twitter を勉強しようかなと。 ただ、そんなにガッツリ使う気は(今のところ)ないので、マニュアル読んだり書籍を購入して読んだりするのもちょっとモチベーションが上がんないなぁというところ。 なのでちょっと変化球的に、プログラミングでどんなことができるのかを試してみる作戦を決行してみます。 Java 系のプログラミング言語で twitter を扱うライブラリってのもいろいろあるようですが、Twitter4J が無難そうなので(おぉ、日本人開発者!)、これをあれこれイジってみます(記事一覧)。
Twitter4J では以下の API がサポートされています:
- 同期 API : 関連クラスは
- twitter4j.Twitter
- twitter4j.TwitterFactory
- 非同期 API : 関連クラスは
- twitter4j.AsyncTwitter
- twitter4j.AsyncTwitterFactory
- ストリーミング API : 関連クラスは
- twitter4j.TwitterStream
- twitter4j.TwitterStreamFactory
ただし、この記事では同期 API のみを扱います。 Twitter4J では、とりあえず Twitter インターフェースが重要とのこと。
サンプルコード
今回は Twitter4J のさわり的な、簡単なコードを見ていきます。 ただし、OAuth 認証の設定を行わないと動かないので注意(この設定は次回行う予定)。 Twitter4J では、どんなことをやるにも大まかな手順は以下のようになります:
- TwitterFactory オブジェクト*1を生成する
- TwitterFactory オブジェクトから getInstance() メソッドによって Twitter オブジェクト*2を生成する
- Twitter オブジェクトを介して twitter の処理を行う
以下はサンプル・コード。 Groovy で書いてますが、型付けもしているので Java プログラマでも書いてる意味は分かると思います:
@Grab('org.twitter4j:twitter4j-core:[2.2.4,)') import twitter4j.* TwitterFactory factory = new TwitterFactory() // 1. TwitterFactory オブジェクトを生成 Twitter twitter = factory.getInstance() // 2. Twitter オブジェクトを生成 Status status = twitter.updateStatus('test tweet.') // 3. twitter を操作 println "Successfully updated the status to [${status.text}]."
このコードを実行すると標準出力には
Successfully updated the status to [test tweet.].
と表示され、twitter には新しいツイート
test tweet.
がつぶやかれます。
Twitter が継承しているインターフェース
Twitter4J では Twitter インターフェースを介して twitter の操作をするので、twitter でどのようなことができるかを知るにはこのTwitter インターフェースに定義されているメソッドを見ていけばいいことになります。 で、このインターフェースにはたくさんのメソッドが定義されていますが、JavaDoc を見てみると、Twitter インターフェースに独自に定義されているメソッドはなく、すべてスーパーインターフェースから引き継いでいるメソッドになっています。 そして、これらの継承されているインターフェースはそれぞれが twitter で行える操作に対応しているので、これら Twitter インターフェースのスーパーインターフェースをそれぞれ読み解いていけば、twitter でどういう事ができるかが分かるハズ!という魂胆。
さて、Twitter インターフェースのスーパーインターフェースは大きく分けて
の2つに大別できます。
Twitter インターフェースのスーパーインターフェース
Twitter API 以外のスーパーインターフェースは少なく、以下の4つです:
- StatusMethods
- UserMethods
- FavoriteMethods
- ListMethods
- ListMembersMethods
- ListSubscribersMethods
- FriendsFollowersMethods
- FriendshipMethods
- AccountMethods
- TimelineMethods
- DirectMessageMethods
- SearchMethods
- SavedSearchesMethods
- GeoMethods
- HelpMethods
- TrendsMethods
- LocalTrendsMethods
- NewTwitterMethods
- NotificationMethods
- BlockMethods
- SpamReportingMethods
これらはどれも twitter4j.api パッケージ内のインターフェースです。 機会があれば、それぞれのインターフェースを見ていきたいと思いますが、量的にみて全部(どころか半分も)いかないでしょうね。 まぁ、気の向くままに。
参考 URL
Twitter API ポケットリファレンス (POCKET REFERENCE)
- 作者: 山本 裕介
- 出版社/メーカー: 技術評論社
- 発売日: 2011/07/15
- メディア: 単行本(ソフトカバー)
- 購入: 3人 クリック: 247回
- この商品を含むブログ (41件) を見る