はじめに
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のフォロワーのみに閲覧を制限したコンテンツの作成を行えるアプリの開発についての記事を書きました。