Twitter API,多用户ID流

时间:2018-01-31 21:47:48

标签: javascript json node.js api twitter

我正在使用Node.js和Twitter API处理流数据。在我导入了正确的依赖项之后,这是我的代码:

param =  {track: 'syria'}
twitterClient.stream('statuses/filter',param,function(stream) {
  stream.on('data', function(tweet) {
   console.log(tweet.text)
  });

  stream.on('error', function(error) {
    console.log(error);
  });
});

如何将多个参数传递给“状态/过滤器”搜索?我希望能够按多个搜索字词进行过滤。我知道使用Twitter的REST API的“q”参数,你只需将它们作为单个字符串传递,用空格分隔。我已经尝试将它们作为STREAM API的数组传递,因为Twitter文档说here,但没有运气。

同样,我希望能够跟踪多个用户。现在,我正在使用“status / filter”参数将我的流缩小到一个用户,但我不知道如何传入多个用户ID。我的一个用户的代码如下所示:

 param =  {follow: '17594077'} // The ID of the account I want

 twitterClient.stream('statuses/filter',param,function(stream) {
   stream.on('data', function(tweet) {
      console.log(`Sent message: `, message.body);
   });

   stream.on('error', function(error) {
     console.log(error);
   });
 });

例如,当我尝试为Twitter ID传递多个值时,我的代码如下所示:

param =  {follow: ['17594077','239548513']} // The IDs of the account I want

 twitterClient.stream('statuses/filter',param,function(stream) {
   stream.on('data', function(tweet) {
      console.log(`Sent message: `, message.body);
   });

   stream.on('error', function(error) {
     console.log(error);
   });
 });

这给了我以下错误:

Error: Status Code: 401
    at Request.<anonymous> (/Users/harrisoncramer/Desktop/newBot/node_modules/twitter/lib/twitter.js:277:28)
    at emitOne (events.js:116:13)
    at Request.emit (events.js:211:7)
    at Request.onRequestResponse (/Users/harrisoncramer/Desktop/newBot/node_modules/request/request.js:1068:10)
    at emitOne (events.js:116:13)
    at ClientRequest.emit (events.js:211:7)
    at HTTPParser.parserOnIncomingClient [as onIncoming] (_http_client.js:551:21)
    at HTTPParser.parserOnHeadersComplete (_http_common.js:117:23)
    at TLSSocket.socketOnData (_http_client.js:440:20)
    at emitOne (events.js:116:13)

我做错了什么?

1 个答案:

答案 0 :(得分:1)

对于您的多用户请求,请尝试:

param = {follow: '17594077,239548513'}

来自api documentation

follow   optional   A comma separated list of user IDs,