2015-03-02 88 views
0

我使用passport.js在node.js中執行Facebook身份驗證。一切正常,除了用戶個人資料圖片。我嘗試這些方法:帶有passport.js的Facebook Graph API v 2.2:個人資料圖片返回undefined

user.facebook.picture = profile.user_photos[0].value; 

user.facebook.picture = 'https://graph.facebook.com/' + user.facebook.id + '/picture?height=350&width=250'; 

,並且還加入訪問令牌:

user.facebook.picture = 'https://graph.facebook.com/' + user.facebook.id + '/picture?height=350&width=250' + "&access_token=" + user.facebook.token; 

然而,在客戶方的Facebook圖片返回undefined。可能的解決方案是什麼?

+0

能否請你檢查什麼你得到的* graph.facebook.com/{ UserProfileId}/picture * uri – 2015-03-02 12:31:30

+0

我正在得到我需要的東西。不知何故,你的問題推動我嘗試另一種選擇,謝謝你的提示 – vitalym 2015-03-02 14:26:23

回答

0

我設法解決這個問題,但以非常奇特的方式。 而是在passport.js配置中使用

user.facebook.picture = 'https://graph.facebook.com/' + user.facebook.id + '/picture?height=350&width=250'; 

的,我在那樣routes.js定義圖片:

app.get('/profile', isLoggedIn, function(req, res) { 
    res.render('profile.ejs', { 
     user : req.user, 
     picture: 'https://graph.facebook.com/' + req.user.facebook.id + '/picture?height=350&width=250' 
    }); 
}); 
+0

我想這個問題與* ejs *模板的請求本地化*有關,而不是來自fb護照。 – 2015-03-03 07:08:27

相關問題