倭マン's BLOG

くだらない日々の日記書いてます。 たまにプログラミング関連の記事書いてます。 書いてます。

むしろ Twitter4J で twitter を勉強してみる (16) : FriendshipMethods インターフェース

今回はフォローをしたりフォローを解除したりするメソッドが定義されている FriendshipMethods インターフェースを見ていきます(記事一覧)。

FriendshipMethods インターフェース

package twitter4j.api;

public interface FriendshipMethods{

    // Friendship を更新・確認・削除するメソッド
    User createFriendship(long userId);
    User createFriendship(long userId, boolean follow);
    User createFriendship(String screenName);
    User createFriendship(String screenName, boolean follow);

    boolean existsFriendship(String userA, String userB);

    User destroyFriendship(long userId);
    User destroyFriendship(java.lang.String screenName);

    // Friendship を取得・更新するメソッド
    Relationship showFriendship(long sourceId, long targetId);
    Relationship showFriendship(String sourceScreenName, String targetScreenName);
    Relationship updateFriendship(long userId, boolean enableDeviceNotification, boolean retweets);
    Relationship updateFriendship(String screenName, boolean enableDeviceNotification, boolean retweets);

    // Friendship を検索するメソッド
    ResponseList<Friendship> lookupFriendships(long[] ids);
    ResponseList<Friendship> lookupFriendships(String[] screenNames);

    // IDs を取得するメソッド
    IDs getIncomingFriendships(long cursor);
    IDs getOutgoingFriendships(long cursor);
    IDs getNoRetweetIds();
}

今回はFriendship を更新・確認・削除するメソッドを見ていきます。

サンプル・コード

@Grab('org.twitter4j:twitter4j-core:[2.2.5,)')

import twitter4j.*

def twitter = new TwitterFactory().getInstance()
def targetUser = 'kurosakimaon'

// フォローする
twitter.createFriendship(targetUser)

// 第1引数のユーザーが第2引数のユーザーをフォローしているかどうかを返す
assert twitter.existsFriendship('waman10da', targetUser)

// フォローを解除する
twitter.destroyFriendship(targetUser)
  • サンプルでは使ってませんが、createFriendship() メソッドには第2引数に boolean 値を渡せるものもあります。 この第2引数はフォローしたことをフォロー相手に通知するかどうかを指定します(POST friendships/create)。

処理のイメージ図


createFriendship()

existsFriendship()

destroyFriendship()

twitter のサイト上では


createFriendship()
フォローしたいユーザーのプロフィールなどで・・・


destroyFriendship()
フォローしたいユーザーのプロフィールなどで・・・


Twitter API ポケットリファレンス (POCKET REFERENCE)

Twitter API ポケットリファレンス (POCKET REFERENCE)