2013-09-30 48 views
1

我想配置omniauth-Facebook来取用户朋友。Omniauth脸谱 - 取回朋友

这是我的配置:

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,我没有运气。

回答

2

info_fields选项仍然是新的,所以你将不得不等待omniauth-facebook宝石的new release

在此期间,你可以尝试改变你的Gemfile使用master分支:

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

至于调试,你可以从Facebook返回的信息中加入以下作为第一线的回调控制器:

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

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

+0

@biomancer,你的编辑被错误地拒绝了,但我仍然编辑了错字。谢谢! – Ashitaka