我正在尝试通过给定的hashtag或关键字跟踪所有推文。问题是,当我使用像'animal'这样的简单关键字时,我可以流式传输推文,但是当我将其更改为'animal4666'时,它就不起作用了。没有收到回复。我正在使用下面的代码。
twit.stream('statuses/filter', { track: 'animal4666' }, function(stream) {
stream.on('data', function(data) {
console.log(util.inspect(data));
});
});
我从不同的帐户发了两条推文,如下:
'#animal4666 a'
'#animal4666试图找出发生了什么事?'
使用搜索API成功检索上述推文,但由于搜索API的速率限制,我需要使用流API,以便我可以使用node.js每两秒检查一次新推文
我使用的插件是node.js:https://github.com/jdub/node-twitter
有人可以帮忙吗?
答案 0 :(得分:1)
如果您查看正在使用的库的code,似乎没有任何可能的错误 它只在您在轨道参数中传递数组时有一个解决方法,但不是这种情况
// Workaround for node-oauth vs. twitter commas-in-params bug
if ( params && params.track && Array.isArray(params.track) ) {
params.track = params.track.join(',')
}
因此,查看official api docs的跟踪方法,我看到两个可能相关的警告。
每个短语必须介于1到60个字节之间。
我认为你的时间较短但需要注意
我认为你真正的问题是:
短语的精确匹配(相当于大多数搜索中的引用短语 引擎)不受支持。
标点符号和特殊字符将被视为该术语的一部分 它们毗邻。从这个意义上说,“你好。”是一条不同的轨道 期限比“你好”。但是,匹配将忽略存在的标点符号 推文。所以“你好”将匹配“你好世界”和“我的兄弟” 你好。“请注意,标点符号不被视为一部分 #hashtag或@mention,因此包含标点符号的跟踪词与#hashtags或@mentions不匹配。
您可以在线查看推文文字,看它是否与here
匹配