2011-10-05 34 views
0

我试图使用部署在Heroku上的考拉宝石生成实时更新订阅。然而,当我运行以下命令:使用考拉实时更新Heroku上的内部服务器错误

@updates = ::考拉实:: RealtimeUpdates.new(:APP_ID => APP_ID,:秘密=> APP_SECRET) @ updates.subscribe( “用户”,“喂”,CALLBACK_URL,VERIFY_TOKEN)

在Heroku的控制台,我得到:

! Internal server error 

然而,当我检查我的Heroku的日志,我没有看到一个500错误。事实上,一切都显得虎背熊腰,脚蹬大道:

的Heroku [路由器]: GET blah-blah-760.heroku.com/facebook_updates/赛道= web.1队列= 0等待= 0毫秒服务= 5951ms状态= 200个字节= 10

的Heroku [nginx的]: 66.220.149.250 - - [05月/ 10月/ 2011:11:55:11 -0700]“GET /facebook_updates/?hub.mode=subscribe &毂。 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] 

我觉得我真的很接近。任何帮助将不胜感激。

+0

我也尝试使用:app_access_token作为@updates = Koala :: Facebook :: RealtimeUpdates.new(:app_id => APP_ID,:app_access_token => APP_TOKEN)实例化的结果。 –

回答

0

它不能同时处理这两个请求,如果您在本地控制台上运行@updates.subscribe("user", "feed", CALLBACK_URL, VERIFY_TOKEN)它将工作。

+0

非常感谢,百万,pjaspers,就是这样。我的印象是我需要从生产环境进行订阅。本地控制台方法是关键。 –

+1

如果我想动态订阅,该怎么办? – fuzzyalej