Omniauth脸书 - 取友

时间:2013-09-30 16:31:10

标签: ruby-on-rails facebook omniauth ruby-on-rails-2

我正在尝试配置omniauth-facebook以获取用户朋友。

这是我的配置:

ActionController::Dispatcher.middleware.use OmniAuth::Builder do
    provider :facebook, "xxxxxx", "xxxxxxxx",
      :info_fields => 'friends'
end

我使用的是Rails 2.3。

我在视图中使用此代码:

<div id="contacts">

</div>
<script type="text/javascript" charset="utf-8">

  $('contacts').innerHTML = '<%= request.env['omniauth.auth'].keys %>';
</script>

我不确定为什么脚本没有被执行,但是当我复制时:

  $('contacts').innerHTML = 'infouidcredentialsextraprovider';

在页面加载后的控制台中,它可以用该文本替换div的内容。

浏览器控制台中没有错误消息。

为什么脚本没有被执行?我也尝试使用console.log,但我没有运气。

1 个答案:

答案 0 :(得分:2)

info_fields选项仍然是新的,因此您必须等待new release宝石的omniauth-facebook

与此同时,您可以通过将Gemfile更改为:

来尝试使用master分支
gem 'omniauth-facebook', :github => 'mkdynamic/omniauth-facebook'

至于调试,您可以通过添加以下内容作为回调控制器的第一行来获取从Facebook返回的信息:

raise request.env["omniauth.auth"].to_yaml

现在尝试登录,您将能够很好地了解返回的嵌套哈希的哈希值。