【发布时间】:2015-07-27 00:30:21
【问题描述】:
我可以不再用Omniauth取回电子邮件信息。
我认为问题出在 API 2.4,
但我不知道我怎么能得到预期的信息
设计配置
config.omniauth :facebook, ENV['FACEBOOK_KEY'], ENV['FACEBOOK_SECRET'], {
:scope => 'email',
:info_fields => 'id,email,gender,link,locale,name,timezone,updated_time,verified',
strategy_class: OmniAuth::Strategies::Facebook,
:provider_ignores_state => true}
返回的信息不包括电子邮件信息
:1> env['omniauth.auth']
{
"provider" => "facebook",
"uid" => "xxxx",
"info" => {
"name" => "Eric Hsu",
"image" => "http://graph.facebook.com/xxxx/picture?type=square"
},
"credentials" => {
"token" => "CAAh",
"expires_at" => 1443066205,
"expires" => true
},
"extra" => {
"raw_info" => {
"name" => "Eric Hsu",
"id" => "xxxx"
}
}
}
【问题讨论】:
-
必须在实际发出的 Graph API 请求中通过
fields参数请求这些字段。如果omniauth 没有向您公开该部分,那么您将不得不等待他们更新他们的代码。 -
我像你一样添加了 info_fields,它成功了,谢谢。
标签: facebook devise omniauth omniauth-facebook