将Twitter Streaming API连接到客户端

时间:2019-02-17 19:37:15

标签: javascript node.js twitter streaming

我正在制作一个React / Node.js应用程序,该应用程序将基于某个过滤器显示实时推文,并确定我需要使用Twitter的流API。不幸的是,经过一些研究,我发现Twitter的API不允许CORS,因此我只能从node.js服务器调用Twitter的API。

我已经设置了服务器来接收来自Twitter的流,并且一切正常,但是现在我需要将数据实时地发送到客户端。对于使用流而言,我不确定是什么最好的方法是每次服务器上的流获取新数据/ tweet时都使客户端保持更新。

对于如何处理此问题,我有一些模糊的想法,包括学习使用Web套接字或服务器发送的事件,但是我从未使用过这两种工具,因此我很难确定这是否是正确的方向。

如果有人对如何处理这种情况有任何建议,我将非常感谢。

我的服务器端代码如下...

// Node.js Server

const Twitter = require('twitter'); // Twitter for Node.js library

//initializing Twitter client
var client = new Twitter({
  consumer_key: 'my key',
  consumer_secret: 'my secret',
  access_token_key: 'token key',
  access_token_secret: 'token secret'
});

//accesses Twitter's statuses/filter streaming endpoint + parameters
var twitterStream = client.stream('statuses/filter', {
  track: 'rangers',
  language: 'en'
});

twitterStream.on('data', function(event) {
  // when the Twitter stream has new data how do I keep the client updated with it?
  console.log(event.text);
});

twitterStream.on('error', function(error) {
  throw error;
});

0 个答案:

没有答案