我正在使用omniauth-facebook gem&设计宝石来完成我的网站(Rails网站(上的Facebook登录。使用Facebook登录时,我将请求电子邮件字段并将其保存在数据库中。到目前为止,一切正常。但是我发现有两种情况我无法收到电子邮件字段。
- 当用户通过电话注册Facebook 并尝试使用Facebook登录我的网站时,返回的电子邮件字段将为nil。
- 当用户通过电子邮件注册Facebook ,但拒绝授权期间的电子邮件许可时,返回的电子邮件字段将为nil。
我无法区分这两种情况,因为电子邮件都是零。有人遇到相同的问题并得到一个不错的解决方案或解决方法吗?
非常感谢:(
查看此请求和revoking
它有调用
GET /{user-id}/permissions
和响应
{
"data": [
{
"permission": "public_profile",
"status": "granted"
},
{
"permission": "publish_actions",
"status": "granted"
},
{
"permission": "user_friends",
"status": "declined"
}
]
}
从这里您可以轻松区分其电子邮件许可是否拒绝。
如果授予电子邮件许可&响应数据中没有任何电子邮件,它肯定是通过电话注册的情况