RubyでTwitter APIを叩いてみる
はじめに
Twitter APIを使用したRailsアプリを作成しており、初めてAPIを叩いたので自分用の備忘録。
試験的にRailsアプリではなくRubyプログラムでAPIを叩いてみました。
Twitter APIの申請
APIの利用には、Twitterアカウントを開発者として登録することと、APIを使用したいアプリの登録の2つが必要になります。
僕は事前にアプリ開発用のTwitterアカウントを新たに作成し、以下のページから必要事項を入力して申請ました。
詳しい入力内容等は、少し古いですが以下のページを参考にしました。
- Twitterアカウントでログインできるようにする - 他サイトID連携 -
- Twitter API 登録 (アカウント申請方法) から承認されるまでの手順まとめ ※2019年8月時点の情報 - Qiita
申請後、API KeyとAPI Secretが発行されるので、それをメモ。
また、Access TokenとAccess Token Secretを発行できるようになるので、発行し、メモ。
Twitter gemでAPIを叩く
これをインストールし、Rubyプログラム内で使用する。
今回は「いいね」したツイートを取得したいので、以下のようにコードを書きました。
require "pp" require "twitter" 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 Token Secret" end # 「いいね」したツイートの配列 pp client.favorites
結果は以下の通り。IDは適当。
[#<Twitter::Tweet id=1>, #<Twitter::Tweet id=2>, #<Twitter::Tweet id=3>, #<Twitter::Tweet id=4>]
各々のツイートの情報を取得してみる。
favs = client.favorites favs.each do |fav| # ツイートの情報一覧 pp fav.attrs # ツイートのURL puts fav.url # ツイートしたユーザーのアイコン画像 puts fav.attrs[:user][:profile_image_url_https] end
実行結果に関して、fav.attrs
は文字数が多いのでここでは割愛しますが、ツイートの情報、そのツイートをしたユーザーの情報など、かなり大量の情報がjson形式で返ってきました。
fav.attrs
以外の実行結果は以下のよう。
# ツイートURL https://twitter.com/ユーザー名/status/ツイートID # ツイートしたユーザーのアイコン画像 "https://pbs.twimg.com/profile_images/hoge/fuga.jpg"
こんな感じで、自分の取得したい情報を取得できました。
あとはこれをRailsアプリに落とし込んでいこうと思います。