Javascript Twitter流API返回401
我正在使用Node.js的节点模块来尝试跟踪我正在编写的应用程序的某些hashtag,除了一个错误“error:Bad Twitter streaming request”之外,我没有从Api中得到任何东西。据我所知,我已经遵循了文档,但我显然遗漏了一些东西 以下是代码,其中有一些经过编辑:Javascript Twitter流API返回401,javascript,node.js,twitter,Javascript,Node.js,Twitter,我正在使用Node.js的节点模块来尝试跟踪我正在编写的应用程序的某些hashtag,除了一个错误“error:Bad Twitter streaming request”之外,我没有从Api中得到任何东西。据我所知,我已经遵循了文档,但我显然遗漏了一些东西 以下是代码,其中有一些经过编辑: var express = require('express'); var app = express(); app.set('view engine', 'ejs'); app.use(express
var express = require('express');
var app = express();
app.set('view engine', 'ejs');
app.use(express.static('public'));
app.get('/', function(req, res) {
res.render('pages/index');
});
var http = require('http').createServer(app);
http.listen(80);
var io = require('socket.io').listen(http);
var twitterApi = require('twit');
var twitter = new twitterApi({
consumer_key: '***',
consumer_secret: '***',
app_only_auth: true
});
var stream = twitter.stream('statuses/filter', {track: '#twitter'});
stream.on('tweet', function(tweet){
console.log(tweet);
});
我正在通过Vagrant开发Ubuntu虚拟机,如果这有什么区别的话?你的API认证正确吗?401通常与未经授权的请求一起返回,因此我猜它一定与您的API凭据一起返回。您没有提供访问令牌和访问令牌密钥是的,我已仔细检查了应用程序的凭据是否正确。我在一些地方看到我必须通过https连接,可能是这样吗?请尝试使用api流链接进行curl,并告诉我它是否有效,我可能已经发现了您的问题。我使用track=twitter并对其进行了测试,结果很好。您的机器中的时间正确吗?有一个已知的问题,本地机器和服务器机器的时间戳不匹配,服务器抛出401错误。我刚从签名生成器中取出“访问令牌”和“访问令牌机密”,401失败。至少再近一点。我以为这个应用程序只会运行吗?