在我开始之前,我应该说我已经阅读并尝试了许多针对我的问题的建议解决方案,但没有一个解决了它,所以我要再次询问并且非常具体。
我正在使用omniauth 1.1.4 omniauth-facebook 1.4.0和koala 1.7.0rc1将facebook登录集成到rails 4应用程序中,以与图形API进行交互。我正在按照这个铁路广播中的方式进行操作。
我的问题是,当我像这样通过考拉请求用户的 Facebook 朋友时
@current_friends = graph.get_connections('me', 'friends?fields=location,name,id')
返回的好友哈希不包含任何location
字段。我尝试更新我的咖啡脚本登录调用,例如:
$('#fb_login').click (e) ->
e.preventDefault()
FB.login ((response) ->
window.location = '/auth/facebook/callback' if response.authResponse), scope: "friends_location"
但这并没有做任何事情。然后我尝试在我的 facebookomniauth 初始化程序中传递一个 scope 参数,修改咖啡脚本,但不这样做:
provider :facebook, ENV['FACEBOOK_APP_ID'], ENV['FACEBOOK_APP_SECRET'], :scope => 'friends_location'
没有不同。我尝试完全删除咖啡脚本并允许完全重定向;我尝试在服务器端和客户端之间切换应用程序的 facebook 控制台上的Auth Token Parameter字段;我基本上尝试了这些东西的所有组合,但仍然没有。最后,我应该注意,当我打电话时
graph.get_connections('me', 'permissions')
返回的权限列表有friends_location=1
. 那么发生了什么?