【问题标题】:Omniauth facebook - fetch friendsOmniauth facebook - 获取朋友
【发布时间】:2013-09-30 16:31:10
【问题描述】:

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

【问题讨论】:

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


    【解决方案1】:

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

    与此同时,您可以尝试通过将 Gemfile 更改为来使用 master 分支:

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

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

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

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

    【讨论】:

    • @biomancer,您的编辑被错误地拒绝了,但我还是编辑了错字。谢谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-09-10
    相关资源
    最近更新 更多