Twitter 流 API 请求 node.js 错误状态代码 401:<anonymous>
Twitter stream API with node.js ERROR status code 401 at request: <anonymous>
我对 Twitter Streaming API 和 Node.js 还很陌生(我昨天才学的)。我正在尝试创建一个像这样 https://www.youtube.com/watch?v=5b98CC9IvZ8 的基本程序,用于从 Twitter 流式传输推文。我按照每一步操作,但出现此错误:
C:\Program Files\thesis>node twitter_collect.js
events.js:160
throw er; // Unhandled 'error' event
^
Error: Status Code: 401
at Request.<anonymous> (C:\Program
Files\thesis\node_modules\twitter\lib\twitter.js:277:28)
at emitOne (events.js:96:13)
at Request.emit (events.js:188:7)
at Request.onRequestResponse (C:\Program
Files\thesis\node_modules\request\request.js:1074:10)
at emitOne (events.js:96:13)
at ClientRequest.emit (events.js:188:7)
at HTTPParser.parserOnIncomingClient [as onIncoming]
(_http_client.js:473:21)
at HTTPParser.parserOnHeadersComplete (_http_common.js:99:23)
at TLSSocket.socketOnData (_http_client.js:362:20)
at emitOne (events.js:96:13)
下面是我的代码:
var twit = require('twitter'),
twitter = new twit({
consumer_key: 'Q7IcJHDBxWtmlqSj0JgublbaJ',
consumer_secret: 'ylnM1Cfed4WMLO0VCUoIZxoLt77LTNEiqQ1h1LAtWWdfWVM2sh',
access_token: '838296902739189760-E8ZMEDA6EYLrryIOEcx2Ud5CIZiBhJQ',
access_token_secret: 'qqLAa11ysBpl4tZauPzrsITmLdJWYHr22DwGKmCkN2MI5'
});
var count = 0,
util = require('util');
twitter.stream('filter', {track: 'love'}, function(stream){
stream.on('data', function(data){
console.log(util.inspect(data));
stream.destroy();
process.exit(0);
});
});
我找到了解决方案。
访问令牌有一个前缀,例如“44553093-DEfu2ftEiHfRopZsL0YXmTSrOHDuhgyZNzrSW8LqY”。您缺少前缀,即“44553093”。我也犯了同样的错误。
该页面的 UI 并不理想,因为令牌分为两行,很容易错过包含前缀的第一行。见下图。
这是一个较旧的post,但这对其他人仍然有帮助:
变化:
twitter.stream('filter', {track: 'love'}, function(stream){
收件人:
twitter.stream('statuses/filter', {track: 'love'}, function(stream){
我对 Twitter Streaming API 和 Node.js 还很陌生(我昨天才学的)。我正在尝试创建一个像这样 https://www.youtube.com/watch?v=5b98CC9IvZ8 的基本程序,用于从 Twitter 流式传输推文。我按照每一步操作,但出现此错误:
C:\Program Files\thesis>node twitter_collect.js
events.js:160
throw er; // Unhandled 'error' event
^
Error: Status Code: 401
at Request.<anonymous> (C:\Program
Files\thesis\node_modules\twitter\lib\twitter.js:277:28)
at emitOne (events.js:96:13)
at Request.emit (events.js:188:7)
at Request.onRequestResponse (C:\Program
Files\thesis\node_modules\request\request.js:1074:10)
at emitOne (events.js:96:13)
at ClientRequest.emit (events.js:188:7)
at HTTPParser.parserOnIncomingClient [as onIncoming]
(_http_client.js:473:21)
at HTTPParser.parserOnHeadersComplete (_http_common.js:99:23)
at TLSSocket.socketOnData (_http_client.js:362:20)
at emitOne (events.js:96:13)
下面是我的代码:
var twit = require('twitter'),
twitter = new twit({
consumer_key: 'Q7IcJHDBxWtmlqSj0JgublbaJ',
consumer_secret: 'ylnM1Cfed4WMLO0VCUoIZxoLt77LTNEiqQ1h1LAtWWdfWVM2sh',
access_token: '838296902739189760-E8ZMEDA6EYLrryIOEcx2Ud5CIZiBhJQ',
access_token_secret: 'qqLAa11ysBpl4tZauPzrsITmLdJWYHr22DwGKmCkN2MI5'
});
var count = 0,
util = require('util');
twitter.stream('filter', {track: 'love'}, function(stream){
stream.on('data', function(data){
console.log(util.inspect(data));
stream.destroy();
process.exit(0);
});
});
我找到了解决方案。
访问令牌有一个前缀,例如“44553093-DEfu2ftEiHfRopZsL0YXmTSrOHDuhgyZNzrSW8LqY”。您缺少前缀,即“44553093”。我也犯了同样的错误。
该页面的 UI 并不理想,因为令牌分为两行,很容易错过包含前缀的第一行。见下图。
这是一个较旧的post,但这对其他人仍然有帮助:
变化:
twitter.stream('filter', {track: 'love'}, function(stream){
收件人:
twitter.stream('statuses/filter', {track: 'love'}, function(stream){