Rails+React with webpacker twiiter認証してタイムライン表示

TwitterでOmniAuthやってみたのでメモしておきます.

 

Twitter認証とタイムライン表示

下記サイトを参考にしました.

reviewlog.info 

導入したgemは

 

基本的に上記サイトの通りでやりました. omniauth入れておくと, auth/twitterにリンク飛ぶとよく見るtwitter認証画面に飛びます. で, 認証するとcallbackで指定したリンクに飛ぶと...

 

つまったこととしては, twitter development(https://developer.twitter.com/)サイトのアプリ登録のとこですね. 

 

アプリ登録する際, CallbackURLを設定しますが, 上記サイト通りのルーティングだとhttp://127.0.0.1:3000/auth/twitter/callbackにしないといけません. localhostは拒否られます.

で, localで作業するとき,localhost:3000とかするとコールバックしたときにエラー吐かれるので, 最初からhttp://127.0.0.1:3000にアクセスしないといけませんでした.

 

今後

twitterプロフィール画像とかも取得したいと思います. あとdeviseとも連携させたいな.

 

追記

client = Twitter::REST::Client.new do |config|
config.consumer_key = Rails.application.secrets.twitter_consumer_key
config.consumer_secret = Rails.application.secrets.twitter_consumer_secret
config.access_token = session[:oauth_token]
config.access_token_secret = session[:oauth_token_secret]
end

した場合, ユーザの基本的な情報は,

client.user.********

の********に下記サイトのやつを引っ張ってくれば良い.

GET account/verify_credentials — Twitter Developers

 (ex.) id なら client.user.id