2015-07-21 93 views
2

我在Rails的api應用程序中工作,並從客戶端接收訪問令牌,並且必須使用該令牌發出請求才能檢索電子郵件,first_name和last_name。在控制器:如何使用fb_graph2從facebook中檢索用戶的電子郵件,名字和姓氏?

def create 
    begin 
     fb_response = FbGraph2::User.me(params[:access_token]).fetch 
     user = User.find_by(email: fb_response.email) 
     if user.nil? 
     user = User.create(email: fb_response.email, first_name: fb_response.first_name, 
          last_name: fb_response.last_name, password: Devise.friendly_token[0,20]) 
     status = :created 
     else 
     status = :ok 
     end 
     render json: { token: user.authentication_token }, status: status 
    rescue FbGraph2::Exception => e 
     raise_api_error(ApiError.new(ApiError::INVALID_OAUTH_TOKEN)) 
    end 
    end 

fb_response只配備了idname。 (令牌有權訪問電子郵件)。

+0

你需要詢問你想要的字段。閱讀API v2.4的更新日誌 – WizKid

+0

您能否舉例說明如何使用fb_graph2詢問我想要的字段? – Madalina

+0

我對FBGraph2一無所知 – WizKid

回答

2

轉換我的評論回答:

你需要插入在獲取方法字段如下:

user = FbGraph2::User.me(params[:access_token]).fetch(fields: [:name,:email, :first_name, :last_name]) 

你會得到你的領域陣給了場。

相關問題