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

时间:2015-03-02 09:35:17

标签: javascript node.js facebook facebook-graph-api passport.js

我正在使用passport.js在node.js中执行Facebook身份验证。一切正常,除了用户个人资料图片。我试过这些方法:

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。可能的解决办法是什么?

1 个答案:

答案 0 :(得分:0)

我设法解决了这个问题,但是以非常特殊的方式。 而不是使用

user.facebook.picture = 'https://graph.facebook.com/' + user.facebook.id + '/picture?height=350&width=250';
在passport.js配置中,我在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'
    });
});