今回は ListMethods インターフェースのうち ResponseList オブジェクトを返すメソッドを見ていきます(記事一覧)。
public interface ListMethods{ ... // ResponseList を返すメソッド ResponseList<UserList> getAllUserLists(String screenName); ResponseList<UserList> getAllUserLists(long userId); ResponseList<Status> getUserListStatuses(int listId, Paging paging); }
ResponseList インターフェースについてはこちらの記事の「関連する型」の箇所を参照。
- getAllUserLists() メソッドはユーザーを(ユーザー名またはユーザー ID で)指定して、そのユーザーのリストを取得するメソッドです。
- getUserListStatuses() メソッドはユーザーリストを(リスト ID で)指定して、そこに登録されているユーザーのタイムライン(ツイート(ステータス)を時系列に並べたもの)を取得するメソッドです。
そのうち見る予定の TimelineMethods インターフェースも覗いてみると、Twitter4J ではタイムラインは ResponseList<Status> 型として表されているようです。
サンプル・コード
ではサンプル・コード。
- getAllUserLists() メソッドの使い方は難しくないと思います。
- getUserListStatuses() メソッドは Paging オブジェクトの使い方が分かっていれば特に問題はないかと。 Paging クラスは以前に出てきましたネ。
以下のサンプルでは、ユーザーリストを作成してユーザーを登録する部分が少々長くなっていますが、単なる準備です。 今回対象となっているメソッドの使い方には直接関係ありません:
@Grab('org.twitter4j:twitter4j-core:[2.2.4,)') import twitter4j.* def twitter = new TwitterFactory().getInstance() // ユーザーリストの取得(ユーザー名から) twitter.getAllUserLists('waman10da').each{ UserList list -> println list.name } // ユーザーリストの取得(ユーザー ID から) twitter.getAllUserLists(122348882L).each{ UserList list -> println list.name } // 準備 その1 (ユーザーリスト「Silent Siren」作成) def silentSiren = twitter.createUserList('Silent Siren', true, '''Vo.&Gt. 吉田菫 Key.&Cho. 寒川綾奈 Ba.&Cho. 山内あいな Dr. 梅村妃奈子''') Thread.sleep(3000) // リストの作成をしばし待つ(うまくいかない場合もあり) // 準備 その2 (ユーザーリスト「Silent Siren」にユーザーを登録) twitter.addUserListMembers(silentSiren.id, [ 'sumiredooon', 'hinanchu_twtr', 'aina0703', 'sogawa_1020'] as String[]) Thread.sleep(3000) // リストの更新をしばし待つ(うまくいかない場合もあり) // ユーザーリストに登録されているユーザーのステータスを取得 twitter.getUserListStatuses(silentSiren.id, new Paging(1, 40)).each{ Status status -> int n = [10, status.text.size()].min() println "$status.user.name : ${status.text.substring(0, n)}..." }
処理のイメージ図
twitter のサイト上で
Twitter API ポケットリファレンス (POCKET REFERENCE)
- 作者: 山本 裕介
- 出版社/メーカー: 技術評論社
- 発売日: 2011/07/15
- メディア: 単行本(ソフトカバー)
- 購入: 3人 クリック: 247回
- この商品を含むブログ (41件) を見る