0

我正在尝试使用部署在 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]

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

4

1 回答 1

0

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

于 2011-10-09T17:29:09.403 回答