« 06.05 終わりかけのフィエスタで | ココ | 06.12 カレーめぐり遠足の巻 »

2011年6月 6日

HerokuでFacebookアプリ作り(後編)  このエントリーを含むはてなブックマーク 

そんなこんなで、NetBeans(6.9.1)を使ってRailsアプリを作るわけですが。
Herokuのコマンドから生成したプロジェクトでは、scriptディレクトリの中身が空(!!!)になっていて、これがどういうことかというと、想像に難くはないでしょうが…プロジェクトのコンテキストメニューから「生成」をできない。script/generateがないのは辛い(どうやらこれはRails3での仕様変更)。ラッパー作ってくれると助かるのになぁ。このおかげでNetBeansからControllerとViewの生成がめんどいことに…。

あとrakeが使えないのも微妙に痛い。いつも「rake routes」でURLの確認をしてるのに…(heroku rakeコマンドは使えるけど、NetBeansからは見れない)。

ともあれ、Herokuで作るFacebookアプリ 第4回 Facebookとの認証の連携を参考に認証部分を作成。OAuth認証さえ実装できれば、あとはPHPで呼び出していたAPIをHTTPS通信で自前でやるだけなのでそんな難しいことはない。


認証の部分のコードはほとんどそのまま利用させてもらって、sessionが確立した後の動作にまず悩む。どういうことかというと、iframeでの起動をする場合にomniauthの認証では正常にパーミッションの許可画面が出てこない。普通なら、埋め込まれたiframe内に許可ボタンが出てくるのに、転送用の画面が出てくる。どうやら、iframe内にパーミッション許可が面を出すためには、アクセストークンが必要のようで、そのアクセストークンを指定するコードがomniauthでは実装されていない。・・・provider :facebook, "xxxxx", "xxxxx", :scope => "xxxxx", :iframe => true で最新版ではOKらしいんやけど、インストールしたoa-oauthではまだ使えない。

なもんで、iframeから強制的に画面全部を使うようにするように手を加えざるを得ず。ほんまは、iframeのままがええんやけどなぁ…。

認証を済ませた後のクエリーもうまくいくようになって、とりあえず自分のウォールの内容はうまく表示されるようになったからデプロイもしてみた。そしたら、gemの依存を記述したGemfileとGemfile.lockが合ってなくてpushできず…これでまた時間が潰れ、デプロイができたと思ったら、次は認証が済んだ後に不穏な画面が。

heroku logsコマンドでログを表示してみると、ソースコードにおかしなことはないようなのに、突然プロセスが終了してる…。

2011-06-01T17:38:40+00:00 app[web.1]: Rendered index.html.erb (1.9ms)
2011-06-01T17:38:40+00:00 app[web.1]: Completed 200 OK in 6ms (Views: 5.7ms | ActiveRecord: 6.4ms)
2011-06-01T17:38:40+00:00 heroku[router]: POST / dyno=web.1 queue=0 wait=0ms service=206ms bytes=1664
2011-06-01T17:38:40+00:00 heroku[web.1]: Stopping process with SIGTERM
2011-06-01T17:38:40+00:00 heroku[web.1]: Process exited

あっ、と気がついたのはsqlite3。これを使うようにしてると異常終了するらしい。というわけで、GemfileとGemfile.lockからsqlite3の行を消す。どういうわけか、Gemfileだけを書き換えてもGemfile.lockには反映されず、Gemfileで、group :development, :test do ~~ endがうまく動いていなかったという現象にも悩まされた。

というわけで、なんとかNews Feed Roll、動かせるようになった。なんかクセが微妙にあって慣れるまで大変そう。

※あと、OpenSSLのエラーらしき現象(OpenSSL::SSL::SSLError)で動かなかったところもあったけど、Facebookの認証のところでOpenSSL::SSL::VERIFY_PEER = OpenSSL::SSL::VERIFY_NONEを突っ込んで無理矢理回避した…。

By ただ at 06:53 カテゴリー ; プログラミングとか

« 06.05 終わりかけのフィエスタで | 06月の記事 | 06.12 カレーめぐり遠足の巻 »




トラックバック

このエントリーのトラックバックURL:
http://pinmarch.sakura.ne.jp/mt/mt-tb.cgi/1742