1

我正在尝试使用 Twitter api 来收听来自一位用户的推文 ( 1234)

twitterClient.stream('statuses/filter', { follow: 1234 }, (stream) => {
    stream.on('data', tweet => {
      console.log('tweet', tweet)
    })

    stream.on('error', error => {
      console.log('error', error)
    })
  })

这是 Twitter、node-twitter或 npm 上的“twitter”的节点包装器。

此功能的开发人员文档位于:https ://developer.twitter.com/en/docs/tweets/filter-realtime/api-reference/post-statuses-filter.html

我的问题是这console.log('tweet', tweet)条线永远不会触发,即使我在推特或回复时也是如此。但是,如果我{ filter: 'MyKeywordHere' }用作第二个参数,它会触发。那么为什么我不能关注我的帐户活动呢?

4

3 回答 3

4

跟随值必须是字符串

{ follow: 1234 }

变成:

{ follow: '1234' }
于 2017-12-15T13:23:33.550 回答
1

此代码有效!包:推特

var Twit = require('twit')


var TW = new Twit({
  consumer_key: '#####',
  consumer_secret: '#####',
  access_token: '#####-#####',
  access_token_secret: '#####',
  timeout_ms: 60 * 1000, // optional, HTTP request timeout to apply to all requests.
});

var TWId = '#####'; // string

var stream = TW.stream('statuses/filter', {
  follow: TWId
});

console.log('Waiting for tweets, Id:  ' + TWId);

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

此代码也有效!包:推特

var Twit = require('twitter')


var TW = new Twit({
  consumer_key: '#####',
  consumer_secret: '#####',
  access_token_key: '#####-#####',
  access_token_secret: '#####',
});

var TWId = '#####'; // string

var stream = TW.stream('statuses/filter', {
  follow: TWId
});

console.log('Waiting for tweets, Id:  ' + TWId);

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

stream.on('error', function (error) {
  console.log(error);
});
于 2017-12-15T08:28:31.727 回答
0

我认为这是因为没有用户使用 1234 作为user_id.

我的问题是 console.log('tweet', tweet) 行永远不会触发,即使我发推文或回复时也是如此。

确保您尝试使用自己的user_id作为follow参数。

于 2017-12-17T14:36:48.073 回答