今回は UserMethods インターフェースに定義されているメソッドの締めくくり(記事一覧)。 残っているメソッドは次の3つ:
public interface UserMethods{ ... // おすすめの取得 ResponseList<Category> getSuggestedUserCategories() ResponseList<User> getUserSuggestions(String categorySlug) ResponseList<User> getMemberSuggestions(String categorySlug) }
「おすすめ」に関連するメソッドです。
サンプル・コード
@Grab('org.twitter4j:twitter4j-core:[2.2.4,)') import twitter4j.* def twitter = new TwitterFactory().getInstance() // おすすめカテゴリを取得 twitter.getSuggestedUserCategories().each{ Category category -> println "$category.name : $category.slug" } // おすすめユーザーを取得 twitter.getUserSuggestions('jalist-8').each{ User user -> println user.screenName } // おすすめユーザーを取得 twitter.getMemberSuggestions('jalist-8').each{ User user -> println user.screenName }
- getSuggestedUserCategories() メソッドは特に問題はないと思います。
- getUserSuggestions(), getMemberSuggestions() メソッドに渡す引数はカテゴリーを指定する文字列です。 これはカテゴリーの名前とは違って、以下で見る Category オブジェクから getSlug() メソッドで取得できる文字列です。 上記サンプルでは文字列を直接指定していますが、大抵は Category オブジェクトから取得すればいいかと思います。
- getUserSuggestions() メソッドと getMemberSuggestions() との違いは・・・イマイチわかりません。 返される User のリストは同じこともあれば、違っていることもあります。 twitter.com の「おすすめユーザー」 → 「カテゴリを確認する」から取得できるおすすめカテゴリのユーザーは getMemberSuggestions() で返されるユーザーとは常に一致しているようです。
処理のイメージ図
twitter のサイト上では
getSuggestedUserCategories() メソッドが返す「おすすめカテゴリ」は、twitter.com から以下のようにして取得できます:
また、getMemberSuggestions() メソッドが返す「おすすめユーザー」は、以下で取得できるユーザーリストと同じようです:
関連クラス
今回出てきた型は
- twitter4j.Category インターフェース
です。
Category インターフェース
Category インターフェースの型定義は以下のようになっています:
package twitter4j; public interface Category{ String getName(); int getSize(); String getSlug(); }
- getName() メソッドは twitter.com などで表示される名前を返します。
- getSize() メソッドはこのカテゴリに分類されているユーザー数を返します。
- getSlug() メソッドはこのカテゴリを指定する文字列(getUserSuggestions(), getMemberSuggestions() メソッドに渡す文字列)を返します。
Twitter API ポケットリファレンス (POCKET REFERENCE)
- 作者: 山本 裕介
- 出版社/メーカー: 技術評論社
- 発売日: 2011/07/15
- メディア: 単行本(ソフトカバー)
- 購入: 3人 クリック: 247回
- この商品を含むブログ (41件) を見る