レビューログレビューログApple製品(Mac,iPhone,iPad)が多めのガジェットレビューサイト。プログラミング(PHP,Laravel,Ruby,Rails)習得中。タイムライン週末プログラミング、皆さんやっていますか?こんにちは。RailsでTwitterやFacebook、Instagramといった各種SNSのapiを叩き、oauth認証機能を利用したりタイムラインを引っ張ってきたりするプログラムを書いています。後々は同じインターフェース内で全てのSNSのタイムラインを表示させるサービスを完成させる予定ですが、それまでの機能的な部分を切り取ってご紹介しています。apiを利用してoauth認証・タイムラインを表示する週末プログラミングの時間がやってまいりました。apiは非常に利用制限が厳しく、15分間に15回までしか叩けない場合もあります。Railsの場合gemを導入して簡単に実装するのが良いのですが、いかんせん多すぎてどれが良いのかよく分かりません。僕の環境で動いた一例として、以下をお読みください。'omniauth-twitter'これらは問答無用で入れておきましょう。それぞれのメソッドが何をしているのか理解するために導入したgemのソースコードの中身を確認しておくことは必要です。Rails.application.secrets.twitter_consumer_secretendomniauth.rbにtwitterのconsumer_keyやconsumer_secretを設定してもいいのですが、それらはsecrets.ymlに格納しておくのがイケてる(らしい)です。apiを叩く時に必要なconsumer_keyとconsumer_secretの取得方法を以下に紹介します。Twitter開発者用ページ(https://dev.twitter.com/)にアクセス!以下の白枠内をクリックすると、自分のappsページに飛べます。(これマジで分かりにくくて毎度探すのに時間かかるんだけど、Twitterさん何とかして)次に、自分専用のアプリを登録します。次はアプリの名前や説明、リダイレクト先等を入力しましょう。URLを適切に書かないと動作しません。)最後にconsumer_keyとconsumer_secretを確認しましょう。上記2項目をsecrets.ymlに書き込みましょう。ちなみにpermissionは今は気にしなくてOKです。Writeに設定しておけば良いでしょう。不要なpermissionは要求しないようにするのがマナーです。fulなルーティングが分かっていません。参考程度にしてください。←api叩くと/auth/twitter/callbackにリダイレクトされます。session生成しています。end一応簡易的なサインインとサインアウト機能作っておきました。sessions_controller.rbでログインもどきの動き入れました。URLがtwitterからのリダイレクトURLの場合、sessionにアクセストークンを格納する。↑これセキュリティー上ダメかな。endend内容としてはシンプルで、上記のコードで簡単にoauth認証を実装できています。