Help us understand the problem. What is going on with this article?

RubyでTwitterのアカウント間の関係を取得する

More than 1 year has passed since last update.

はじめに

Twitterのフォロワーのみに閲覧を制限したコンテンツの作成を行えるアプリの開発時に必要となったので調査しました。

gemのインストール

gem install twitter

ソースコード

ユーザーAとユーザーBのスクリーンネームを引数とし、ユーザーAがユーザーBをフォローしていればtrue、していなければfalseを返す関数です。

def auth(A_screen_name,B_screen_name)
  require 'twitter'
  client = Twitter::REST::Client.new do |config|
    config.consumer_key        = TWITTER_API_KEY
    config.consumer_secret     = TWITTER_API_SECRET
    config.access_token        = OAUTH_TOKEN
    config.access_token_secret = OAUTH_SECRET
  end

  result = client.friendship(A_screen_name,B_screen_name)
  return result.source.following?
end

TWITTER_API_KEY,TWITTER_API_SECRETにはTwitterから取得したAPIキーを入力してください。
セキュリティの観点から環境変数に設定したものを参照する形にするべきです。
OAUTH_TOKEN,OAUTH_SECRETにはTwitterとのOAuth認証によって発行されたものを入力してください。

解説

client.friendshipメソッドはユーザー間の関係性を返します。

result = client.friendship(A,B)

上記のとき、result.source.following?はAがBをfollowしてる時にtrueになり、result.source.followed_by?はBがAをfollowしてる時にtrueになります。これでアカウント間の関係を取得することが出来ます。

詳細

こちらのブログに本記事の内容を応用した、Twitterのフォロワーのみに閲覧を制限したコンテンツの作成を行えるアプリの開発についての記事を書きました。

参考

Qiita - OmniAuthで認証した後に、tweetしたりfollowしたりする

retty
Retty株式会社はソーシャルメディア、スマートフォンを活かした「人を軸にお店を探せる」グルメサービスRettyを運営する会社です。
https://retty.me
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away