【发布时间】:2018-02-07 06:00:14
【问题描述】:
我正在开发一个使用Twitter API REST 的网络应用程序。我有一个带有 Twitter 帐户的页面和一个用于添加新帐户的按钮。当按钮被按下时,Angular 控制器中的函数被执行:
// Calls token to add a new Twitter user
$scope.callToken = function () {
$http.get('/token')
.then(function (response) {
console.log(response);
});
};
这是后端服务请求的代码。它只是重定向到 Twitter 以添加新用户。
// routes.js
var token = express.Router();
token.route('/token')
.get(cuentasCtrl.getToken);
// Account file
exports.getToken = function(req, res) {
twitter.getRequestToken(function(err, requestToken, requestSecret) {
if (err)
res.status(500).send(err);
else {
_requestSecret = requestSecret;
res.setHeader('Access-Control-Allow-Origin', '*');
res.redirect("https://api.twitter.com/oauth/authenticate?oauth_token=" + requestToken);
}
});
};
但我得到下一个错误:
Origin 'http://localhost:3000' is therefore not allowed access Twitter API
我的服务器在 localhost:3000 上运行,如果我将 localhost:3000/token 放在浏览器中,则没有问题。我已经阅读了using CORS 的解决方案并测试了其他浏览器,但它对我不起作用。我做错了什么?
【问题讨论】:
标签: javascript angularjs node.js web twitter