2011-10-05 66 views
0

我的问题是在Facebook的回调URL。我在Rails 3.0上使用fbgraph gem。错误与Facebook访问令牌

我要求我的选项卡应用程序的扩展权限。所以在回调函数中,我等待代码参数和access_token。

我从fbgraph官方GIT存储库中提取此代码。

def authorize 
     begin 
      @auth.client.authorization_code = params[:code] 
#In access_token line should return me access__token but throw a error message (see below) 
      access_token = @auth.client.access_token! # => Rack::OAuth2::AccessToken 
      @facebook_user = FbGraph::User.me(access_token).fetch # => FbGraph::User 
    #MORE CODE WITHOUT IMPORTANCE 
      redirect_to :controller => "dashboard", :action => "index" 
     rescue Exception => e 
      logger.info(e.message) 
     end 
     end 

抛出此错误消息:

架:: OAuth的客户:: ::错误#=> @status = 400,消息=>缺少重定向URI

请我急需帮助。对不起,并提前感谢

回答

1

我使用的是类似的fb_graph宝石。为了得到您还需要提供回调的URI的access_token - 这是fb_graph版本:

client.redirect_uri = "http://your.callback.uri" 
client.authorization_code = params[:code] 
access_token = client.access_token! 

更新:

望着fbgraph宝石文档我想你需要更换这两行:

@auth.client.authorization_code = params[:code] 
access_token = @auth.client.access_token! 

有了这个:

access_token = @auth.client.authorization.process_callback(params[:code], :redirect_uri => callback_url) 

说实话,我看了t使用fbgraph gem,但是文档非常糟糕,我转而使用fb_graph,它与文档中的类似,实际上有一些有用的示例。

+0

非常感谢你 – maxiperez