質問: あるユーザーが自分をフォローしているかどうか手っ取り早く調べる方法って無いでしょうか? 公式の資料によると、`users`オブジェクトの`following`プロパティで自フォローされているか調べられます。 この値が`true`だったら自分をフォローしていると判断できるし、`friendships/create`でフォローした際のレスポンスを見れば良いので検証が出来てとても楽です。 ただ、**非推奨と書かれている**ため使用を躊躇します。 > > Nullable. Perspectival. Deprecated. When true, indicates that the authenticating user is following this user. Some false negatives are possible when set to “false,” but these false negatives are increasingly being represented as “null” instead. See Discussion. > > > それ以外の方法だと、`friends/ids`か`friends/list`を使う方法が考えられそうですが、これだと15分で15回しかリクエスト出来ませんし、フォローが数万人いるユーザーがrest apiでフォロー一覧を取得した場合、かなりの時間が掛かります。最高でも75000人以上だと時間を分けて検証しなければならなくなります。 それに、次々とフォローしていくような処理の場合、その都度フォローリストを更新するか、又は取得したフォローリストを書き換えて管理しなければならなくなります。 他に自分をフォローしているか手っ取り早く調べる術はないでしょうか?
回答: 実際に利用したことがないのですが、`friendship/lookup`で、あるユーザ(100人までまとめて指定可能)と自分の関係を参照できるようです。 ユーザごとに、connectionsに以下の値の配列が入っているので、 * following * following_requested * followed_by * none * blocking * muting この中のfollowed_byがあるか否かをチェックすれば、対象のユーザが自分をフォローしているかどうかが分かりそうです。 別の方法としては、`followers/list`で自分の全フォロワーのIDリストを配列に変換しておき、(PHPであれば) in_array()などでチェックしていく方法もあります。毎回APIを叩く必要もありませんし、素直なやり方ではあると思いますが、ご懸念の通り手元のリストを管理する必要は出てきます。 なお、Userオブジェクトのfollowingプロパティは、"indicates that the authenticating user is following this user"と書かれているので、恐らく目的のステータスとは逆で「自分がその人をフォローしているか否か」だと思われます。