gem twitte
を利用するとTwitterのAPIに簡単にアクセスできる。予め、consumer keyとaccess tokenの各keyを取得しているものとする。
gem
各APIキーをハードコードするとキーが漏洩してしまうので、.envに記載できるようdotenv-rails
も併せて導入しておく
gem 'twitter' gem 'dotenv-rails'
.env
.envファイルを作成し、APIキーを記述する
project/.env
TWITTER_CONSUMER_KEY = "****" TWITTER_CONSUMER_SECRET = "****" TWITTER_ACCESS_TOKEN = "****" TWITTER_ACCESS_TOKEN_SECRET = "****"
git管理している場合はignoreも忘れずに。 project/.gitignore
.env
twitterクライアントの初期化
各APIキーを与える。
def twitter_client return client = Twitter::REST::Client.new do |config| config.consumer_key = ENV["TWITTER_CONSUMER_KEY"] config.consumer_secret = ENV["TWITTER_CONSUMER_SECRET"] config.access_token = ENV["TWITTER_ACCESS_TOKEN"] config.access_token_secret = ENV["TWITTER_ACCESS_TOKEN_SECRET"] end end
APIへアクセス
API所有アカウントのタイムラインを取得
def index client = twitter_client @tweets = client.home_timeline end
出力例
ユーザ名 @id テキストを表示
<% @tweets.each do |tweet| %> <%= "#{tweet.attrs[:user][:name]} @#{tweet.attrs[:user][:screen_name]}" %> <p><%= tweet.attrs[:text] %></p> <% end %>
ドキュメント
おすすめのRuby本
リンク