Я пытаюсь создать подписку на обновления в реальном времени, используя гем Koala, развернутый на Heroku. Однако, когда я запускаю следующее:
@updates = Коала :: Facebook :: RealtimeUpdates.new (: app_id = ›APP_ID,: secret =› APP_SECRET) @ updates.subscribe (пользователь, канал, CALLBACK_URL, VERIFY_TOKEN)
на консоли heroku я получаю:
! Internal server error
Однако, когда я проверяю свои журналы Heroku, я не вижу ошибки 500. На самом деле все кажется добродушным:
heroku [router]: ПОЛУЧИТЬ blah-blah-760.heroku.com/facebook_updates/ dyno = web.1 queue = 0 wait = 0ms service = 5951ms status = 200 байт = 10
heroku [nginx]: 66.220.149.250 - - [05 / октября 2011: 11:55: 11 -0700] GET /facebook_updates/?hub.mode=subscribe&hub.challenge=1234567890&hub.verify_token=XXXXXXX HTTP / 1.0 200 10 - facebookplatform / 1.0 (+ http: //developers.facebook.com) blah-blah-760.heroku.com
Когда я вставляю запрос GET в браузер, он правильно отображает параметр hub.challenge.
Мой контроллер выглядит следующим образом:
class FacebookUpdatesController < ApplicationController
layout nil
def index #this method responds to the Facebook GET
logger.info "about to meet challenge"
render :text => Koala::Facebook::RealtimeUpdates.meet_challenge(params, VERIFY_TOKEN)
end
def create #this method responds to POST messages
logger.info params
end
end
Мои маршруты настроены следующим образом:
resources :facebook_updates, :only => [:create, :index]
Я чувствую, что я действительно близок. Любая помощь будет принята с благодарностью.