带有passport.js的Facebook Graph API v 2.2:个人资料图片返回undefined

问题描述:

我使用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

我设法解决这个问题,但以非常奇特的方式。 而是在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