Обновление в реальном времени внутренней ошибки сервера на Heroku с помощью Koala

Я пытаюсь создать подписку на обновления в реальном времени, используя гем 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]

Я чувствую, что я действительно близок. Любая помощь будет принята с благодарностью.


person Mark Anderson    schedule 05.10.2011    source источник
comment
Я также пробовал использовать: app_access_token для экземпляра @updates = Koala :: Facebook :: RealtimeUpdates.new (: app_id = ›APP_ID,: app_access_token =› APP_TOKEN) с теми же результатами.   -  person Mark Anderson    schedule 05.10.2011


Ответы (1)


Он не может обрабатывать оба запроса одновременно, если вы запустите @updates.subscribe("user", "feed", CALLBACK_URL, VERIFY_TOKEN) на локальной консоли, он будет работать.

person pjaspers    schedule 09.10.2011
comment
Спасибо за миллион, pjaspers, вот и все. У меня создалось впечатление, что мне нужно оформить подписку из производственной среды. Подход с использованием локальной консоли был ключевым. - person Mark Anderson; 10.10.2011
comment
А что, если я хочу сделать подписку динамически? - person fuzzyalej; 01.12.2011