我正在尝试使用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' }
作为第二个参数,它会触发。那么为什么我不能关注我的帐户活动呢?
答案 0 :(得分:4)
跟随值必须是字符串
{ follow: 1234 }
变为:
{ follow: '1234' }
答案 1 :(得分:1)
此代码有效! 套餐:twit
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);
});
此代码也有效! 套餐:twitter
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);
});
答案 2 :(得分:0)
我认为这是因为没有用户将1234作为user_id
。
我的问题是console.log(' tweet',tweet)行永远不会触发,甚至 当我发推文或回复时。
确保您使用自己的user_id
follow
参数进行尝试。