Я использую Rails 3 + Devise 1.5 + OmniAuth через гем omniauth-facebook, чтобы пользователи могли подписаться на мое приложение через Facebook.
У меня все работает гладко, за исключением того, что время от времениУ меня есть кто-то, кто подписался на мое приложение через Facebook, и хэш аутентификации не содержит электронную почту пользователя (хотя он включает в себя много других атрибутов.) Опять же, большую часть времени я получаю электронную почту, но почему не включены некоторые извремя?Есть ли способ для пользователя настроить свои настройки конфиденциальности Facebook таким образом, чтобы мое приложение могло получать всю информацию, такую как имя, пол и часовой пояс, но не электронную почту?Я попытался сделать свою собственную электронную почту в своем профиле Facebook приватной, но я все еще смог войти в свое приложение через Facebook.
Вот пример полученного хэша, в котором пропущено электронное письмо (фактическая информация подверглась цензуре):
"name" => "XXXX XXXXXX", "first_name" => "XXX", "last_name" => "XXXXXX", "image" => "http://graph.facebook.com/XXXXXXXXX/picture?type=square"," urls "=> {"Facebook" => "http://www.facebook.com/XXXXXXXX"}}, "учетные данные"=> {" маркер "=>" XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX», "expires_at"=> 1329364800, "истекает"=> верно}, "лишние"=> { "raw_info"=>{"id" => "XXXXXXXX", "name" => "XXXX XXXXXX", "first_name" => "XXXX", "last_name" => "XXXXXX", "link" => "http://www.facebook.com/XXXXXXXXX"," username "=> "XXXXXXXXX", "sex" => "female", "timezone" => - 5, "locale" => "en_US", "verify" => true, "updated_time" => "2012-02-15T00: 01: 23 + 0000 "}}}
Заранее большое спасибо!