如何通过 API 从 facebook 获取用户信息?

How get user info from facebook via API?

我正在开发 API 以将 rails 应用与 Facebook 集成。

我只收到来自客户的:


{
  provider:     'facebook',
  user_id:      'USER_ID',
  access_token: 'ACCESS_TOKEN'
}

但如果用户未注册等,我需要创建用户并将其保存到数据库中。我有模型 userauthentication(用户有很多身份验证):


class User
  validate :first_name, :last_name, :email, 
           presense: true 

  has_many :providers
endd

class Authentication
  validate :provider, :user_id, :access_token, :refresh_token, :expires_at, 
           presense: true

  belongs_to :user
end

已创建 Facebook 应用程序并且所有权限均已正确设置。

问题:

要将经过身份验证的用户保存到数据库中 - 我需要所有字段。

问题:

如果我有 provideruser_idaccess_token, 我怎样才能获得额外的领域: emailfirst_namelast_namerefresh_tokenexpires_at

我应该提出哪个 API 请求?

您似乎在使用 oauth2。如果是这样,您应该可以使用 /me route. The graph api overview page 也很有帮助。

你考虑过omniauth吗?设置和扩展身份提供商非常容易 facebook, twitter, or google. If nothing else looking through the facebook omniauth gem 可能会帮助您。