我正在尝试使用部署在 Heroku 上的 Koala gem 生成实时更新订阅。但是,当我运行以下命令时:
@updates = Koala::Facebook::RealtimeUpdates.new(:app_id => APP_ID, :secret => APP_SECRET) @updates.subscribe("user", "feed", CALLBACK_URL, VERIFY_TOKEN)
在 heroku 控制台,我得到:
! Internal server error
但是,当我检查我的 Heroku 日志时,我没有看到 500 错误。事实上,一切看起来都像是 hunky-dori:
heroku[路由器]: GET blah-blah-760.heroku.com/facebook_updates/dyno=web.1 queue=0 wait=0ms service=5951ms status=200 bytes=10
heroku[nginx]: 66.220.149.250 - - [05/Oct/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]
我觉得我真的很亲近。任何帮助将不胜感激。