2011-10-05 65 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