1

我正在尝试使用 node.js 和 ntwitter 模块构建一个 Twitter 流应用程序,这是我的代码:

var app = require('express').createServer(),
twitter=require('ntwitter');

app.listen(3000);

var feed = new twitter({
consumer_key: 'MY KEY',
consumer_secret:'MY SECRET KEY',
access_tocken_key:'MY ACCESS TOCKEN KEY',
access_tocken_secret:'MY ACCESS TOCKEN SECRET'
});

feed.stream('statuses/filter',{track: ['love', 'hate']}, function(stream){
stream.on('data',function(tweet){
    console.log(tweet.text);
});
});

但这是我得到的:

events.js:74
    throw TypeError('Uncaught, unspecified "error" event.');
          ^
TypeError: Uncaught, unspecified "error" event.
at TypeError (<anonymous>)
at EventEmitter.emit (events.js:74:15)
at ClientRequest.<anonymous> (/Users/maximeheckel/Documents/My_Repositories/nodetwitter/node_modules/ntwitter/lib/twitter.js:251:14)
at ClientRequest.EventEmitter.emit (events.js:95:17)
at HTTPParser.parserOnIncomingClient [as onIncoming] (http.js:1628:21)
at HTTPParser.parserOnHeadersComplete [as onHeadersComplete] (http.js:119:23)
at CleartextStream.socketOnData [as ondata] (http.js:1523:20)
at CleartextStream.read [as _read] (tls.js:470:10)
at CleartextStream.Readable.read (_stream_readable.js:294:10)
at EncryptedStream.write [as _write] (tls.js:344:25)

我不明白为什么我会坚持这一点,因为我非常仔细地遵循了很多教程。即使当我克隆作者项目时,我仍然会收到此错误。

希望你能帮忙。

更新:我添加了

stream.on('error', function(error, code) {
    console.log("My error: " + error + ": " + code);
});

到我的流函数,我收到 HTTP 401 错误

有任何想法吗 ?

4

2 回答 2

2

除了传递给twitter. 您需要更改access_tocken_keyaccess_token_key和。您的错误 (401) 是身份验证问题;该更改有望导致 ntwitter 将正确的用户身份验证详细信息传递给 Twitter API。access_tocken_secretaccess_token_secret

于 2013-05-19T01:19:54.703 回答
0

我有同样的问题,这是因为我的服务器系统时钟已经浮动了六分钟。通常,API 会给您大约五分钟的误差范围。

于 2014-03-07T03:22:10.937 回答