2014年2月25日火曜日

rails4 twitter APIを操作する その1 herokuへアプリをdeployする

railsでtwitter APIを扱いたかったのでメモ

環境

  • rails(ruby2.1.0, rails4.0.3)でアプリの雛形を作成済

やりたいこと

  • 自分のtimeLineを取得
  • 特定のtweetデータを取得
  • tweetデータをDBに格納
  • DBからデータを呼び出してviewに表示

やり方を調査すると意外と面倒なことが判明。必要なのは以下の処理。

  • Stream APIでtwetterのtimelineを取得
  • REST APIでtwetterのtweetを取得してjsonで取得
  • jsonをMongoDBに取得
  • MongoDBからrailsでデータを取得してviewに表示

というわけで、一歩一歩進めていく。
まずはtwiterAPIはローカル(localhost)で動かすことができないので、作成したアプリのモックをheroku上で動作させる。
herokuへアプリをuploadするにはgitが必要なので、プロジェクトをgitにcommitする。

また、rails4をheroku上で動かすにはrails_12factorのGemが必要なのでGemfileに追加し、bundle updateをあらかじめ行う必要がある。

Gemfile変更

 
 group :production do
   gem 'rails_12factor'
 end

bundle install後、上記の変更をしたら、プロジェクトをgitに登録

 
 cd {projectname}
 git init 
 $ git add -A
 $ git commit -m 'Initial commit'

gitignoreもついでに設定しておく

 
 vi .gitignore
 
 // 以下を追記
 # Innore DS_Store
 .DS_Store
 
 // commit
 git add .gitignore
 git commit -m ".gitignore add DS_Store"

herokuに接続

ターミナルからherokuにloginします。今回の環境はproductionにuploadします。

 
 // login
 heroku login 

 // 作成
 heroku create --stack cedar
 Creating xxxxxxxxxxxxxxxxx... done, stack is cedar
 http://xxxxxxxxxxxxxxxxx.herokuapp.com/ | git@heroku.com:xxxxxxxxxxxxxxxxx.git

push


 git push heroku master
 http://xxxxxxxxxxxxxxxxx.herokuapp.com/deployed to Heroku

きっちりと設定されていれば、上記のhttp://xxxxxxxxxxxxxxxxx.herokuapp.com/にアクセスすることで画面が表示されるはずです。
エラーがでた場合は、エラーに従ってアプリを修正します。
よくアプリの登録時に発生するエラーは以下の通りです。

  • Precompiling assets failed.
  • sqlite3がgemに残っている
  • 本番にpgのgemが入ってなくて、Precompilingに失敗
  • Gemfileは変更したのに、bundle updateを行っていなくてGemfile.lockが未変更のままである。もしくはcommitしていない
上記のミスがある場合には、コンソールの説明に沿って修正して、もう一度pushします。

以上でherokuへのdeployは完了です。

追記

久しぶりにherokuをいじったら、アプリのuploadの上限が5つまでになっていました。5つ以上アプリをあげる場合は、クレジットカードの登録が必要になったようです。まあ、ゴミサンプルアプリが反乱しているから、仕方ないですね。さくらVPSでもレンタルしようか思案中。
でわ


参考サイト

この記事がお役にたちましたらシェアをお願いします

このエントリーをはてなブックマークに追加

0 件のコメント:

コメントを投稿

Related Posts Plugin for WordPress, Blogger...