区分Facebook电话注册和电子邮件许可之间的情况



我正在使用omniauth-facebook gem&设计宝石来完成我的网站(Rails网站(上的Facebook登录。使用Facebook登录时,我将请求电子邮件字段并将其保存在数据库中。到目前为止,一切正常。但是我发现有两种情况我无法收到电子邮件字段。

  1. 当用户通过电话注册Facebook 并尝试使用Facebook登录我的网站时,返回的电子邮件字段将为nil。
  2. 当用户通过电子邮件注册Facebook ,但拒绝授权期间的电子邮件许可时,返回的电子邮件字段将为nil。

我无法区分这两种情况,因为电子邮件都是零。有人遇到相同的问题并得到一个不错的解决方案或解决方法吗?

非常感谢:(

查看此请求和revoking

它有调用

GET /{user-id}/permissions

和响应

{
  "data": [
    {
      "permission": "public_profile",
      "status": "granted"
    },
    {
      "permission": "publish_actions",
      "status": "granted"
    },
    {
      "permission": "user_friends",
      "status": "declined"
    }
  ]
}

从这里您可以轻松区分其电子邮件许可是否拒绝。

如果授予电子邮件许可&响应数据中没有任何电子邮件,它肯定是通过电话注册的情况

最新更新