Ruby on rails 使用Desive和Facebook对具有特定权限的用户进行身份验证

Ruby on rails 使用Desive和Facebook对具有特定权限的用户进行身份验证,ruby-on-rails,facebook,ruby-on-rails-3,devise,Ruby On Rails,Facebook,Ruby On Rails 3,Devise,我有这个应用程序,Desive+Facebook认证可以工作,但我不断收到错误403,指出我需要Facebook或考拉的“读取流”权限 不,在我的开发箱中,它以我所拥有的方式工作得很好,将它投入生产并让其他用户参与,这就是问题所在。现在,我在中设置了以下内容: /initializers/designe.rb # ==> OmniAuth config.omniauth :twitter, ENV['TWITTER_KEY'], ENV['TWITTER_SECRET'] config.o

我有这个应用程序,Desive+Facebook认证可以工作,但我不断收到错误403,指出我需要Facebook或考拉的“读取流”权限

不,在我的开发箱中,它以我所拥有的方式工作得很好,将它投入生产并让其他用户参与,这就是问题所在。现在,我在中设置了以下内容:

/initializers/designe.rb

# ==> OmniAuth
config.omniauth :twitter, ENV['TWITTER_KEY'], ENV['TWITTER_SECRET']
config.omniauth :facebook, ENV['FACEBOOK_KEY'], ENV['FACEBOOK_SECRET'], :scope => 'email,user_actions.news,user_likes,read_stream,user_about_me,user_friends'
def facebook

  access_token = self.authorizations.where(:provider => 'facebook').collect(&:token).first
  @facebook ||= Koala::Facebook::API.new(access_token)

end
/models/user.rb

# ==> OmniAuth
config.omniauth :twitter, ENV['TWITTER_KEY'], ENV['TWITTER_SECRET']
config.omniauth :facebook, ENV['FACEBOOK_KEY'], ENV['FACEBOOK_SECRET'], :scope => 'email,user_actions.news,user_likes,read_stream,user_about_me,user_friends'
def facebook

  access_token = self.authorizations.where(:provider => 'facebook').collect(&:token).first
  @facebook ||= Koala::Facebook::API.new(access_token)

end
但是做

User.current.facebook.get_connection('me', 'home') 
Koala::Facebook::ClientError (type: OAuthException, code: 200, message: (#200) Requires extended permission: read_stream [HTTP 403]):
给了我错误

User.current.facebook.get_connection('me', 'home') 
Koala::Facebook::ClientError (type: OAuthException, code: 200, message: (#200) Requires extended permission: read_stream [HTTP 403]):

我获释后有什么变化吗?为什么dev可以很好地处理上述范围,而生产环境给出了错误。相同的代码,没有任何更改。

您或其他用户在生产中是否出错?您是否已获得读取流权限批准?您知道您将无法获得批准吗?对我来说是可行的,但其他用户会收到200错误,
需要扩展权限:read\u stream
。。。。为什么我不能得到批准?因为我是这么说的。出现错误的原因是权限未经Facebook批准,我明白了,所以从它的声音和文档来看,我的应用程序帐户或Facebook中的设置必须在我的应用程序可以请求之前进行审查。所以我的设置可能是正确的,只是Facebook拒绝了我的应用程序请求,因为我没有对它进行审核。我说的对吗?对。您可以向在应用程序中具有角色的任何人请求任何权限,但如果需要,您需要先向其他人请求权限,以获得批准