我正在尝试配置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,但我没有运气。
答案 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
现在尝试登录,您将能够很好地了解返回的嵌套哈希的哈希值。