【Ruby】TwitterAPIで特定のワードを呟いてる人をフォローする方法
RubyでTwitterのAPIを叩いて特定のワードを含んだツイートを取得し、そのツイートを呟いたユーザをフォローするプログラムを書いていきます。
環境
実装手順
Twitterのapiを使うのに便利なTwitter gemをインストール
gem install twitter
Twitterのアプリ登録
Twitter Developers でアプリ登録をする。
ログイン → 右上 の[My Applications] → [Create a new application]アプリの設定
- Name:任意
- Description:任意
- Website:適当なURL
- Callback URL:適当なURL
※WebsiteとCallbackURLはhttp://localhost:3000 だとエラーになるので、https://www.google.co.jpでも何でもいいのでURLを入力してください。
設定
client = Twitter::REST::Client.new do |config| config.consumer_key = "API key" config.consumer_secret = "API secret" config.access_token = "ユーザのaccess token" config.access_token_secret = "ユーザのaccess secret" end
Tweetを取得し、つぶやいたユーザをフォロー
# 「バルス」を含むつぶやきを15件取得し、フォロー client.search("バルス").take(15).each do |tweet| client.follow(tweet.user.id) end # @justinbieberへのリプで、「marry me」を含むつぶやきを15件取得し、フォロー client.search("to:justinbieber marry me").take(15).each do |tweet| client.follow(tweet.user.id) end # 「#ruby」を含むつぶやきで日本語のものを15件取得し、フォロー client.search("#ruby", lang: "ja").take(15).each do |tweet| client.follow(tweet.user.id) end
ちなみにTwitterのAPIの仕様上、15分につき15人までしかフォロー出来ないので注意して下さい。 以上です。お疲れさまでした!!