神宮・赤坂・皇居(14km)

on 2011/11/21 - 0 Comments -

ペースに気をつければ結構走れるようになってきた。
プロテインほしい。

11月:36km

Google App Engine で Datastore Read Operations あふれ

on 2011/11/20 - 1 Comments -

最近更新リストがよく死んでいた件です。

Google App Engine の Datastore Read Operations の制限回数が厳しくなったのが直接の原因で、今までの処理ロジックだとその制限にかかってしまい、毎日朝から夕方までずっとエラーを表示してました。

Datastore Read Operations の回数が半分になればよさそうだったので、キャッシュの期間を延ばして Datastore へのアクセスが半分以下になるように修正しました。

更新リストへの反映が少し遅くなりますが、これでしばらくは大丈夫なはず。

ご不便おかけしてすいませんでした。

神宮・赤坂(11km)

on 2011/11/13 - 0 Comments -

調子としてはまあまあだがキレが全くなし。
平日も1日くらい走りたい。

11月:22km

神宮・赤坂御用地(11km)

on 2011/11/07 - 0 Comments -

上半身がついてこない感じが最近顕著。要筋トレ
そろそろ 20km くらい走りたい。
11月:11km

OmniAuth + Facebook + iframe で画面遷移がおかしい件

OmniAuth を使って Facebook の認証まわりを実装した場合、:iframe => true をつけないと iframe 内でも Go to Facebook リンクの画面が表示されてしまう。

# もう Facebook にいるのですぐに認可画面を表示してほしい、という話

こんな感じで :iframe => true を追加してあげればよさげ。


config/initializers/oa-oauth.rb
Rails.application.config.middleware.use OmniAuth::Builder do
  provider :facebook , FB_APP_ID, FB_APP_SECRET, :scope => 'status_update, publish_stream', :iframe => true
end




あと OmniAuth を使った場合、認可完了後のリダイレクト先が iframe 内のバックエンドのサーバー(僕の場合は Heroku )に直に向いてしまって、Facebook から別のサイトへ移動するという動きになってしまう。

OmniAuth.config.full_host を指定してあげればいいとかこのへんに書いてあるけど、Facebook では API の呼び出し元サイトの URL が事前登録してあるバックエンド( Heroku )の URL と一致している必要があるので、そもそも OmniAuth.config.full_host を Facebook アプリの URL にすることができないです。

# OmniAuth.config.full_host に Facebook のアプリの URL を指定すればよさそうだけど、API の呼び出しがそもそもできなくなる、という話

しょうがないので認可完了後にアプリページ全体をリロードするよう実装しました。ださいけど。


app/controller/session_controller.rb
redirect_to "http://apps.facebook.com/XXXXXXXXXXXXXX/"