我正在尝试将用户重定向到请求访问用户信息权限的URL。Facebook和RoR:如何重定向到授权URL?
我与它的行动去下面的表单视图:
class AuthController < ApplicationController
def auth
@oauth = Koala::Facebook::OAuth.new("*id*", "*secret*", 'http://localhost:3000/auth/auth2')
address = @oauth.url_for_oauth_code(:permissions => "publish_stream")
puts "address #{address}"
redirect_to address
return
end
def auth2
end
end
在stdout
,地址显示为:Redirected to https://graph.facebook.com/oauth/authorize?client _id=*id*&redirect_uri=http://localhost:3000/auth/auth2&scope=publish_stream
如果我进入了我的浏览器这个URL独立的(而不是通过我的应用程序),我会进入应用程序请求权限的正确页面。但是,通过我的应用程序,我被带到显示Facebook徽标的页面,而不是请求权限的页面。
我希望看到权限页面,然后一旦用户允许,请求转发到我的redirect_uri。
Thanks Gats。我的画布类型是iframe而不是fbml。我正在做重定向服务器端。该文件说fb:重定向是针对传统的FBML应用程序。 – Mariam 2011-05-29 21:00:20
还有一件事要补充,我被重定向到一个带有Facebook图标和转到Facebook的链接的页面。点击该链接将我带到我的应用的授权页面。但我想直接去那里,而不是通过这个中间页面。 – Mariam 2011-05-29 21:27:16
不确定iframe的解决方案。我怀疑你需要看看检查一个用户是否是A:登录和B:已经授权,然后直接发送它们。如果用户登录到Facebook,我不知道你没有立即看到auth页面。对不起,我忍不住了。 – Gats 2011-05-29 21:30:41