使用mocha测试facebook应用程序
我正在开发一个使用Facebook登录的node.js应用程序,我正在尝试使用mocha进行单元测试和集成测试。因此,在函数中,我使用以下代码登录:使用mocha测试facebook应用程序,facebook,node.js,mocha.js,facebook-test-users,Facebook,Node.js,Mocha.js,Facebook Test Users,我正在开发一个使用Facebook登录的node.js应用程序,我正在尝试使用mocha进行单元测试和集成测试。因此,在函数中,我使用以下代码登录: exports.loginFacebook = function (done){ request({uri:"https://graph.facebook.com//oauth/access_token?client_id={app-id}&client_secret={app-secret}&grant_type=client_c
exports.loginFacebook = function (done){
request({uri:"https://graph.facebook.com//oauth/access_token?client_id={app-id}&client_secret={app-secret}&grant_type=client_credentials",
method: "GET",
timeout: reqOpts.timeout},
function(err, res, body) {
if(err){
throw err;
}
else{
uri2 = "https://graph.facebook.com/APP_ID/accounts/test-users?"+String(body);
request({uri:uri2,
method: "GET",
timeout: reqOpts.timeout},
function(err, res, body) {
if(err){
throw err;
}
else{
login_url = JSON.parse(body).data[0].login_url
console.log(login_url);
request({uri:login_url,
method: "GET",
timeout: reqOpts.timeout},
function(err, res, body) {
if(err){
throw err;
}
else{
request('http://localhost:4004/auth/facebook', reqOpts, function(err, res, body2) {
//console.log(res.statusCode)
//console.log(err)
done()
});
}
});
}
});
}
});
};
基本上,我调用facebookapi来获取访问令牌,然后列出我的测试用户,最后使用第一个用户登录。问题:当我调用登录url时,Facebook会重定向到此网页:(“更新您的浏览器”),因此我无法正确登录
有什么办法解决这个问题吗
谢谢 尝试在传递给请求的选项中设置用户代理标头。我不知道这个函数实际上是什么,但文档应该说明如何设置标题。你可以使用“Mozilla/5.0(Windows NT 6.2;WOW64)AppleWebKit/537.36(KHTML,如Gecko)Chrome/29.0.1547.2 Safari/537.36”这样的用户代理,这将使facebook的服务器确信该请求来自新版本的Chrome。问题是否与此有关?