我最近在节点上安装了Twitter NPM,事实是它运行得很好,并且可以正确执行API的任务,但是,在控制台中,现在是我想要的时刻,稍后向您展示以消息将实时显示的格式。
为此,我已经查看了帖子的信息:Twitter streaming API for NodeJs并且我评论说它在控制台中效果很好。
我正在使用的文档如下:(https://developer.twitter.com/en/docs/tweets/filter-realtime/api-reference/post-statuses-filter.html)
我用来在控制台中正确查看的代码如下:
client.stream('statuses/filter', {track: '@el_pais'}, function(stream) {
stream.on('data', function(event) {
console.log(event && event.text);
});
stream.on('error', function(error) {
throw error;
});
});
我正在处理的代码如下:
twitterperfilesCtrl.streamPerfiles = async(req, res) =>{
const twitterPerfiles = await twitterPerfil.find();
const contadorPerfiles = await twitterPerfil.countDocuments();
for( var i = 0; i < contadorPerfiles; i++) {
if(twitterPerfiles[i].id){
var track = { screen_name: twitterPerfiles[i].screen_name };
client.stream('statuses/filter', {track}, function(stream) {
stream.on('data', function(event) {
console.log(event && event.text);
});
stream.on('error', function(error) {
throw error;
});
});
}
}
res.json(event.text);
}
使用我的代码,我打算遍历我拥有的所有配置文件,以便存储每个配置文件中发布的所有消息,然后按角度发布。
我发现的问题是,使用此代码,我看到错误状态代码:406 ,因为出现了该代码,因为返回数据的格式不正确,是我所了解的,但我不知道这些镜头是否真的可以绕过去。
显示的错误:
events.js:173
throw er; // Unhandled 'error' event
^
Error: Status Code: 406
at Request.<anonymous> (C:\...\Proyectos personales\Project\node_modules\twitter\lib\twitter.js:277:28)
at Request.emit (events.js:197:13)
at Request.onRequestResponse (C:\...\Proyectos personales\Project\node_modules\request\request.js:1066:10)
at ClientRequest.emit (events.js:197:13)
at HTTPParser.parserOnIncomingClient [as onIncoming] (_http_client.js:560:21)
at HTTPParser.parserOnHeadersComplete (_http_common.js:113:17)
at TLSSocket.socketOnData (_http_client.js:447:20)
at TLSSocket.emit (events.js:197:13)
at addChunk (_stream_readable.js:288:12)
at readableAddChunk (_stream_readable.js:269:11)
at TLSSocket.Readable.push (_stream_readable.js:224:10)
at TLSWrap.onStreamRead [as onread] (internal/stream_base_commons.js:145:17)
Emitted 'error' event at:
at Request.<anonymous> (C:\...\Proyectos personales\irisFMProject\node_modules\twitter\lib\twitter.js:277:14)
at Request.emit (events.js:197:13)
[... lines matching original stack trace ...]
at TLSWrap.onStreamRead [as onread] (internal/stream_base_commons.js:145:17)