我尝试使用Angular,Node.js和node-linkedin npm模块从LinkedIn API访问用户个人资料信息。我已完成前两部分(获取代码,并获取access_token)。所以,我现在已经对我的用户进行了身份验证,并且我有了access_token,但我无法弄清楚如何在我的HTTP请求中发送该令牌以提取其配置文件数据。
所以我的前三条路线看起来像这样(它们在控制器中,它们都得到了请求):
linkedInReq: function(req, res){
Linkedin.auth.authorize(res, ['r_basicprofile']);
},
linkedInCallback: function(req, res){
Linkedin.auth.getAccessToken(res, req.query.code, function(err, results){
if(err) throw err;
var user = new User({
linkedin: JSON.parse(results)
});
user.save();
res.redirect('/main');
});
},
getMain: function(req, res){
res.render('main');
},
这项工作正常,并且'结果'在linkedInCallback路由中包含访问令牌(user.linkedin)。现在,我有最后一条路径来请求如下所示的用户配置文件数据:
getProfile: function(req, res){
var linkedin = Linkedin.init(access_token_goes_here);
linkedin.people.me(function(err, $in){
res.send($in);
});
}
我遇到的问题是如何获取用户的访问令牌,以便将其传递给Linkedin.init方法。 getProfile路由被连接到我的控制器的工厂中的Angular $资源命中。我已经尝试过我能想到的所有可能的解决方案,但我感到很茫然。这是我第一次尝试与oauth建立API连接。