今回は ListMehods インターフェースの締めくくり、PagableResponseList を返すメソッドを見ていきます(記事一覧)。 対象となるメソッドは次の4つ:
public interface ListMethods{ ... // PagableResponseList を返すメソッド PagableResponseList<UserList> getUserLists(long listOwnerUserId, long cursor); PagableResponseList<UserList> getUserLists(String listOwnerScreenName, long cursor); PagableResponseList<UserList> getUserListMemberships(String listMemberScreenName, long cursor); PagableResponseList<UserList> getUserListSubscriptions(String listOwnerScreenName, long cursor); }
getUserLists() メソッドは指定したユーザーのリストを返し、getUserListMemberships() メソッドは指定したユーザーを含む(大抵は他のユーザーの)リストを返し、getUserListSubscriptions() メソッドは指定したユーザーが購読している他のユーザーのリストを返します。
サンプル・コード
各メソッドで返される PagableResponseList オブジェクトは List インターフェースを拡張しているので、for 文などで各要素(UserList オブジェクト)に対する処理を行うことができます。 返される要素数は 20 件です:
@Grab('org.twitter4j:twitter4j-core:[2.2.4,)') import twitter4j.* def twitter = new TwitterFactory().getInstance() // 指定したユーザーのユーザーリストを返す twitter.getUserLists('waman10da', -1L).each{ UserList list -> println list.name } // 指定したユーザーが登録されているユーザーリストを返す twitter.getUserListMemberships('waman10da', -1L).each{ UserList list -> println "$list.user.name : $list.name" } // 指定したユーザーが購読しているユーザーリストを返す twitter.getUserListSubscriptions('waman10da', -1L).each{ UserList list -> println "$list.user.name : $list.name" }
最初の20件を取得する場合は第2引数に -1L を渡します。 さらに要素を取得したい場合は、既に取得している PagableResponseList オブジェクトに対して getNextCursor() を呼び出し、返される long 値を第2引数にして同じメソッドを呼び出します:
def twitter = new TwitterFactory().getInstance() def user = 'erina_mano' def exe = { println "$it.user.name : $it.name" } // 最初の20件を取得する def result = twitter.getUserListMemberships(user, -1L).each(exe) int i = 0 while(result.hasNext() && i < 4){ // 次の20件を取得する result = twitter.getUserListMemberships(user, result.getNextCursor()) result.each(exe) i++ }
処理のイメージ図
twitter のサイト上で
関連クラス
今回新しく出てきたクラスは
- twitter4j.PagableResponseList インターフェース
です。
PagableResponseList インターフェース
型定義はこんなの:
package twitter4j; public interface PagableResponseList<T extends TwitterResponse> extends ResponseList<T>, CursorSupport{ ... }
使い方は上記のサンプル・コードを参照のこと。

Twitter API ポケットリファレンス (POCKET REFERENCE)
- 作者: 山本 裕介
- 出版社/メーカー: 技術評論社
- 発売日: 2011/07/15
- メディア: 単行本(ソフトカバー)
- 購入: 3人 クリック: 247回
- この商品を含むブログ (41件) を見る