1

我正在尝试配置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,但我没有运气。

4

1 回答 1

2

info_fields选项仍然是新的,因此您将不得不等待omniauth-facebook gem的新版本。

同时,您可以尝试通过将 Gemfile 更改为:

gem 'omniauth-facebook', :github => 'mkdynamic/omniauth-facebook'

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

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

现在尝试登录,您将能够很好地查看返回的嵌套散列的散列。

于 2013-10-01T00:42:59.567 回答