facebook将访问代码放入网页

时间:2012-08-22 05:54:45

标签: ruby-on-rails facebook

尝试编写Facebook应用程序并尝试身份验证。这是rails 3.1应用程序

第一次重定向,我给facebook我的api,它返回一个代码似乎运行良好。但是,当我尝试从access_token中获取代码并“交换”时,我会遇到问题。

访问令牌出现在iframe的位置。

这是我的代码。

def index
#Load facebook.yml info
config = YAML::load(File.open("#{Rails.root}/config/facebook.yml"));
# setup client

redirect_to "https://graph.facebook.com/oauth/authorize?client_id=#{config['development']['app_id']}&redirect_uri=#{CALLBACK_URI}"

end
def callback

   logger.debug("c")
  config = YAML::load(File.open("#{Rails.root}/config/facebook.yml"));
  if (!params.key?('access_token'))
     logger.debug("A")
     redirect_to "https://graph.facebook.com/oauth/access_token?client_id=#    {config['development']['app_id']}&redirect_uri=#{CALLBACK_URI}&client_secret=#{config['development']['client_secret']}&code=#{params['code']}"
   return
 end
   logger.debug("B")
 access_token = params['access_token']
 @me = FbGraph::User.me(ACCESS_TOKEN)
 @name=@me.name

 end
 end

1 个答案:

答案 0 :(得分:0)

那个URL,所以每个人都很容易在那里发现它 - 你应该对该端点进行服务器端调用

文档明确这样说,https://developers.facebook.com/docs/authentication/server-side/

  

“用户授权您的应用后,您应该发出服务器端请求,以交换上面返回的用户访问令牌代码。”