节点twitter npm包

我已经通过npm安装了node-twitter,并创build了一个index.js文件,下面的代码。 当我在控制台中运行节点index.js我没有得到任何回应。 我已经包含了我自己的密钥和秘密,这似乎并不是问题。

var Twitter = require('twitter'); var client = new Twitter({ consumer_key: process.env.TWITTER_CONSUMER_KEY, consumer_secret: process.env.TWITTER_CONSUMER_SECRET, access_token_key: process.env.TWITTER_ACCESS_TOKEN_KEY, access_token_secret: process.env.TWITTER_ACCESS_TOKEN_SECRET, }); client.stream('statuses/filter', {track: 'nyc'}, function(stream){ stream.on('data', function(tweet) { console.log(tweet.text); }); stream.on('error', function(error) { console.log(error); }); }); 

您正在连接到Twitter的stream式端点之一,因此只有当某人在该时刻发布带有文本“nyc”的推文时才会看到更新。

我怀疑这不是你的意图,而是你想要search最新的包含文字'nyc'的推文,如下所示:

 client.get('/search/tweets.json?q=nyc', function(error, tweets, response){ if(error) throw error; console.log(tweets); }); 

TwittersearchAPI文档在这里 。 如果你真的想传播推文,我build议使用像forever.js这样的东西,让你的脚本运行足够长的时间来听取推文和输出。

编辑:由于您想在推送时发送推文,可以使用forever.js来保持脚本运行,如下所示:

 var forever = require('forever-monitor'); var child = new (forever.Monitor)('twitter.js', { max: 1, silent: false, args: [] }); child.on('exit', function () { console.log('twitter.js has exited after 3 restarts'); }); child.start(); 

其中twitter.js是在问题中发布的文件。 如果您想从指定时间向后或向前search,可以在Twitter API文档中find有关如何执行此操作的详细信息。